PCB_Badge

Public

@kai

Download board files

Files for version 2. Pick what you came for.

Share PCB_Badge

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading 3D model… large boards can take a moment.

README

BoardRepo Programmable Badge

A Tufty-style programmable badge: one 96 × 152 mm, 2-layer PCB. The top half is a name card; the bottom half holds a 2.8" 320×240 touch screen, five buttons, an ESP32-S3 and a LiPo.

What's on it

BlockPart
BrainESP32-S3-WROOM-1-N16R8 (Wi-Fi + BLE, 16 MB flash, 8 MB PSRAM, native USB)
ScreenAdafruit 2.8" 320×240 TFT with capacitive touch (#2090), plugged into the 18-pin EYESPI connector J2
ButtonsA, B, C under the screen; UP, DOWN on the right; BOOT and RESET on the back
PowerUSB-C (ESD-protected), MCP73831 LiPo charger at ~500 mA, automatic USB/battery switch-over, AP2112K 3.3 V regulator, power switch
ExtrasQwiic/STEMMA QT I2C port, LTR-303 light sensor, battery + USB voltage sensing, 4 white back-glow LEDs, charge LED, UART debug header

ESP32-S3 pin map

FunctionGPIOFunctionGPIO
SPI SCK / MOSI / MISO12 / 11 / 13Button A / B / C15 / 16 / 17
Display CS / DC / RST10 / 9 / 8Button UP / DOWN18 / 21
Backlight (PWM)14I2C SDA / SCL39 / 40
SD card CS (on display)47Touch INT / Light INT7 / 41
Display TE6Battery / USB sense (÷2)4 / 5
Glow LEDs 1–41, 2, 42, 48UART TX / RX43 / 44
USB D− / D+19 / 20 (native)BOOT / RESETIO0 / EN

Buttons are active-low (use internal pull-ups) and sit on RTC GPIOs, so any of them can wake the badge from deep sleep.

Files

  • kicad/ — board + schematic (open badge.kicad_pro in KiCad 10); kicad/3d/ holds stand-in 3D models for the USB-C, battery connector, light sensor and the display module.
  • badge_gerbers.zip — fab-ready Gerbers + drill (2 layers, 1.6 mm, ENIG recommended for the gold art).
  • badge_bom.csv, badge_cpl_jlc.csv — parts list and placement file for PCB assembly (e.g. JLCPCB).
  • firmware/ — MicroPython starter: badge.py (hardware layer + ILI9341 driver) and main.py (launcher with a name badge, Snake, a sensor page and back-glow control).
  • source/ — the scripts that generated the board, so you can change the name, parts or layout and rebuild.

Building one

  1. Order the PCB with assembly using the Gerbers, BOM and placement file. Parts marked with an empty LCSC column (EYESPI FPC connector, B3S / B3U switches, LTR-303 light sensor, PCM12 power switch) need an LCSC part chosen by hand. Check every part's rotation in the assembler's placement preview, especially back-side parts.
  2. Buy the Adafruit 2.8" EYESPI display (#2090), an 18-pin 0.5 mm EYESPI cable, and four M2.5 × 6 mm standoffs.
  3. Battery: 3.7 V LiPo with a protection circuit and a JST-PH 2.0 plug, about 34 × 50 × 5 mm (e.g. "503450"). Polarity: pin 1 = GND (Adafruit standard). Many cheap batteries are wired the other way — check before plugging in.
  4. Flash MicroPython (ESP32_GENERIC_S3, SPIRAM_OCT build) over USB-C (hold BOOT, tap RESET if needed), then mpremote cp firmware/badge.py firmware/main.py : and reset.

Status — please read

  • Not built or tested yet. The board passes KiCad's design rule check with 0 errors and 0 unconnected nets; the remaining warnings are thermal-relief notes on the USB-C ground pads (also tied by tracks), one copper sliver and some silkscreen-over-pad clipping.
  • Schematic: kicad/badge.kicad_sch (and badge_schematic.pdf) is generated from the same netlist in source/build_badge.py. ERC passes with 0 violations, and KiCad's schematic-parity check matches every board pad to its schematic net (only intentional no-connect pins and mounting-hole BOM flags are reported).
  • The power switch's ON/OFF direction isn't marked; check it on the first board and add the label.
  • The firmware has not run on hardware; the ILI9341 start-up sequence is minimal and may need tuning.
  • The ESP32 antenna sits under the name card with no copper around it; keep metal (e.g. a metal badge clip) away from that area.
Comments

No comments yet. Be the first to ask about this board.

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.