Netduino home hardware projects downloads community

Jump to content

The Netduino forums have been replaced by new forums at This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.


Member Since 23 Mar 2013
Offline Last Active Apr 16 2013 02:20 AM

Topics I've Started

SSD1306 display issue with Gen1 board

28 March 2013 - 09:35 PM

Let me start off by saying that I'm really new to netduino so most of what's going to be said will go right over my head, but I'm a quick learner and I know my way around the .Net environment enough to get myself into trouble.


I got an Adafruit SSD1306 OLED 128x64 screen and I'm having trouble getting it to work right.  I posted on the adafruit forums and adafruit_support suggested I post here to get further help.  That post in it's entirety can be found here :  http://forums.adafru...hp?f=47&t=38445


To summarize, I have a Gen1 Rev. B Netduino running firmware using VS2012 and the beta 4.3 drivers/software.  I used the sample project and the ported ssd1306 driver that Fabien did, loaded them up in a project, and deployed.  Info on Fabien's wiring and drivers and what not can be found here : http://fabienroyer.w...ith-a-netduino/


The only difference is the SSD1306 I have is version 2.1 and it looks like Fabien used an older version.


I thought i had the problem fixed, I was just lucky.  First off Fabien ran his SPI clock speed setting at 40000 to get it to work, but when I do that the screen is all garbled and shifted (when it works at all, more on that in a sec).  If I run the SPI clock at 20000 or less then the output is clear, but randomly it will shift up/down vertically and stay there until I power down the netduino and power it back up, in which case it will either not power on the OLED, or it will shift it the same way, or it will shift it more/less.  What I mean by shifting is the top 10-50% of the output will be displayed physically on the bottom of the screen.  Then there is the problem of it deciding not to power on at all, because when it does this I have to boot the netduino up into TinyBooter and wipe the deployment cache then redeploy, although somethings I have to do to a few times and most recently I had to move the SSD1306 and all connections to a different part of my breadboard  to get it to work.


I used a multimeter and verified I am getting proper power to my power leads and that I don't have any bridged solder joints on the SSD1306 pins I had to solder on.  I even sucked all the solder off and re-did them.  I also tried 5v and 3.3v with same results.  I have tried changing out all the wires from netduino to breadboard multiple times, tried different holes in the breadboard, tried a different breadboard altogether, tried everything I can think of hardware wise to no avail.  Software wise I have tried many different SPI clock speeds ranging from 100-60000 (60k locked up the netduino, had to tinyboot it to recover) with no luck, and anything over ~24k gives me a garbled output (though still legible).


The weirdest part about it is the fact that if I unplug the power from the netduino and plug it back in I will often get a different output on the OLED screen (though not always)


I ordered a Netduino 2 board today, while I don't think this is the issue I figured why not since I'm going to end up ordering another one at some point anyhow, so I just pulled the trigger now.


The post I linked to on Adafruit has pictures of the wiring and solder joints if anyone wants to take a look at those.


The way it's wired up :

SSD1306 Data --> D11
SSD1306 Clk -- > D13
SSD1306 DC --> D8
SSD1306 Rst --> D9
SSD1306 CS --> D10
And then the power leads to 3v3 or 5v, and gnd to gnd

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.