Notifications
Clear all

Heltec ESP32

8 Posts
2 Users
1 Reactions
5,256 Views
(@marvd)
Member
Joined: 1 year ago
Posts: 8
Topic starter  

Not sure where to start.  The Heltec series of products offer some amazing capabilities but . . .

I've had a VERY frustrating time using the Heltec ESP32 development board. In particular I chose the Heltec ESP32 WiFi LoRa V3. Also labeled on the back side of the board as “HTIT-WB32LAF”.

The subject here is the V3 board, so I won’t even get into the issues, confusion, and lack of documentation of the V2 vs the V3.

I’m developing a Power Management System (yep, PMS) for my own use and have no intention at this time of commercializing it, although several friends have opined that it has significant commercial opportunity.

So far I have one Power Control Unit (PCU) that measures split phase line voltage and current, calculates real power, and transmits commands over LoRa (915Mhz) for control of several Interrupt Box/Load Controlers (IBLC.) All components use the Heltec development board.

The issue is, I recently received two more boards. They both show V3 above the U.FL connector and they both powered up and showed the Heltec intro screen when first received. When I uploaded code, which has been running on many other V3 Heltec boards just fine, the OLED stays black. The code is running, as I turn on the LED_BUILTIN when it measures the line voltages and currents and the serial port prints properly.

After MUCH frustration, investigation, hair pulling and foot stomping, I found that the boards that work have V3.2 printed below the U.FL connector, while the dozen or so that work fine have V3.1 printed below the U.FL connector. Again, can’t find any documentation of what the differences are between the two.

HELP ! ! !

If you can help, please let me know if you need anything more from me.

Thank You ahead of time.

Marv

 



   
Quote
Topic Tags
(@marvd)
Member
Joined: 1 year ago
Posts: 8
Topic starter  

Oops.  The two new boards that DON't work have V3.2 printed below the U.FL connector.  The original boards that work have V3.1 printed below the U.FL connector.  Sorry for the confusion.



   
ReplyQuote
(@davee)
Member
Joined: 5 years ago
Posts: 2038
 

Hi @marvd,

  I have never seen these boards, so I can only see the material on the web.

 

  I presumed from your description that the V3.1 and V3.2 are different hardware designs, so I looked for schematics, as a guide to the design, and found :

https://resource.heltec.cn/download/WiFi_LoRa_32_V3/HTIT-WB32LA(F)_V3.1_Schematic_Diagram.pdf

https://resource.heltec.cn/download/WiFi_LoRa_32_V3/WiFi_LoRa_32_V3.2_Schematic_Diagram.pdf

  My understanding from your description is that both versions appear to work, with one important exception ... the OLED display doesn't work with V3.2 boards. On this basis, I looked for differences to the connections to the OLED display, and Vext, that connects to U6 (OLED) Pin 6 and resistors R11 & R12, caught my attention.

A quick comparative glance showed that the circuit deriving the voltage on line Vext is different.

Vext in V3.1 is generated in the sub-circuit in box "LiPo electricity & Vext Ctrl", whilst on V3.2, the analogous circuit is in the unnamed top left box.

There are several differences in the circuitry, including V3.2 using a second CE6260B33M voltage regulator for Vext, instead of FET switching the VDD_3V3 line, and TP4054 replaced with LGS4056HDA, etc.

I obviously can't do any tests, but suggest you try monitoring the Vext voltage on the two boards, to see if there is any difference, as a starting point.

Of course, these differences may have nothing to do with your problem, and there may be other differences between the schematics, which, if necessary, I will leave you to find, but hopefully this will be a start. (Sadly, it is also possible that the difference is not visible on the schematic, such as different batches of components .)

Good luck and best wishes, Dave



   
ReplyQuote
(@marvd)
Member
Joined: 1 year ago
Posts: 8
Topic starter  

@davee 

