Topics

SSD1309 2.4" Display with Teensy

tnut55
 

Has anybody been able to get the SSD1309 to work with a Teensy SHC?

I have been wrestling with this for several days.  I built a new Teensy on an older SHC v1.10 board.  I realize there is no pin 14 hole so I soldered a lead directly to pin 14 of the Teensy for the reset. 

Fundamentals:

STM32 Controller
Onstep v3.14e3

The new SHC works fine with a 1.3" display so that rules out common problems with the basic SHC I think.  I can program the SHC Teensy with the I2C scanner and added coded to reset pin 14 (using a .5 second delay LOW).  I can read the I2C code just fine.  I can also program a "Hello World" sketch and the display works.  I can program the SHC addon and the display will show the splash screen and go to the connection phase, where it fails since I am only on USB and the controller is not connected.

If I remove the USB and try the controller, all I get is blank.  I have checked voltages, grounds, 12.5khz tone, sda, sclk and reset signals throughout and all looks fine.

Now here is where it gets interesting.  The display is on a breadboard and I run jumpers to it from the SHC.  I used my pocket scope to check signals as I have done many times.

But this time, something was different.  I had a USB cable connected to the pocket scope to charge its internal battery.  When I hooked it up this time, the display started working.  I went through the splash, connected, and ran through the various menus all without a hitch.  All it takes to get this thing working is to attach my scope probe ground to the display ground while the scope is also connected to USB.  If I break that USB ground, it does not work.  I can't quite wrap my head around it but it is solidly repeatable.

BTW, I have another standard SHC that works well with this controller.

Anybody have any clues of what I can try next?  I suspect that maybe the display is not getting initialized properly on startup?

Khalid Baheyeldin
 

Starting with the basics ...

Did you modify the SHC's Config.h to have this:

#define DISPLAY_OLED SSD1309

tnut55
 

Absolutely.

I also went to all the areas of the code Howard updated 12/31 to make sure my copy of Onstep contained all the correct support for the ssd1309.

I'm wondering if the reset pulse is long enough or deep enough to initialize the display without that usb ground attached.


On Sun, Feb 9, 2020 at 2:42 PM, Khalid Baheyeldin
<kbahey@...> wrote:
Starting with the basics ...

Did you modify the SHC's Config.h to have this:

#define DISPLAY_OLED SSD1309

Jerry
 

Could be the breadboard. They can mess things up sometimes. Try getting some jumpers and connect without a breadboard. 

-Jerry

On Feb 9, 2020, at 12:51 PM, tnut55 via Groups.Io <tnut55@...> wrote:

Absolutely.

I also went to all the areas of the code Howard updated 12/31 to make sure my copy of Onstep contained all the correct support for the ssd1309.

I'm wondering if the reset pulse is long enough or deep enough to initialize the display without that usb ground attached.


On Sun, Feb 9, 2020 at 2:42 PM, Khalid Baheyeldin
<kbahey@...> wrote:
Starting with the basics ...

Did you modify the SHC's Config.h to have this:

#define DISPLAY_OLED SSD1309

tnut55
 

Already did that too.  Had to put it on breadboard for easy access.

Also, failed to mention earlier, ran "hello world" and I2C scanner sketches fine with an arduino minipro on breadboard.


On Sun, Feb 9, 2020 at 3:34 PM, Jerry
<jerry.biehler@...> wrote:
Could be the breadboard. They can mess things up sometimes. Try getting some jumpers and connect without a breadboard. 

-Jerry

On Feb 9, 2020, at 12:51 PM, tnut55 via Groups.Io <tnut55@...> wrote:

Absolutely.

I also went to all the areas of the code Howard updated 12/31 to make sure my copy of Onstep contained all the correct support for the ssd1309.

I'm wondering if the reset pulse is long enough or deep enough to initialize the display without that usb ground attached.


On Sun, Feb 9, 2020 at 2:42 PM, Khalid Baheyeldin
<kbahey@...> wrote:
Starting with the basics ...

Did you modify the SHC's Config.h to have this:

#define DISPLAY_OLED SSD1309

Howard Dutton
 

tnut55
 

PROBLEM SOLVED!

The Onstep code works great for the SSD1309 and Teensy as is, thanks Howard.

Sometimes you trust some equipment too much.  In my case, I trusted my laptop style 24v power adapter implicitly since I have been using it for quite some time.  However, replacing it with a Meanwell 24v power supply module was the solution.  Powered right up the very first time.

tnut55
 

Yes I did...many times.

For the benefit of others who try to figure out just how to convert the DIYMore display (shipped as SPI), the DIYMore website has more detail.  They say R5 should be shunted, the 4.7k resistor at R4 should be moved to R3.

There is also a set of open pads for R7.  That can be shunted or left open, doesn't matter.  

The DC pin can be used to set the I2C address.  If let floating or pulled up high, the address is 0X3D, if pulled down, the address is 0X3C.


On Mon, Feb 10, 2020 at 10:41 AM, Howard Dutton
<hjd1964@...> wrote:

Charles
 

for every one
just take a look here:
 
charles
 
 
Gesendet: Montag, 10. Februar 2020 um 18:04 Uhr
Von: "tnut55 via Groups.Io" <tnut55@...>
An: "main@onstep.groups.io" <main@onstep.groups.io>
Betreff: Re: [onstep] SSD1309 2.4" Display with Teensy
Yes I did...many times.
 
For the benefit of others who try to figure out just how to convert the DIYMore display (shipped as SPI), the DIYMore website has more detail.  They say R5 should be shunted, the 4.7k resistor at R4 should be moved to R3.
 
There is also a set of open pads for R7.  That can be shunted or left open, doesn't matter.  
 
The DC pin can be used to set the I2C address.  If let floating or pulled up high, the address is 0X3D, if pulled down, the address is 0X3C.
 
 
 

On Mon, Feb 10, 2020 at 10:41 AM, Howard Dutton
<hjd1964@...> wrote: