Adafruit is open and shipping! Let's build back better, together!
0

Is this a blown OLED Featherwing?
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Re: Is this a blown OLED Featherwing?

by adafruit2 on Fri Nov 13, 2020 12:36 am

you could try slowing down the i2c rate, its usually 400khz (clkDuring)
https://github.com/adafruit/Adafruit_SS ... 306.h#L129

Code: Select all | TOGGLE FULL SIZE
Adafruit_SSD1306(uint8_t w, uint8_t h, TwoWire *twi = &Wire,
                   int8_t rst_pin = -1, uint32_t clkDuring = 400000UL,
                   uint32_t clkAfter = 100000UL);

adafruit2
Site Admin
 
Posts: 19499
Joined: Fri Mar 11, 2005 7:36 pm

Re: Is this a blown OLED Featherwing?

by BDL on Fri Nov 13, 2020 11:27 am

Thanks, so slowing down to 200KHz the instantiation should be:
Code: Select all | TOGGLE FULL SIZE
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 32, &Wire, -1, 200000UL, 100000UL);

Is this correct?

If I want the reset pin active, how is the value set? Right now it is -1. rst_pin = ? For the IB M4 that would be?

It compiles on the M4 ItsyBitsy, but I still get a garbled lower display. Tried (400k,100k), (200K,100K), (100k, 100k) and (10k,10k). No luck, bottom half is garbled.

Maybe this is due to messed up libraries. In a correctly configured system, (on linux) where should the libs be located? For some reason, I see libraries in both .arduino15, and Arduino/libraries, is this right?
Code: Select all | TOGGLE FULL SIZE
Multiple libraries were found for "Adafruit_ZeroDMA.h"
 Used: /home/xxx/.arduino15/packages/adafruit/hardware/samd/1.6.4/libraries/Adafruit_ZeroDMA
 Not used: /home/xxx/Arduino/libraries/Adafruit_Zero_DMA_Library
Using library SPI at version 1.0 in folder: /home/xxx/.arduino15/packages/adafruit/hardware/samd/1.6.4/libraries/SPI
Using library Adafruit_ZeroDMA at version 1.0.4 in folder: /home/xxx/.arduino15/packages/adafruit/hardware/samd/1.6.4/libraries/Adafruit_ZeroDMA
Using library Wire at version 1.0 in folder: /home/xxx/.arduino15/packages/adafruit/hardware/samd/1.6.4/libraries/Wire
Using library Adafruit_GFX_Library at version 1.10.2 in folder: /home/xxx/Arduino/libraries/Adafruit_GFX_Library
Using library Adafruit_SSD1306 at version 2.4.0 in folder: /home/xxx/Arduino/libraries/Adafruit_SSD1306
Using library Adafruit_BusIO at version 1.6.0 in folder: /home/xxx/Arduino/libraries/Adafruit_BusIO
/home/xxx/.arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/arm-none-eabi-size -A /tmp/arduino_build_619855/OLED_featherwing.ino.elf

BDL
 
Posts: 118
Joined: Wed Jan 09, 2019 10:45 pm

Re: Is this a blown OLED Featherwing?

by adafruit2 on Fri Nov 13, 2020 11:35 am

yeah we have no idea what it is - and you're the only person to have this issue so we're really mystified! :/

adafruit2
Site Admin
 
Posts: 19499
Joined: Fri Mar 11, 2005 7:36 pm

Re: Is this a blown OLED Featherwing?

by suss743 on Fri Nov 13, 2020 1:54 pm

I've just spent the last week fighting this same problem with my Adafruit FeatherWing OLED 128x32 OLED (product 2900) on a Adafruit Feather M0 WiFi - ATSAMD21 + ATWINC1500 (product 3010). The bottom half of the display is either blank or filled with random pixels. This is on a clean install of the newest Arduino IDE (1.8.13) , with both Arduino and Adafruit SAMD boards added (1.8.9 and 1.6.4).

The problem is with the latest (1.6.4) Adafruit SAMD board software. This was just released 8 days ago on Nov. 5, 2020.

Try this solution: Go to Board Manager. Go to the Adafruit SAMD board. Click the Remove button. Re-install board, but manually select ver. 1.6.3. This fixed the problem for me.

I think Version 1.6.4 Adafruit SAMD boards needs to fixed ASAP if this solves the problem for everyone. All of the sample codes in the IDE for the OLED now run fine for me.

Dave

suss743
 
Posts: 3
Joined: Tue May 16, 2017 4:22 pm

Re: Is this a blown OLED Featherwing?

by BDL on Fri Nov 13, 2020 2:30 pm

I have a scope which if I set it up right can decode i2c. Does I2C trigger on rising edge of SCL? All the traffic is being decoded on address 0x78, which appears to be the display.
I had to alter the code so it wouldn't squawk during the loop. Just to see the initialization. Did not want to see all the display.display traffic in the loop. Single sweep on scope

This is what I decode with the M0 wifi board. I was able to capture some i2c traffic
Code: Select all | TOGGLE FULL SIZE
#  time       Add   R/W   Data
1  -1.254us   0x78  W     0x00 AE D5 80 A8
2  156.14us   0x78  W     0x00 1F
3  245.86us   0x78  W     0x00 D3 00 40 8D
4  403.11us   0x78  W     0x00 14
5  491.84us   0x78  W     0x00 20 00 A1 C8
6  649.25us   0x78  W     0x00 DA
7  732.08us   0x78  W     0x00 02
8  814.91us   0x78  W     0x00 81
9  897.76us   0x78  W     0x00 8F
10 980.58us   0x78  W     0x00 D9
11 1.06356ms  0x78  W     0x00 F1
12 1.15958ms  0x78  W     0x00 DB 40 A4 A6 2E AF

Data looks clean at the rising edge of SCL. Voltage levels at 0-3V. Successive Data captures are decoded the same. Anyone?
Attachments
PXL_20201113_172133563_resized.jpg
I2C capture - continuously runs when code is in loop area
PXL_20201113_172133563_resized.jpg (221.48 KiB) Viewed 20 times

BDL
 
Posts: 118
Joined: Wed Jan 09, 2019 10:45 pm

Re: Is this a blown OLED Featherwing?

by BDL on Fri Nov 13, 2020 2:31 pm

suss743 wrote:I've just spent the last week fighting this same problem with my Adafruit FeatherWing OLED 128x32 OLED (product 2900) on a Adafruit Feather M0 WiFi - ATSAMD21 + ATWINC1500 (product 3010). The bottom half of the display is either blank or filled with random pixels. This is on a clean install of the newest Arduino IDE (1.8.13) , with both Arduino and Adafruit SAMD boards added (1.8.9 and 1.6.4).

The problem is with the latest (1.6.4) Adafruit SAMD board software. This was just released 8 days ago on Nov. 5, 2020.

Try this solution: Go to Board Manager. Go to the Adafruit SAMD board. Click the Remove button. Re-install board, but manually select ver. 1.6.3. This fixed the problem for me.

I think Version 1.6.4 Adafruit SAMD boards needs to fixed ASAP if this solves the problem for everyone. All of the sample codes in the IDE for the OLED now run fine for me.

Dave

Thanks Dave! Yeah, freaking libraries. I'll try that and report back!

BDL
 
Posts: 118
Joined: Wed Jan 09, 2019 10:45 pm

Re: Is this a blown OLED Featherwing?

by BDL on Fri Nov 13, 2020 3:07 pm

Problem and solution confirmed! Reverting to 1.6.3 worked! Perfect display on M0 WiFi ATWINC1500!
There's a problem with the 1.6.4 Adafruit SAMD Boards package.
Now testing on M4 Express: 1.6.4 failed to drive display correctly. 1.6.3 Adafruit SAMD Boards package does drive display correctly.

BDL
 
Posts: 118
Joined: Wed Jan 09, 2019 10:45 pm

Re: Is this a blown OLED Featherwing?

by adafruit_support_carter on Fri Nov 13, 2020 3:50 pm

Interesting. Good catch and info. I tested this yesterday and did not see the same issue. I updated all the libraries, but I neglected checking BSPs as well. I was running 1.6.3 SAMD BSP. Upgrading to 1.6.4 and trying again, I can recreate the issue:
oled_test.jpg
oled_test.jpg (179.04 KiB) Viewed 17 times

adafruit_support_carter
 
Posts: 17777
Joined: Tue Nov 29, 2016 2:45 pm

Re: Is this a blown OLED Featherwing?

by suss743 on Fri Nov 13, 2020 4:05 pm

BDL and adafruit_support_carter: Thanks for confirming and re-creating the problem! Too bad I already ordered and received replacement hardware, when I thought it was a hardware problem. Oh well. more new toys to play with!!! :)

Dave

suss743
 
Posts: 3
Joined: Tue May 16, 2017 4:22 pm

Re: Is this a blown OLED Featherwing?

by BDL on Fri Nov 13, 2020 5:22 pm

And running with 1.6.3 makes Connect_to_Wifi_w_OLED sketch work again! Phew! My M0 WiFi board is ok!
Curiously 1.6.4 draws an incomplete Adafruit logo on power up vs, 1.6.3 which draws the logo correctly.

BDL
 
Posts: 118
Joined: Wed Jan 09, 2019 10:45 pm

Re: Is this a blown OLED Featherwing?

by adafruit2 on Sun Nov 15, 2020 3:30 pm

its a mixed bug, please try latest commit to
https://github.com/adafruit/Adafruit_SSD1306
it isnt released yet so ya will need to install it manually, however it seems to fix the issue for me!

adafruit2
Site Admin
 
Posts: 19499
Joined: Fri Mar 11, 2005 7:36 pm

Re: Is this a blown OLED Featherwing?

by adafruit_support_carter on Sun Nov 15, 2020 3:54 pm

Latest commit seems to work for same test sketch as above.
oled_test2.jpg
oled_test2.jpg (87.15 KiB) Viewed 9 times

adafruit_support_carter
 
Posts: 17777
Joined: Tue Nov 29, 2016 2:45 pm

Re: Is this a blown OLED Featherwing?

by BDL on Sun Nov 15, 2020 3:57 pm

If you would be so kind, what is the method of a manual library install? It's been a while, so I've forgotten how to do it. I'd like to test this.

BDL
 
Posts: 118
Joined: Wed Jan 09, 2019 10:45 pm

Re: Is this a blown OLED Featherwing?

by adafruit2 on Sun Nov 15, 2020 3:59 pm


adafruit2
Site Admin
 
Posts: 19499
Joined: Fri Mar 11, 2005 7:36 pm

Re: Is this a blown OLED Featherwing?

by BDL on Sun Nov 15, 2020 4:34 pm

I have installed Adafruit_SSD1306_master from github into Arduino/libraries. (Yes, I renamed it from - to _.) In this directory there is also an Adafruit_SSD1306. In my code how do I select between the two libraries? Almost there...

BDL
 
Posts: 118
Joined: Wed Jan 09, 2019 10:45 pm

Please be positive and constructive with your questions and comments.