Skip to the content
PCBKitNew board
2 layers50 × 50 mmPDA, the printed circuit board in 3D

A simple ESP32-S3 based phone companion and pocket computer. This open-source hardware project includes a custom PCB, 3D-printable case, and Arduino firmware — everything you need to build a portable device with a color…

Size
50 × 50 mm
Copper layers
2
Thickness
1.6 mm
Parts
16
Nets
55
Pads
123
Tracks, vias
314, 58
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
29 Jun 2026
Updated
29 Jun 2026

Overview

PDA is an open-source printed circuit board by jacobjuneau6, from the jacobjuneau6/PDA repository on GitHub, published under the MIT licence. It is a 2-layer board of 50 × 50 mm with 16 parts on 55 nets, routed with 314 tracks and 58 vias.

It is built around the ESP32-S3-WROOM-1-N16R8, AO3400A and TPS74533PCQWDRVRQ1, with the B3F-1002 and COM-16347 among its other parts. Its parts include 5 ICs, 4 switches, 2 resistors, 2 connectors and 1 diode. It belongs with the ESP32 boards of this library.

Main components

5

README

README.md

ESP32-S3 PDA

A simple ESP32-S3 based phone companion and pocket computer. This open-source hardware project includes a custom PCB, 3D-printable case, and Arduino firmware — everything you need to build a portable device with a color TFT display, LiPo battery management, and physical navigation buttons.

Features

  • ESP32-S3-WROOM-1-N16R8 module (16 MB flash, 8 MB PSRAM)
  • ST7789 240×320 TFT color display with PWM backlight control
  • MAX17048 LiPo fuel gauge for accurate battery state-of-charge
  • MCP73831 Li-Ion/Li-Po battery charger (charges via USB)
  • WS2812/NeoPixel RGB status LED
  • 3 navigation buttons (UP, SELECT, DOWN) with active-low pull-ups
  • USB micro-B connector for power and data
  • 2-layer PCB with Gerber files ready for fabrication
  • 3D-printable case designed in FreeCAD

Pinout

SilkscreenGPIOFunction
SCL2SPI SCLK (TFT clock)
SDA1SPI MOSI (TFT data)
CS3TFT chip select
DC4TFT data/command
RST5TFT reset
BL6TFT backlight PWM
—7WS2812 status LED (NeoPixel)
—8I2C SCL (MAX17048 fuel gauge)
—9I2C SDA (MAX17048 fuel gauge)
—10Button UP
—11Button SELECT
—12Button DOWN

Display connector: 1×08 pin header (GND, VCC, SCL, SDA, RST, DC, CS, BL) for ST7789 240×320 TFT, 1.54″ or 1.69″ diagonal.

I²C address: MAX17048 at 0x36.

Bill of Materials

ReferenceQtyPartDigiKey P/NDescriptionPrice
J11RAHMB20AUETR137-RAHMB20AUETRCT-NDUSB micro-B receptacle, right-angle, SMT (Switchcraft)
LED11COM-16347568-16347CT-NDWS2812/NeoPixel RGB LED
R1, R22RC1206FR-132KL13-RC1206FR-132KLCT-ND2 kΩ 1206 thick-film resistor (Yageo)
SW1, SW2, SW3, SW44B3F-1002SW401-NDTactile switch (Omron)
U11ESP32-S3-WROOM-1-N16R85407-ESP32-S3-WROOM-1-N16R8CT-NDESP32-S3 module, 16 MB flash, 8 MB PSRAM
U21MCP73831T-2DCI/MCMCP73831T-2DCI/MCCT-NDLi-Ion/Li-Po battery charger IC (Microchip)
U31TPS74533PCQWDRVRQ1296-TPS74533PCQWDRVRQ1CT-ND3.3 V LDO voltage regulator, 500 mA (TI)
U41MAX17048G+T10MAX17048G+T10CT-NDLiPo fuel gauge IC (Maxim Integrated)
U51AO3400A785-1000-1-NDN-channel MOSFET, SOT-23 (battery protection)
—1Custom PCB & stencilJLCPCBFabrication$20.00
—1DigiKey componentsComponents & shipping$30.00
—11Ah batteryhttps://www.amazon.com/dp/B0DPZVBKMY?th=1$8.00
—1Displayhttps://www.amazon.com/gp/product/B0DFWLD38D/ref=ox_sc_act_title_2?smid=A2UYBS1CH53PM5$16.00

