I’ve just begun working on a new project and I’ve very briefly been playing with a 4D Systems serial display (the uLCD-32PTU to be precise), ordered from Sparkfun. I figured there was no way I was gonna drop any coin on their proprietary 4D Programming cable, because from what I read it just uses a standard FTDI chip. Fortunately I had my Arduino Duemilanove kicking around, which has the USB interface with a built in FTDI controller (as do most Arduino boards) .
This one’s dead simple, so long as you have a removable ATMega chip in your Arduino.
For Arduino’s with removable chips:
- Remove the ATMega chip
- Connect +5V, GND, Rx, Tx, and RESET straight from the serial display to the appropriate, matching pins of the Arduino’s header. You might mix the Rx and Tx up like I did the first time around; Rx on the display goes through the line marked Tx on the included 5-pin header cable and connects to Rx on the Arduino (so, ignoring the cable, Rx to Rx). Same idea for the Tx line.
If your chip isn’t removable, it’s more complicated (and might not work):
- Disable the ATMega chip by tying the RESET line to GND.
- Do the same as step 2 above, but do not connect the RESET line.
- The 4D Serial Display requires a momentary RESET pulse before the code can be loaded onto it (this is the DTR leg of the FTDI controller). Unfortunately, the DTR leg was tied to GND in step 1. You’ll have to manually trigger the RESET on the serial display right before it’s programmed. To do that you have to connect the display’s RESET to GND momentarily, right before the code download is initiated. It’s a matter of good timing (and would really, really suck for development purposes).
Of course, this could be applied to any board that is programmed through an FTDI controller. Hope it helps someone.