Tag Archives: Tech

OLED screen

oled.jpgIn order to get some feedback with my sensor project and to avoid sending images from a microcontroller with camera to a PC I needed a small easy to use screen. So I found this link it is a small oled screen with a simple ttl serial interface. After a litte arguing I found it really easy to get going using an Arduino. There are some tutorials on line, but be careful because they assume that the screen can be powered off an Arduino i/o pin, which I think is capable of 40mA. The oled needs 40mA so its pushing its luck a bit. I found that although it seemed to power on it did not operate correctly on the Arduino i/o so had to supply a separate 5v. The disadvantage is you cannot control when the screen is powered, i.e. listening for serial commands, when you download a new program to the arduino, which uses the same serial pins. This means the download wont work because the screen is interfering with the comms. So for now i just manually remove the serial wires going to the screen during download of a new program. This is easily solved using a transistor that supplies more than 40mA.

Wiring is simple. Infact you dont really need the resistor. Its supply of 5v, Rx, Tx, ground and a reset line that is pulled low to restart the screen.

uOLED-Connections.jpg

Talking to the screen can only be done once the screen has completed a few second long start up procedure. After that you send 0×55 to configure the auto baud rate facility. From here you just send simple commands from the command list in the documentation. You can draw simple shapes as lines or solid. Some operations take longer than others and so you may find you need to wait a while or your command will be missed out. The downside is the screen can seem a little slow. Its not suited to anything needing quick animation. Changing the background colour or clearing the screen can take 2 or 3 seconds.

I will put an Arduino library of code onto my google code repository that should wrap most of the functionality of the screen once its completed. I will edit this post with a link as and when.
[edit] Code can be found here google code