Pictures

20260629_00h41m58s_grim 20260629_00h42m06s_grim 20260629_00h42m20s_grim 20260629_00h42m29s_grim 20260629_00h42m41s_grim 20260629_00h42m50s_grim 20260629_00h43m04s_grim ## Power Architecture
text
USB VBUS (5 V)
  ├── MCP73831 charger (U2) ──→ VBAT (battery voltage)
  │     ├── AO3400A MOSFET (U5) — battery protection
  │     └── MAX17048 fuel gauge (U4) — I²C monitoring
  │
  └── TPS74533 LDO (U3) ──→ 3.3 V rail
        ├── ESP32-S3 module (U1)
        ├── Display backlight (PWM on GPIO6)
        └── Peripherals (WS2812, buttons, I²C pull-ups)
  • The device charges a single-cell LiPo battery via USB at 4.2 V termination.
  • Battery voltage and state-of-charge are monitored by the MAX17048 over I²C.
  • The 3.3 V LDO powers the MCU and peripherals from either USB or battery.

Repository Structure

text
PDA/
├── README.md              # This file
├── BOM.csv                # Bill of Materials with DigiKey part numbers
├── Journal.md             # Design journal — case design notes & images
├── LICENSE                # MIT License
│
├── board/                 # KiCad PCB design
│   ├── board.kicad_sch    # Schematic
│   ├── board.kicad_pcb    # PCB layout
│   ├── board.kicad_pro    # Project settings
│   ├── gbrs/              # Gerber files (ready for fabrication)
│   └── staging/           # Vendor symbols, footprints, and 3D models
│
├── CAD/                   # FreeCAD mechanical design
│   ├── Assembly.FCStd     # Full assembly (PCB + case + battery + display)
│   ├── case.FCStd         # 3D-printable enclosure
│   ├── battery.FCStd      # Dummy battery model (fit check)
│   ├── display.FCStd      # Dummy display model (fit check)
│   └── PCB.step           # PCB STEP export
│
└── CODE/                  # Firmware
    └── test/
        ├── platformio.ini # PlatformIO build configuration
        └── src/
            └── main.cpp   # Arduino demo sketch

Firmware

The demo firmware exercises all major subsystems: display, battery gauge, status LED, and buttons.

Build & Flash

Prerequisites: PlatformIO (VS Code extension or CLI).

bash
cd CODE/test

# Build
pio run

# Flash and open serial monitor (115200 baud)
pio run --target upload --target monitor

What the Demo Does

  1. Boot splash — "ESP32-S3 PDA / Boot OK" on the TFT, WS2812 glows blue
  2. Battery readout — cell voltage and state-of-charge, updates ~6× per second
  3. Button indicators — shows pressed button (UP/SELECT/DOWN) on the TFT
  4. LED feedback — WS2812 colour changes:
    • Purple = idle
    • Green = SELECT
    • Red = UP
    • Blue = DOWN
  5. Serial debug — prints voltage, SOC, and button state at 115200 baud

Libraries

LibraryVersion
Adafruit GFX≥1.11
Adafruit ST7735/ST7789≥1.10
Adafruit MAX1704X≥1.0
FastLED≥3.7

All are fetched automatically by PlatformIO via lib_deps.

Board Configuration

SettingValue
BoardESP32-S3 DevKitC-1
FrameworkArduino
Monitor baud115200

Customisation

  • Backlight level — call backlightWrite(0..255) in loop() (e.g., dim after inactivity)
  • Rotation — change tft.setRotation(1) (0–3) if your panel is mounted differently
  • I²C pins — edit I2C_SDA and I2C_SCL at the top of main.cpp

