HTCC-AB01 V2 schematic

Where can I find the correct AB01 V2 schematic? I am trying to understand the ADC for measuring 3.3v voltage. I see in the code that there are at least 2 pins defined that the ADC can measure (ADC & ADC_VBAT). The only schematic that I can find doesn’t show but one connected to Vbat. The V2 version of this module uses the ASR6502 which I have seen some reference to there being 3 ADC channels.

Any help would be greatly appreciated.

The schematic is here:


And the discussion here on battery voltage measurement may also help.

Thanks for the response. I have seen this documentation but I believe there is an error in it. It shows Vbat is connected (via MOSFET control) to ADC and not ADC_IN1 on the ASR6502. ADC indicates that it is connected to the module’s pin labeled ADC which it isn’t. I guess the error could also be that P2 and the labeling on the module are incorrect and should be ADC1 (ADC_IN1). I might have described this incorrectly though. Either way the module pin labeled ADC can be used for general purpose and is not the MOSFET controlled Vbat.

I have read your writeup which helped me understand the module better (greatly appreciated!!!)

I do find the same issue here. The schematics is not the same as the true board (HTCC-AB01 V2.2). Somehow no matter I turn GPIO7 high or low, the dual FET output pin 6 is always at VBAT. Also I try to trace the PCB and find that VBAT is connected directly to dual FET output pin 1, not through a resistor. Could official Heltec staff clarify this and send us a true schematics?
I cannot find even the jumper BR1

Same for me Henry, this is a mess. Tried to control Vext but voltage remains on Vbat!
GPIO6 and GPIO7 are - according to the v2 schematic - connected to SWD_DATA and SWD_CLK.
So can they actually be controlled via GPIO commands? :-/
Regards, Peer

Found the issue :wink:
in the function “turnOnRGB” (@LoraWANminimal.cpp) Vext is manipulated,
commented out the two lines.

void turnOnRGB(uint32_t color,uint32_t time)
{
uint8_t red,green,blue;
red=(uint8_t)(color>>16);
green=(uint8_t)(color>>8);
blue=(uint8_t)color;
// pinMode(Vext,OUTPUT);
// digitalWrite(Vext,LOW); //SET POWER
delay(1);
pixels.begin(); // INITIALIZE RGB strip object (REQUIRED)
pixels.clear(); // Set all pixel colors to ‘off’
pixels.setPixelColor(0, pixels.Color(red, green, blue));
pixels.show(); // Send the updated pixel colors to the hardware.
if(time>0)
{ delay(time); }

}