few month ago I setup my Wifi Kit 32 Oled with some sensors like fsr and mlx, it worked fine.
Few days ago I ordered a new one and noticed that was a bit different from what I had; after few researches I discovered that the last is the new version.
Now, I have some issue with this new version that I had not with the previous (I also did some back to back flashing both chip with same code):
Low brightness: the new kit has really low brightness, also playing with contrast and other parameters (it seems not be sensitive to any configuration).
Flickering when using pin 21: I connected the mlx (temperature sensor) to pin 21 and 22 (SDA and SCL) as in the previous version; as soon as I activate the pin reading the screen start to flickering with high/low brightness.
-Wifi name: I am using the Wifi Kit 32 as AP, but the network name assign is not taking any effect (the oled network that I found with my phone is something ‘ESP_xxx’ and not the name that I assign in the code, e.g. ‘myNetwork’)
Any suggestion? It is really frustrating as the previous one worked flowless.
Just curious, but what is on your GPIO 37 pin and how is that configed? They have a revision on V2.1 that moved the internal VBatt LIPO voltage divider from GPIO 13 to GPIO 37 and it just so happens that GPIO21 (active low) is what is being used to activate that. and you will want to be VERY CAREFUL to not have any ADC connection reading on ADC1_1 (GPIO37) while GPIO21 is high or you will have a direct connection (no divider pull down) to VBatt, which may have 4.2v on it and damage or cause some contention with anything you have on GPIO37…
Here are the Revision notes (unfortunately they don’t have markings that differentiate V2.0 from V2.1…ouch!): https://heltec-automation-docs.readthedocs.io/en/latest/esp32/wifi_lora_32/hardware_update_log.html#v2-1
update I’ve just managed to confirm that if I simply toggle GPIO21 LO/HI I can replicate the flicker (stable and bright when left fixed LO). Even if I just reset the pin to be an INPUT (i.e. Hi-Z from LO output) it flickers…even without attaching the ADC…so I need to see if GPIO21 is also used somehow for OLED contrast control or anything and maybe default contrast/brightness used to be max on V2.0 and is no longer on V2.1 or something). I do not have access to a V2.0 board, so I can’t confirm it doesn’t also flicker on that. It is odd that Vext and VBatt voltage divider control is the obvious culprit for GPIO21 toggle and that the ADC channel changed. Also, it is interesting that GPIO21 is used as SDA…but I’m not running I2C work on any of the examples. Possibly the most obvious issue might be unstable voltage regulation from bouncing the GPIO21 LOW with that tied through a 1K+10K pull up to VCC (3.3v), but that does not appear to have changed from V2.0 to V2.1…I’ll try to get a scope on it.
I think I found it, though I’m uncertain why this would have changed between V2.0 and V2.1, as the schematics look identical for this portion (perhaps the one you see that does NOT flicker is a V1.0 board that had the OLED tied to Vcc=3.3v constant). But the OLED display is POWERED from the Vext since V2.0, which allows you to TURN OFF the display by toggling GPIO21 (by default initializing the display with begin statement which TURNS ON VEXT - which is essentially taking GPIO21 low). Depending on what your “duty cycle” is on GPIO21, you could make a poor man’s brightness control though, I can’t seem to get it to actually “turn off” even if I turn off GPIO21 and keep it off. I suppose it is possible the OLED display is powering itself through the I2C SDA/SCL signals, just at a lower brightness. Note V1.0 on left and V2.0 (and V2.1) on right below.