PCB

  • Layers: 2-layer board
  • Software: KiCad 8
  • Gerber files: Ready for fabrication in board/gbrs/
  • View online: Kicanvas — interactive board viewer (no KiCad install needed)

The PCB uses all surface-mount components. Most ICs are in small-outline packages (SOT-23, TDFN, WSON). The display connects via a standard 1×08 2.54 mm pitch pin header.

Case

Designed in FreeCAD with a boxy, sharp-edged aesthetic. The case holds:

  • The custom PCB
  • A single-cell LiPo battery
  • The ST7789 TFT display (1.54″ or 1.69″)

Dummy battery and display models are included for fit checking in the assembly.

License

MIT License — see LICENSE for details.

Copyright (c) 2026 jacobjuneau6

Parts

16
QtyValueFootprintReferences
4B3F-1002footprints:SW_B3F-1000_OMRSW1, SW2, SW3, SW4
2RC1206FR-132KLfootprints:RESC3216X65R1, R2
1AO3400APackage_TO_SOT_SMD:SOT-23U5
1COM-16347footprints:COM-16347_SPKLED1
1ESP32-S3-WROOM-1-N16R8footprints:ESP32-S3-WROOM-1_EXPU1
1MAX17048G_T10footprints:SON50P200X200X80-9NU4
1MCP73831T-2DCI_MCfootprints:SON50P200X200X80-9NU2
1PINHD_1x2_MaleConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical_SMD_Pin1LeftJ2
1RAHMB20AUETRfootprints:SWITCHCRAFT_RAHMB20AUETRJ1
1TPS74533PCQWDRVRQ1easyeda2kicad:WSON-6_L2.0-W2.0-P0.65-TL-EPU3
1~Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalL1

The 15 most common of 16 parts.

Questions

How big is the PDA PCB?

It measures 50 × 50 mm and has 2 copper layers, 1.6 mm thick.

What parts does the PDA use?

16 parts, built around the ESP32-S3-WROOM-1-N16R8, AO3400A, TPS74533PCQWDRVRQ1 and B3F-1002. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the PDA KiCad files?

From the jacobjuneau6/PDA repository on GitHub, at the commit this page was made from: the board is board/board.kicad_pcb and its schematic board/board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the PDA design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers40.8 × 80 mmDevkit2, the printed circuit board in 3D

    Devkit2

    jacobjuneau6/devkit2

    A compact ESP32-S3 development board designed for rapid prototyping and embedded projects.

    13 partsMIT
  • 2 layers38.1 × 22.9 mmBNO086 brakeout, the printed circuit board in 3D

    BNO086 brakeout

    tomy983/BNO086-and-esp32-s3-brakeout

    BNO086 + esp32-s3 brakeout

    73 parts3
  • 2 layers55.1 × 38.2 mm1STM, the printed circuit board in 3D

    1STM

    Dxem/Learning-pcb-design

    Im learning pcb design - so everything i do in this repo is open source and you are free to use this designs

    30 parts1Apache-2.0
  • 4 layers150 × 150 mmECP5U85-BSE USB IO Tester, the printed circuit board in 3D

    ECP5U85-BSE USB IO Tester

    open-ephys/ECP5U85-BSE-USB-IO-Tester

    IO Test board for ECP5U85-BSE-USB

    96 parts1
  • 4 layers54 × 54 mmFrancisco Câmara, the printed circuit board in 3D

    Francisco Câmara

    FranciscoCamara/PCB-Design-Course

    Course materials and projects for learning PCB design

    74 parts
  • 4 layers74.4 × 50.2 mmRoadster charger, the printed circuit board in 3D

    Roadster charger

    zainahm3d/roadster-charger

    USB-C PD bike charger

    109 parts7
  • 6 layers100 × 100 mmBms board, the printed circuit board in 3D

    Bms board

    AerospaceNU/bms-pcb-design

    373 parts4
  • 4 layers160 × 161.8 mmAcquisition board, the printed circuit board in 3D

    Acquisition board

    open-ephys/oe-acquisition-board-gen3

    3rd Generation Open Ephys USB Acquisition Board

    360 parts1