Author Topic: Schematic Review Request – ESP32-S3 + IMU + Battery Power  (Read 278 times)

0 Members and 2 Guests are viewing this topic.

Offline anthony_tech15Topic starter

  • Newbie
  • Posts: 5
  • Country: us
Schematic Review Request – ESP32-S3 + IMU + Battery Power
« on: December 04, 2025, 10:07:26 pm »
Hi all,

This is my first custom schematic and I’d really appreciate a review before I move on to PCB layout.

The design includes an ESP32-S3 module, IMU over SPI, Li-Po power input, LDO regulation, UVLO protection, a button, status LED, and a few test points for flashing code. I’ve tried to follow datasheet recommendations, but I’d love a second set of eyes to catch any mistakes.

Main things I’d like feedback on:
  • Power input → UVLO → LDO chain
  • ESP32 boot/configuration pins
  • IMU connections + decoupling
  • Anything that looks incorrect or missing

I’m using an Adafruit 3.7V 400mAh protected LiPo battery

The ESP32-S3 supports deep sleep for low-power standby when inactive. Charging is performed externally through the J1 contact pads, which connect to a docking station charger supplying a 5V input. The UVLO circuitry prevents over-discharge by disconnecting the load at low battery voltage while still allowing charging through the contacts.

Schematic attached below.

Thanks in advance!
« Last Edit: December 04, 2025, 10:56:04 pm by anthony_tech15 »
 

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 5501
  • Country: nl
Re: Schematic Review Request – ESP32-S3 + IMU + Battery Power
« Reply #1 on: December 05, 2025, 08:36:01 am »
I think you have misread the functionality of the MCP73831. As far as I'm aware, it does nothing to protect your battery from being over discharged. With the battery directly connected to the TLV733P it all depends on how the regulator behaves when the input voltage drops below 3.48V

I have to say that your schematic is hard to read, even though wires are used to make the connections. It is very cluttered and signal flow is wrong. It is a general rule to have signal flow, including power, to go from left to right. Also avoid having text being masked by lines, like for instance near R2, where the component label R2 is on top of the side line of the resistor, or where R6 masks part of the C5 value text. Try to get used to neatness in your schematic. Makes it easier to read. You can search to forum to find threads about how to draw schematics. There are plenty around.

With your battery in the middle and the input of the LDO on the right and the output on the left it makes it difficult to follow.

Another thing, the resistor divider on the LDO enable pin is not needed. You can directly connect the enable pin to the vin pin, when there is no need to control the on off state of the LDO.

I have not looked into the ESP32 S3 module and the connections onto the ICM-42688, or other issues around it.

Offline PGPG

  • Frequent Contributor
  • **
  • Posts: 879
  • Country: pl
Re: Schematic Review Request – ESP32-S3 + IMU + Battery Power
« Reply #2 on: December 05, 2025, 07:20:02 pm »
What is your idea of using TLV77333 EN pin?
 

Offline anthony_tech15Topic starter

  • Newbie
  • Posts: 5
  • Country: us
Re: Schematic Review Request – ESP32-S3 + IMU + Battery Power
« Reply #3 on: Yesterday at 01:15:28 am »
Thank you for the feedback. I appreciate you taking the time to look through the schematic.

I am aware that the MCP73831 only handles charging and doesn’t provide battery undervoltage protection. I attempted to create a custom UVLO circuit using the resistor dividers into the EN pins of both the TLV7733 regulator and the ESP32-S3 module, so the system shuts off when the cell drops below ~3.6V. That’s why the dividers are there instead of tying EN to VBAT directly. The power cutoff is intentional. Do you think this is a valid approach, or would you recommend a different method?

That said, I agree that the visual flow of the schematic can be improved. Thanks for pointing that out. I'll find some threads about how to clean up the schematics.

Thanks again!
 

Offline anthony_tech15Topic starter

  • Newbie
  • Posts: 5
  • Country: us
Re: Schematic Review Request – ESP32-S3 + IMU + Battery Power
« Reply #4 on: Yesterday at 01:18:47 am »
It's meant to be an undervoltage-lockout using resistor dividers into the EN pins of both the TLV7733 regulator and the ESP32-S3. The goal is for the system to disable itself when VBAT drops to ~3.6 V so the Li-ion cell doesn’t over-discharge. Do you think I should use a different method?

I appreciate you taking the time to look through the schematic.

Thank you
« Last Edit: Yesterday at 01:20:34 am by anthony_tech15 »
 

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 5501
  • Country: nl
Re: Schematic Review Request – ESP32-S3 + IMU + Battery Power
« Reply #5 on: Yesterday at 07:48:56 am »
It's meant to be an undervoltage-lockout using resistor dividers into the EN pins of both the TLV7733 regulator and the ESP32-S3. The goal is for the system to disable itself when VBAT drops to ~3.6 V so the Li-ion cell doesn’t over-discharge. Do you think I should use a different method?

This information would have helped when provide in the initial post.  :)

The nominal voltage of your Liion battery is ~3.6 volt. When discharged to 20% or so it will be ~3.3 volt. So to have some longer operational time best to recalculate the values. If it will work properly depends on the actual shut off point of the LDO. There is a specified margin of 0.6V between the on and off thresholds, which makes it relatively large compared to the battery working range of 0.9V given a 4.2V max and 3.3V min.

