Skip to main content
Topic: 1.3" OLED with SSD1306 controlled by Bus Pirate (Read 7595 times) previous topic - next topic

1.3" OLED with SSD1306 controlled by Bus Pirate

Hi,

I wrote a quick Python script to communicate with an SSD1306 driven OLED connected to a PC with a Bus Pirate.  The script uses the Bus Pirates raw SPI mode and manages to update the little screen slightly faster than 10 times per second.

[attachment=1]
A short video is available on YouTube: http://youtu.be/IW9tv4I_nFg

Please find the code attached.

Cheers,
Markus

Re: 1.3''OLED with SSD1306 controlled by Bus Pirate

Reply #1
exactly what I have been wanting to do.. I have an OLED and a Bus pirate v4... where do I get the circuit... for the OLED interface.. or make it..?? source?

THANKS.

Re: 1.3''OLED with SSD1306 controlled by Bus Pirate

Reply #2
Please find the Eagle files and Gerbers attached.  The design is based on one from Adafruit sans the level shifter and other cruft I didn't need :)

[attachment=1]
[attachment=0]
A few things to note: If I would make the PCB again, I would add the charge pump circuitry which I piggybacked onto the current design.  The SSD1306 has a charge pump already included, but it is too weak for my preferences and the brightness is too dim without an externally supplied voltage.  (Pin 28 has a potential of about 6 V to 7 V with the internal charge pump -- my external one provides 12 V.)  So C3 and C4 can be left unpopulated, when not using the internal charge pump.

Also, I found that it is ok to just shorten R3.  It gives a little bit of additional brightness, and the rest seems to work fine.

From the outline I would further remove the "wings" for the screw-holes completely.  I don't use them and I don't like their look.

Hope this helps.  Cheers,
Markus

Re: 1.3" OLED with SSD1306 controlled by Bus Pirate

Reply #3
THANKS... I will try to get this on a single sided PCB and make it this weekend or during the next week - hope I remember to put back my update here later....

Re: 1.3" OLED with SSD1306 controlled by Bus Pirate

Reply #4
[attachment=0]
so this is what I came up with - re-did the circuit, single sided, had to invert the connector to make the tracks simpler - I hope it gets made properly with my toner transfer method.

Then the testing will start.

For the time being, i am going for minimum working, so honestly, i don't have any requirement about the brightness etc so keeping all default things...  boost circuit and what not

Re: 1.3" OLED with SSD1306 controlled by Bus Pirate

Reply #5
By changing the default serial connection speed between the PC and the Bus Pirate from 115200 to 1000000 baud, the frame rate is now increased to 60+ FPS :)

YouTube Video here: http://youtu.be/W0LWcp4OUJQ

Python script attached below.

Cheers,
Markus

Re: 1.3" OLED with SSD1306 controlled by Bus Pirate

Reply #6
Hi Markus,
how did you soldered the OLED to the board? direct soldering or using an FPC connector (socket)? (some photos wil be welcome)

Re: 1.3" OLED with SSD1306 controlled by Bus Pirate

Reply #7
The first posting in this thread has the photo showing the OLED soldered directly onto the PCB.