This project is an ESP32 + LoRa transceiver board with USB-powered Li-ion charging and a 3.3 V rail, plus a few I/O breakouts and buttons.
1) MCU + radio (the “brains” and “RF”)
- The main MCU is U1 (U1).
- The LoRa module is U2 (U2).
- They talk over SPI using the net-portals for SCK, MOSI, MISO, and chip select CS1.
- Reset/interrupt lines: LoRa_RST goes from U1 to U2, and DIO0 goes from U2 to U1.
2) Power path: USB -> charger/battery -> 3.3 V
- USB-C power comes in on connector J3 (J3) via VBUS.
- A Li-ion charger IC U4 (U4) uses VBUS to charge the battery on its BAT pin.
- Charge current is set by the programming resistor R2 (connected to U4 PROG).
- Output/charge-status is brought out on the LED net (from U4
~DONE) to header J4.
- Battery is exposed on header J2 (BAT net).
- Battery voltage (and/or charger BAT) feeds the 3.3 V regulator U3 (U3), creating the 3V3 rail used by U1 and U2.
- Bulk/decoupling capacitors are on the rails: C2, C3, C4, C5, and C1.
3) Reset/enable and user buttons
- R1 (10 k) ties U1 EN into the 3V3 net (so the ESP32 is enabled by default).
- There are four pushbuttons SW1, SW2, SW3, SW4 wired to ESP32 GPIO nets (IO27/IO32/IO25/IO26 respectively, per the nets shown).
4) Breakouts / interfaces
- UART is broken out via terminals UART_TX and UART_RX.
- I2C is broken out via terminals SCL and SDA.
- There are power terminals for 3V3 and GND.
If you tell me which “sub-circuit” you mean (power/charger, ESP32 boot/reset, or the LoRa SPI section), I can walk through the exact signal flow and what happens in each state (USB present vs battery-only, button pressed, etc.).