The Heltec LoRa V1 ESP32module appears to have a distinct I2C connection to their OLED display.
I tried to access the display using the standard SSD1306 librry that way:
#ifdef CONTR_IS_HELTEC
SSD1306Wire display(0x3c, 15, 4); //OLED 128*64 soldered
#endif
since they announced to use GPIO15 as SCL and GPIO04 as SDA.
The module is however not accessible under the standard address 0x3C.
does someone know how to run that display with the regular library?
I would not want to use the heltec library since they use a different syntax and I would have to rewrite hundreds of lines of code and maintain two versions...
I2C Address of the OLED display for an Heltec LoRa module?
-
- Posts: 827
- Joined: Mon Jul 22, 2019 3:20 pm
Re: I2C Address of the OLED display for an Heltec LoRa module?
0x78 is a common location. You can use a I2C scanner to find it. https://github.com/stickbreaker/arduino ... s/i2c_scan
Re: I2C Address of the OLED display for an Heltec LoRa module?
Thank you, unfortunately that address does not work.lbernstone wrote: ↑Wed Jul 21, 2021 5:40 pm0x78 is a common location. You can use a I2C scanner to find it. https://github.com/stickbreaker/arduino ... s/i2c_scan
The ESP32 I2C scanner does not find any address when used with
SCL=15, SDA=4
-
- Posts: 827
- Joined: Mon Jul 22, 2019 3:20 pm
Re: I2C Address of the OLED display for an Heltec LoRa module?
The reset is usually attached to GPIO16. Try setting that pin high to turn on the device.
Re: I2C Address of the OLED display for an Heltec LoRa module?
Finally the Heltec display is working using its own driver:
That driver is managing the two I2C channels, so you do not need the Wire.h library that would conflict.
With
at the beginning of setup() and at the beginning of loop(), you can use the usual display primitives like
That driver is managing the two I2C channels, so you do not need the Wire.h library that would conflict.
With
Code: Select all
auto &display = *(Heltec.display);
Code: Select all
auto &display = *(Heltec.display);
Heltec.begin(true /*DisplayEnable Enable*/, false /*LoRa Disable*/, true /*Serial Enable*/);
display.flipScreenVertically();
display.setFont(ArialMT_Plain_10);
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.setFont(ArialMT_Plain_10);
display.drawString(0, 10, "Display Init");
Console4.print("Display Init");
display.display();
Who is online
Users browsing this forum: No registered users and 50 guests