-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OLED initialization using I2C failes sometimes #2
Comments
Hi! Thanks for your comment. |
Hi @AlexIII , Where was this information obtained? This value of 470 ohms seems to be very low. |
@rtek1000 What do you mean "very low"? It's perfectly safe and necessary in this case, since the i2c bus is significantly overclocked. |
Ok, there is a calculator that might be useful: (3.3V, 400pF, HS (1.7MHz/3.4MHz): Pull up resistor range 0.967 KOhm < Rp < 0.472 KOhm; Rp can be replaced by external current source pull-ups to meet the rise time requirements) Link: https://atman-iot.com/blog/i2c-pull-up-calculator/ Note: There are interesting resources about this in the footer too. |
Used hardware:
SSD1306 based OLED display and Arduino Nano. Display is connected via I2C.
Sometimes, the OLED display stays black after starting the t-rex-duino app.
I could not identify the specific reason in the source code for this but I found the following workaround:
When initializing the display with another SSD1306 library before the custom I2C code of the t-rex-duino app is executed, the display works properly.
For example when putting
Adafruit_SSD1306 display = Adafruit_SSD1306(...);
display.begin();
in the first lines of the setup(); function, the OLED display always turns on.
Is it possible that there's some kind of initialization bytes missing in the custom I2C SSD1306 code of the t-rex-duino app?
The text was updated successfully, but these errors were encountered: