Showing posts from 2012

TI Stellaris Launchpad

My Stellaris Launchpad finally arrived the other day. I ordered it back when they were under £4 each several months back. They're now about £10, which still isn't bad.

The example software bundle is over 340MB and requires signing up for an account, along with requesting 'permission' to see the code. The drivers seem to be BSD licensed, but the example programs cannot be redistributed. I also tried to get the popular 'Code Sourcery' GCC compiler they recommend but all I got was login screens and talk of professional versions.

Screw that.

On Github you will find my solution. You can use either the ARM Linux toolchain in the Ubuntu repostories (yes, even for bare-metal programming) or fetch the one built by ARM. No click throughs. No legalese. Just free software. The bits I wrote are even under the MIT license so you can crib away, guilt-free.

So far, the example flashes an LED and changes the colour if you press either of the buttons. I think I'll build up a…

Jaguar / Alpine AJ9500R radio / cassette

There was a slight mistake in the last pinout, which I've now corrected. Looking at other Alpine M-BUS pinouts (search for S601 on this page), it appears to be exactly as per the standard, except they've swapped the central ground pin with the M-BUS data pin. I suppose this is to thwart those trying to add a generic Alpine changer.

While I've got all my electronics stuff over the dining room table, I thought I might take the AJ9500R radio apart and try and find out why it has sporadic memory failures. The symptoms are, no control over volume on power up and, if it's been unplugged, inability to recognise the correct radio code (although when that happens it also doesn't record the incorrect attempts count so you can just power cycle it and try again). I'm guessing this is a failure of the EEPROM memory.

Here's the PCB. The EEPROM is the X24C01 in the centre labelled IC502.

There are datasheets online. I might try and tack on a tiny wire and monitor the I2C…

Moving in a different direction

I recently purchased a 1995 Jaguar Sovereign (you might know it as a Jaguar XJ, but the Sovereign spec doesn't actually wear an XJ badge anywhere). It has a CD changer in the boot and a radio/cassette in the dash. The radio is rumoured to only accept a specific model of CD changer while using the Alpine M-BUS protocol. What I want to do is build an M-BUS to UART adaptor out of an Arduino, or a TI Stellaris Launchpad (mine's on back order) and use that to control a Raspberry Pi running an MP3 playback daemon. Six disc buttons gives you six playlists and the skip forwards / backwards should be usable too.

While I wait for the Launchpad, I've been putting my Arduino to use trying to probe the data pins, without too much success I might add. What I have managed to do is:
Build a 5V switch-mode power supply to turn the car's 12V (or actually 10V to 14V) supply into something the Arduino (and a Raspberry Pi) can handle. I'm using the LM2576 of which I picked up three off …

Pull down

Just as a quick note to myself: the UDN2981 requires pull down resistors as the inputs are not allowed to float when Vcc is powered. A SIP resistor pack should sort that without taking up too much space.


It turns out you can get relays from Farnell for about 55p each. You need two SPST relays per point, plus something that can switch the 30mA coil current @ 12V DC. Having played about with PCB schematics and vero-board layouts, I'm starting to think relays would be a more robust option than the L293 drivers. It also frees me up to purchase standard Peco motors rather than the 2A 'E' high-efficiency motors, and reduces concerns with regard to supplying the motors from a capacitor discharge unit. I may even be able to throw two points in a crossover on one output. Whereas the signals are common cathode, the relays are single coils which work in either polarity. As the UDN2981 (8 way high-side switch) and ULN2803 (8 way low-side Darlington array) are largely pin compatible - you just need to switch the GND and 12V over - I can use the cheaper ULN2803 fitted to the signal control boards for controlling the relays, which reduces the BOM by a couple of pounds per board. Then al…