uOLED progress

Months ago I purchased 4D Systems’ 1.7″ uOLED from Sparkfun. As you can see it’s an amazing little piece of hardware.
uOLED
The resolution is 160×128, 65K or 262K colours, and the interface is serial RS-232 making it easily wirable to a microcontroller or pretty much anything that can send serial commands.

I struggled to get it to function correctly, unable to predict its behaviour even when repeating the same actions – I was doing something wrong. I left it for a while and eventually ordered the ‘uUSB-CE5′ USB to RS232 converter so I could update the firmware from a Windows PC.

The USB converter came last week (after the wrong part was sent in May. Sparkfun were quick to correct this and I appreciate their excellent service) so I flashed the uOLED to its latest firmware and set about trying to communicate with it with my ATmega8.

Once again no success after two nights of poking about and checking & double-checking code, so I did some reading and got some ideas about why other people have had issues. Most of them relate to something wrong with the serial connection causing the auto-baud feature to not correctly ‘lock on’ to the serial signal. You see, the uOLED serial interface can run at serial speeds between 300 to 256K baud. To configure it to a certain baud your micro must send it the ASCII character “U” (56 hex) after a minimum of 500ms (allowing the uOLED to ‘boot’).

Problems arise if the serial lines are not stable when the display begins checking for “U”.
This was my problem – my serial lines were floating in the time before the microcontroller got controll of them, and the display was misinterpreting the garbage as a signal. I noted that a fellow who had wired a Telit GSM module to an ATmega8 had tied his serial lines high (connected them to the + power rail) with 10kohm resistors. I tried the same thing, cleaned up my messy “it’s not working and I’m getting frustrated” code and immediately had solid, reliable control over my OLED display.

Success! Now some tedious work to write various lower-level routines for the screen. My motivation for that will come – I’m just really glad I managed to get the comms working.

Special thanks, if you happen to read this one day, to Alexander at Tinkerlog!

1 Responses to “uOLED progress”


Leave a Reply