PDA

View Full Version : Mini-HowTo Tx memory expansion/PC interface anyone?


Jenny2657
Mar 07, 2006, 03:03 PM
After seeing this post and becoming inspired: http://www.rcgroups.com/forums/showthread.php?t=151635&pp=15&highlight=6xa+memory
and this one: http://www.rcgroups.com/forums/showthread.php?s=&threadid=152854 , I became interested in expanding the memory capacity of my Futaba 6XAS, and hopefully putting off buying yet another transmitter for at least a little while. While thinking about this, I decided that I also wanted the ability to copy the contents of the memory chips to and from my PC for backup, and for copying data to and from the internal and external memories via the PC. It also occured to me that the popular freeware program, IC-Prog includes the 24C04 serial EEPROM in its supported devices list. I've discovered that this chip is what the T6XA uses, and that my friend's Airtronics VG6000 uses the chip's bigger sister, the 24C08. Both of these chips are IIC serial "two-wire" eeproms, with no large address or data buses to hand-wire. I suspect that this mod will work on any transmitter that uses these devices.

I also didn't want to make any unsightly permanent modifications to the case and I didn't want to add or reassign any switches, and I feel that I've come up with a somewhat elegant solution to those requirements. The end result is a small connector, hot-glued to the front of the transmitter for expansion modules and a small four-pin PC inteface connector underneath the battery cover.

That said, I wouldn't recommend this modification to anyone not familiar with basic electronic skills and knowledge, as it does involve cutting one trace on the PC board and involves constructing a very small circuit that must fit into a small space. Also, I haven't flown any aircraft with this transmitter as of yet, although it does function normally and the modification does work as intended. I don't anticipate any problems with this transmitter in flight, unless anyone can pose any potential problem.

Attached is a schematic and text file, and I will post photos of the modification if anyone is interested.

Jen >^..^<

Chippie
Mar 07, 2006, 03:30 PM
Great article...Would it be possible to use the larger 24C16 eeprom ? Or are the address limitations when reading/writing?

MX
Mar 07, 2006, 03:33 PM
You could make one module with up to 4 24C04 chips and add a switch or jumpers to select which chip to address. The switch would change the A2 and A1 bits so that only the selected chip is addressed at 0xA0.

MX

Jenny2657
Mar 07, 2006, 03:36 PM
I doubt that there would be a problem; if the Tx already uses a 24C16, without looking at the datasheet, it just depends on whether the select pins (A0-A2) are used for device selection. Those pins are not functional on the Microchip 24LC04 that is installed in the Tx and are simply connected to ground. If your intent is to install a larger than normal chip, whether the transmitter will see a larger than original memory space is up to the firmware in the Tx.

Jen >^..^<

Jenny2657
Mar 07, 2006, 03:46 PM
You could make one module with up to 4 24C04 chips and add a switch or jumpers to select which chip to address. The switch would change the A2 and A1 bits so that only the selected chip is addressed at 0xA0.

MX

Very possible, but with two more wires to a larger connector and another switch, also some manufacturers do not implement the A0-A2 lines. You'd have to find a specific brand of chip that uses those pins. It would probably be easier and simpler to use the switch or jumper to connect the clock line to an individual chip, rendering the others on the module into a passive state, just don't forget the pullup resistor for each clock input.


Jen >^..^<

MX
Mar 07, 2006, 05:12 PM
Very possible, but with two more wires to a larger connector and another switch, also some manufacturers do not implement the A0-A2 lines. You'd have to find a specific brand of chip that uses those pins. It would probably be easier and simpler to use the switch or jumper to connect the clock line to an individual chip, rendering the others on the module into a passive state, just don't forget the pullup resistor for each clock input.


Jen >^..^<

No, I'm talking about making your external memory module with 4 chips that are selectable by making one of the 4 chips addressed at 0xA0. Like the picture below. Put jumper on one of the 4 pairs of pins to select a chip. This assumes the internal chip is disabled. No extra wires come out of the Tx, only SCL, SDA, Gnd, VCC.

MX

Edit: You should only change jumpers with power off.

Jenny2657
Mar 07, 2006, 05:42 PM
No, I'm talking about making your external memory module with 4 chips that are selectable by making one of the 4 chips addressed at 0xA0. Like the picture below. Put jumper on one of the 4 pairs of pins to select a chip. This assumes the internal chip is disabled. No extra wires come out of the Tx, only SCL, SDA, Gnd, VCC.

MX

Edit: You should only change jumpers with power off.

Looks good. I will have to try that, since I do have a few 24LC04s in the SOIC package, so it could still be made very small. I still don't think the A0-A2 are functional on the Microchip version of the chip though, at least that's according to Microchip's datasheet, which could be a problem. As long as there isn't a clock signal going to the chip, it just sits idle, so your suggestion would still work, using the clock inputs to select which chip rather than the A2 pin.

Jen >^..^<

MX
Mar 07, 2006, 05:53 PM
Ahh, I was looking at the Atmel version, where A0 is non-functional, but A1 & A2 still change the address. Yes, on the microchip version you'd have to switch the clock instead.

MX

Jenny2657
Mar 07, 2006, 11:03 PM
Great article...Would it be possible to use the larger 24C16 eeprom ? Or are the address limitations when reading/writing?

I just checked the data sheets for the 24C16 from ISSI, Atmel, and Microchip. Like the 24C04, the functionality of the A0-A2 pins (pins1-3) depend on the manufacturer.

So my answer is "probably." You'll have to trace out the chip in your Tx and see if the pins are used, or simply tied to + or ground. If they are used, you could probably just tie the A0-A2 lines from each chip together in a bus fashion and use my circuit, or fashion some kind of addressing system, using those pins.


Jen >^..^<