Thank you!  Don't know why I couldn't find the v3.2 schemo earlier.  After reviewing both v3.1 and v3.2 schemos I cannot see a difference with the OLED connections.  I did find a guys post from Germany who is having the same problem.  A suggested fix was to reset the OLED prior to executing display.begin.  My code already did that.

So, I'll keep pounding on this and post the answer once I fix it.



   
ReplyQuote
(@davee)
Member
Joined: 5 years ago
Posts: 2038
 

Hi @marvd,

  The difference on the schematics for V3.1 & V3.2 is the way the voltage Vext, that is part of the drive to OLED  is created and controlled. Vext is the power input to the OLED.

What I don't know, is whether the two ways are truly equivalent. (And it isn't obvious why the circuit changed between the two versions.)

What I am suggesting is that compare the voltage on the Vext line going to the OLED panels on the V3.1 and V3.2 boards you have, whilst the program is running, at a time when the V3.1 board is showing a display, and repeat the same sequence on a V3.2 board.

At first glance of the schematic, I think the Vext connection should be at 3.3V in both cases.

If possible, double check the voltage actually at the OLED connector ... but Vext should also be on pins 3 & 4 of the 18 pin header, JP1, and GND on pin 1 of the same connector. These red and black pins are at the bottom of this picture, near the RST push switch:

(from //resource.heltec.cn/download/WiFi_LoRa_32_V3/Wi-Fi_LoRa32_V3.2_Pinmap.png )

 

Of course, it might be fine, and the problem is something else, but the circuit in this area is quite different between V3.1 and V3.2, so it should be worth checking carefully.

Best wishes, Dave

 

 



   
ReplyQuote
(@marvd)
Member
Joined: 1 year ago
Posts: 8
Topic starter  

Solved! Thanks to Dave’s analysis and guidance the issue of a blank OLED screen seems to be solved.

Remember, the issue was V3.1 seemed to work fine (except for one little annoying “glitch” that happened every now and then. More detail on that later.) The V3.2 just showed a blank OLED screen.

I set up both versions and followed Dave’s advice. Both boards were running the same code. Measured from GND to Ve on pins 3 and 4 of the J2 header.

The V3.1 board measured a different value each time it was powered up. Between 2.25v and 2.95 was typical, which should be 3.3, but the display is working.

The V3.2 board measured 0.93v, and the display is NOT working.

The schematic for both versions seem to have some errors. Not shocking given Heltec’s history of poor, erraneous, and non-existant documentation. The section labelled LiPo electtricity&VextCtrl (yes, they misspell electricity) shows ADC_Ctrl as an input on both versions. V3.1 also shows ADC_IN and Vext_Ctrl as connections while V3.2 shows only ADC_IN. This just does not make sense.

So, being as ADC_Ctrl is on both schematics, I found GPIO37 (pin 42) labelled ADC_Ctrl on the processor section. I added initialization and digitalWrite HIGH to my existing code. Didn’t work. Then tried setting it LOW. Didn’t work.

Noticed that GPIO36 (pin 41) is labelled Vext_Ctrl. Initialized it, set it LOW and everything works.

The “glitch” – The original V3.1 boards would occasionally display a random splatter of pixels on the OLED at power-up. Pressing the reset button would always fix this.

Setting GPIO36 LOW also fixed the “glitch” and caused pins 3 & 4 to measure 3.3v.

 



   
ReplyQuote
(@davee)
Member
Joined: 5 years ago
Posts: 2038
 

Hi @marvd,

   Well done in tracking down the exact cause. Sadly, errors in documentation are not uncommon, and can be very confusing.

From your description, I am guessing that the actual GPIO pin for control of power to the OLED panel wasn't being set (low) in software for either board version, but reset was getting it low enough to get at least some power to OLED panel.

So hopefully, you now have the basis of driving both board versions correctly, and you can complete your project.

Best wishes, Dave



   
ReplyQuote
(@marvd)
Member
Joined: 1 year ago
Posts: 8
Topic starter  

Dave,

You're absolutely correct.  Project moving forward!

I hope this helps other people also.  



   
DaveE reacted
ReplyQuote