Badge hardware
Read from the PCB bill of materials dated 18 July 2026. Where the V1 concept datasheet and the board disagree, the board wins — it is what gets manufactured.
Processor
The board carries an ESP32-S3-WROOM-1-N16R2 module (U2, LCSC C2913205): a dual-core Xtensa LX7 with Wi-Fi 802.11 b/g/n and Bluetooth 5 LE, 16 MB of flash and 2 MB of PSRAM.
The R2 suffix matters. Other Onetap documents and an earlier build refer to an N16R8 or N4R8 module — 8 MB of PSRAM rather than 2 MB, and in the N4R8 case only 4 MB of flash. Those are different parts with different partition tables and different pin restrictions. Build against the module printed on the board in front of you, and check before you assume a framebuffer will fit.
Octal-PSRAM variants reserve GPIO35, GPIO36 and GPIO37; the quad-PSRAM R2 part does not. That difference alone can move a working pin map.
Display
A 2.13-inch monochrome e-paper panel drives over 4-wire SPI. It connects through CN1, a 24-pin 0.5 mm bottom-contact FPC connector, so the panel itself is not on the bill of materials.
The panel used by the current firmware is a GDEY0213B74 — 250 × 122 pixels, SSD1680 controller, driven with the GxEPD2_213_BN class. Its BS1 pin must be tied to ground for 4-wire SPI.
E-paper holds its last image with no power applied. Redraw only when something changes: a full refresh is slow and visibly flashes, so treat it as an event, not a frame rate.
Power path
USB-C in, regulated 3.3 V out, with a battery in the middle:
USB-C (USB1) ──► MCP73831 (U5) ──► 3.7V LiPo
│
▼
AP2112K-3.3 (U3) ──► 3V3 rail
│
ESP32-S3, e-paper, buzzerUSB1is a 16-pin Type-C receptacle.R1andR2, both 5.1 kΩ, are the CC pull-downs that make a USB-C source deliver 5 V.U5, anMCP73831T-2DCI/OT, is a single-cell linear LiPo charger. The2in the part code sets constant-current regulation; the programming resistor sets the actual charge current.U3, anAP2112K-3.3TRG1, is a 600 mA low-dropout regulator supplying the 3.3 V rail.R13andR14, both 100 kΩ, form a battery-sense divider so firmware can read pack voltage on an ADC pin.
The board also carries a 47 µH inductor (L1), three MBR0530 Schottky diodes and an SI1308EDL MOSFET. That combination is consistent with a switching supply generating the e-paper’s bias rails, but the schematic was not supplied with the layout, so this page does not claim a topology it has not seen.
Controls and indicators
| Part | Designator | Notes |
|---|---|---|
| Tactile switches | 1, 2, 3, 4, 5, BOOT, EN | Seven TS-1088-AR02016 switches: five for navigation (up, down, left, right, OK) plus the two ESP32 straps. |
| Buzzer | U4 | Buzzer8530SMD passive buzzer — it needs a driven waveform, not a DC level. |
| Status LED | LED1 | KT-0805G, green, in an 0805 package. |
| I²C expansion | CN2 | SM04B-SRSS-TB, a 4-pin 1.0 mm JST SH — the Qwiic / STEMMA QT standard. See Expansion. |
Bill of materials
Every part is sourced from LCSC. Passives are omitted here; the designators below are the ones you would replace or probe.
| Ref | Part | LCSC | Function |
|---|---|---|---|
| U2 | ESP32-S3-WROOM-1-N16R2 | C2913205 | MCU module |
| U3 | AP2112K-3.3TRG1(MS) | C22365427 | 3.3 V LDO regulator |
| U4 | Buzzer8530SMD | C990004191 | Passive buzzer |
| U5 | MCP73831T-2DCI/OT | C625597 | LiPo charge controller |
| USB1 | TYPE-C16PIN | C393939 | USB-C receptacle |
| CN1 | 240PIN-0.5MM-BOT | C990001416 | 24-pin FPC, e-paper |
| CN2 | SM04B-SRSS-TB(LF)(SN) | C160404 | JST SH, Qwiic I²C |
| Q1 | SI1308EDL | C7603347 | N-channel MOSFET |
| L1 | SWPA5040S470MT | C86617 | 47 µH power inductor |
| D1–D3 | MBR0530 | C2941306 | Schottky diodes |
| LED1 | KT-0805G | C2297 | Green status LED |
| SW × 7 | TS-1088-AR02016 | C720477 | Tactile switches |