You will probably be better of with a dedicated battery protection circuit, than to rely on the LDO enable pin construct you devised here. You can look into the WSTDW01 in combination with a 8205A as used on modules based on the TP4056, like these https://www.aliexpress.com/item/1005007593596607.html.

Attached is the schematic of how I used it in a project.

Offline anthony_tech15Topic starter

  • Newbie
  • Posts: 5
  • Country: us
Re: Schematic Review Request – ESP32-S3 + IMU + Battery Power
« Reply #6 on: Yesterday at 11:44:13 pm »
Thanks so much for the detailed feedback

Just to clarify, I did note in my original post that I'm using an Adafruit 3.7V 400mAh protected LiPo cell. It uses an R5402N101KD protection IC plus an 8205 dual MOSFET pair, which should provide the same functionality as the DW01/8205A combination you referenced (over-charge protection, over-discharge cutoff at 3.0V, and short-circuit/over-current shutdown). So the battery safety side is covered by the pack itself.

Based on your advice, I removed the resistors that tried to create a UVLO threshold using the TLV773’s EN pin. I now simply tie EN to IN so the LDO is always enabled when VBAT is present, avoiding the issues you mentioned.

To manage low-battery behavior cleanly, I added a proper divider from VBAT to an ESP32-S3 ADC pin. The firmware will monitor the battery voltage directly (e.g., warn or enter deep sleep around ~3.4–3.5V), while the pack’s protection remains the final cutoff.

I also cleaned up the schematic layout for better readability and signal flow, like you mentioned.

It should function like this:
  • Protected LiPo: hardware safety cutoff
  • MCP73831: CC/CV charging
  • TLV7733: 3.3V regulation with EN tied to VBAT
  • Divider to ADC: firmware-managed battery level & shutdown

If you don't mind reviewing my schematic again to ensure it looks correct, that would be greatly appreciated. Thank you!


Battery datasheet:
https://cdn-shop.adafruit.com/product-files/3898/3898_specsheet_LP801735_400mAh_3.7V_20161129.pdf

My updated schematic is attached below
 

Offline Peabody

  • Super Contributor
  • ***
  • Posts: 2544
  • Country: us
Re: Schematic Review Request – ESP32-S3 + IMU + Battery Power
« Reply #7 on: Today at 03:50:45 am »
The ESP32 only has the 1.1V internal reference for the ADC function.  So I assume you will use an "attenuation" setting that will let you measure up to 2.6V.  That would make sense for the 50/50 divider.

But the divider will be drawing current all the time.  So you might try 1Meg resistors for R6 and R7.  With C6 there, that should still work ok.  Or you could use a mosfet to switch the divider on only when you want to measure the voltage.

Have you actually measured the current draw of the circuit, both when the ESP32 is transmitting, and when it is in deep sleep?
 

Offline anthony_tech15Topic starter

  • Newbie
  • Posts: 5
  • Country: us
Re: Schematic Review Request – ESP32-S3 + IMU + Battery Power
« Reply #8 on: Today at 06:12:00 am »
Thanks for the feedback

For the ADC: yes, I’m planning to use one of the attenuation settings on the ESP32-S3 so the VBAT divider output stays within the usable ADC range. In my earlier schematic, I had a high-value divider (1M / 330k), which put the midpoint at about 1.04V with a fully charged 4.2V battery, which is a nice fit for the 1.1V internal reference when calibrated in firmware.

When I revised the schematic, I accidentally reverted back to 100k/100k resistors and didn’t notice, so thanks for catching that. I’ll switch back to the higher-value divider to minimize leakage. At 4.2V, the 1M/330k pair only draws about 3µA from the battery, compared to about 21µA with the 100k pair. Since the ESP32 and LDO idle currents dominate most of the time, that’s a much better choice for this design. C6 also provides some filtering so the ADC input impedance is less of a concern.

You’re right that the divider is always on, and I may eventually move to a switched divider if deep-sleep current becomes critical. In this application, the battery is usually recharged after each session, so a few µA of constant draw shouldn’t be a major issue.

As for current measurements, not yet, since boards aren’t built. Once I have prototypes, I’ll measure deep-sleep and transmit current so I can refine things based on real numbers rather than assumptions.

Thanks again for the suggestions. I appreciate you catching the resistor value change. I’ll update the schematic accordingly.

(Updated schematic attached below)
 

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 5501
  • Country: nl
Re: Schematic Review Request – ESP32-S3 + IMU + Battery Power
« Reply #9 on: Today at 08:24:03 am »
Ah, about the battery, you are correct and with the protection there, there is no need for the LDO shenanigans to make a power cutoff. So reverting to LDO enable tied to Vbat is a good choice.

On the cleanup of your schematic, good job of going from one not so good practice to a rather worse one for such a small and simple schematic. You switched from using wires to using net ports. This makes reading a schematic a search job, and you never know if you missed a port in case of an output connecting to multiple inputs.

Net ports are a good option for a schematic with multiple sheets, not so much for a schematic like yours where there is plenty of room for connecting the signals with wires. Labeling the wires with a net name can be helpful when designing the PCB though.

When drawing a schematic I tend to create my own symbols for parts with a much more logical placement of the pins. Take for instance the symbol for U3, the TLV77333PDBVR, with the ground above the out pin. This leads to this strange way of drawing the connections where the ground wire first goes up and then down to the ground symbol. Having those two pins swaps allows for a much cleaner drawing of the connections.

For making a PCB it does not matter how the schematic is drawn, but when one wants to have it reviewed or made public for serviceability, it is better when it is easy readable.


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf