Driving an AdaFruit SSD1306 OLED display with a netduino [reloaded]

neduino ssd1306 driver

I ported adapted the Arduino driver written by Limor Fried for the SSD1306 monochrome OLED display to the netduino last week back in January.

At the time, I could not figure out why I was unable to communicate with the display over hardware SPI and had resorted to bit banging data, which was quite slow as you can see:

Last night, I revisited the driver and figured out the issue I had in January. I overhauled the code which now works properly @ 40 MHz using hardware SPI.

Here’s a video of the new driver in action:

Connecting the display to the netduino

SSD1306 VDD ->netduino 3.3 volts power

SSD1306 VBAT ->netduino 3.3 volts power

SSD1306 CS -> netduino D10 (or other Dx pin)

SSD1306 RESET -> netduino D9 (or other Dx pin)

SSD1306 D/C -> netduino D8 (or other Dx pin)

SSD1306 CLK -> netduino D13

SSD1306 DAT -> netduino D11

The driver and the sample code is located at http://netduinohelpers.codeplex.com/

Happy hacking!

Post edited on June 1st 2011.

Using an AdaFruit OLED display on a Boarduino without a level shifter

Limor's Playground

AdaFruit released a monochrome OLED screen last week and I wanted to test it with a netduino. So, I ported the Arduino driver written by Limor to C#, wrote a basic test app, soldered header pins to the OLED display, hooked it up to my netduino  and… nothing happened. It became clear that I needed to test the OLED display on an Arduino first to make sure that the screen was not defective in the first place.

I had on hand a Boarduino that I had previously upgraded with an Atmega328 and hacked to run on 3.3 volts instead of 5 volts, removing the need to use the level-shifter provided with the OLED display.

Here’s what ‘Frankenduino’ looks like:

The 'shoehorned' 3.3v voltage regulator 🙂

Brain transplant

Frankenduino and OLED display

That's a tiny display!


A few minutes later, I had my answer and the OLED display isn’t the problem here 😉

I’ll post an update soon when I have figured out my netduino driver issue…