
Pager
justinlindh/bramble
Privacy-first LoRa mesh networking for ESP32-S3, built with ESP-IDF

USB-C J5 ──► U8 ESD ──► R19/R20 22R ──► U4 IO19/IO20 (native USB-Serial/JTAG) │VBUS ├─► U5 TP4057 充电 ──► J6 1S Li-ion └─► D1/Q1 负载切换 ──► VSYS ──► U6 XC6220 3V3 1A ──► VCC3V3 ──► U4/外设 └──► U7 HT7533 ──► VDDADC ──► U1/U3…
S3.1-before repack is an open-source printed circuit board by puji4810, from the puji4810/coffe-scale repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 90 × 55 mm with 96 parts on 81 nets, routed with 940 tracks and 159 vias.
It is built around the ESP32-S3-WROOM-1-N16R8, NAU7802SGI and HT7533-1, with the LIS2DW12, TMP 10212 and USBLC6-2SC6 among its other parts. Its parts include 31 resistors, 29 capacitors, 8 ICs, 7 connectors and 3 diodes. It belongs with the ESP32 boards of this library.
一块 ESP32-S3 + NAU7802 主控板,同时服务两个产品形态:
本目录是
pcb/scale-adc-s3/的改版。与 rev C 的差异: 90×55 规矩板框、MCU 居中、四角 M2 安装孔;新增 J10 2×10 南缘扩展口 与 J11 1×4 称重通道 2(VIN2)接口;NAU7802 VIN2 不再接地; 原 J9 扩展尝试在本版落地为 J10;测试点列移至板南侧。
USB-C J5 ──► U8 ESD ──► R19/R20 22R ──► U4 IO19/IO20 (native USB-Serial/JTAG)
│VBUS
├─► U5 TP4057 充电 ──► J6 1S Li-ion
└─► D1/Q1 负载切换 ──► VSYS ──► U6 XC6220 3V3 1A ──► VCC_3V3 ──► U4/外设
└──► U7 HT7533 ──► VDD_ADC ──► U1/U3 (安静电源轨)
L6D 3kg ──J2──► R1/R2 1k + C5/C10/C11 EMI 滤波 ──► U1 NAU7802 ch1 (I2C 0x2A)
J11 ch2 ──► C27 100n 差模电容 ──► U1 VIN2 (不再接地)
U2 LIS2DW12 (0x18) U3 TMP102 (0x48) 共享 I2C: SDA=IO10, SCL=IO11
J7 SPI LCD J8 按键 (TARE/MODE) BZ1 蜂鸣器 (Q2 2N7002 驱动)
J10 2×10 ──► 机器电源/驱动板(泵/加热/流量/喷嘴)J2 → 称重传感器 ch1:1=E+ (AVDD 激励), 2=E- (GND), 3=S-, 4=S+, 5=SHLD(GND)
J5 → USB-C:USB 2.0,VBUS 充电/供电
J6 → 电池:1=BAT+, 2=GND(JST PH 2.0)
J7 → LCD:1=GND, 2=3V3, 3=SCK, 4=MOSI, 5=CS, 6=DC, 7=RST(局部 RC 上电复位), 8=BL
J8 → 按键/触摸:1=GND, 2=TARE, 3=MODE, 4=3V3(4P JST PH;供 TTP223 触摸模块,老 3P 按键线仍兼容)
J11 → 称重通道 2 / VIN2:1=E+, 2=E-, 3=S2-, 4=S2+; rev C 把 VIN2 接地作废,本版经 C27 100n 差模电容后直连 NAU7802 ch2, 可接第二称重传感器或 PT1000(比率测量)
J10 → 机器电源/驱动板(2×10 PTH,南缘居中):
| pin | 信号 | pin | 信号 |
|---|---|---|---|
| 1 | XIO38 (经 R24 100R) | 11 | EXP_5V |
| 2 | XIO39 (R25) | 12 | 3V3 |
| 3 | XIO40 (R26) | 13–15 | GND |
| 4 | XIO41 (R27) | 16 | SDA |
| 5 | XIO42 (R28) | 17 | SCL |
| 6 | XIO14 (R29) | 18 | TXD (UART0) |
| 7 | XIO15 (R30, R32 10k 下拉) | 19 | RXD (UART0) |
| 8 | XIO17 (R31) | 20 | EN |
| 9 | XIO1 (直连) | ||
| 10 | XIO47 (直连) |
A 排(1–10)= GPIO,其中 pin1–8 各经 100R 串阻限流/保护; B 排(11–20)= 电源 + 总线。pin20 EN 可让功率板复位主控; pin18/19 是 UART0,兼作烧录/调试兜底。
D3 (DNP) → EXP_5V→VBUS 注入:功率板 5V 反灌选项。贴 B5819W = 二极管 OR(防 USB 反灌,~0.3 V 压降仍可经 TP4057 充电); 或 0R/飞线直通。纯秤 BOM 永不贴。
| 信号 | GPIO | 备注 |
|---|---|---|
| LCD_SCK/MOSI/CS/DC | IO4/IO5/IO6/IO7 | SPI |
| CHRG_STAT | IO8 | TP4057 开漏充电指示 |
| VBAT_SENSE | IO9 | R13/R14 100k 分压 |
| SDA / SCL | IO10 / IO11 | I2C 总线,并上 J10.16/17 |
| DRDY | IO12 | NAU7802 数据就绪 |
| INT1 | IO13 | LIS2DW12 中断(唤醒/敲击/就绪) |
| EXP_IO14 / EXP_IO15 | IO14 / IO15 | J10 pin6/pin7(经 R29/R30);IO15 原 LCD_RST 改局部 RC POR 后释放 |
| LCD_BL | IO16 | |
| EXP_IO17 | IO17 | J10 pin8(经 R31) |
| BTN_MODE | IO18 | |
| USB D-/D+ | IO19 / IO20 | 原生 USB,经 R19/R20 22R + U8 ESD |
| BUZZ | IO21 | Q2 低侧开关 + D2 续流 |
| EXP_IO38–42 | IO38–IO42 | J10 pin1–5(经 R24–R28) |
| EXP_IO47 | IO47 | J10 pin10 直连 |
| EXP_IO1 | IO1 | J10 pin9 直连(原 UART1 候选脚,strapping 无关) |
| BTN_TARE | IO48 | 非 strapping 脚(rev C.1 从 IO46 改来) |
| UART0 TXD/RXD | TXD0 / RXD0 | TP5/TP6 + J10.18/19 |
| BOOT | IO0 | R6 10k 上拉;TP4 短接 GND = 下载模式 |
| EN | EN | R5 10k + C14 1u RC;TP3 复位 + J10.20 |
| NC | IO2/IO3, IO45/46 | IO35–37 被八线 PSRAM 占用;IO45/46 strapping 脚留空 |
| 位号 | 纯秤 BOM | 机器 BOM |
|---|---|---|
| J10, R24–R32, D3 | J10+R24–R31 可贴可省(调试用);R32 贴(安全下拉);D3 不贴 | 全贴,D3 按供电方案选 B5819W 或 0R |
| J11, C27 | 可不贴(ch2 不用) | 贴(第二称重/PT1000) |
| J6, 电池 | 贴 | 可不贴 |
| J7/J8/BZ1/LCD | 贴 | 按需(机器形态可用板载 LCD 做状态屏,也可不贴走 J10 远程显示) |
s3.1.kicad_sch / s3.1.kicad_pcb — KiCad 10 工程s3.1.pretty/ — 项目内自包含封装库(含 PinHeader_2x10_P2.54mm_Vertical 等新封装)tools/gen_sch.py, tools/gen_pcb.py, tools/gen_cpl.py — 生成脚本tools/autoroute.py — FreeRouting 自动布线(DSN/SES 往返 + 合并 +
relock + DRC/rip-up 循环)tools/route_check.py — 候选走线几何校验器(候选路径落地前必过)tools/net_islands.py, tools/region_dump.py — 连通性/区域铜皮审计s3.1-erc.txt / s3.1-drc.txt — 验证报告kicad-cli sch erc --format report --output s3.1-erc.txt \
--severity-all s3.1.kicad_sch
kicad-cli pcb drc --format report --output s3.1-drc.txt \
--severity-all --refill-zones s3.1.kicad_pcb布线流程:gen_pcb.py 只布模拟区与关键电源的手布走线并打 (locked yes);
其余交 autoroute.py(FreeRouting)全局布线,手工修补一律先过
route_check.py 校验再落地并加锁。
当前状态见 s3.1-drc.txt;布线收敛过程见 git 历史与 tools/fix_routes*.py。
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 100R | s3-1:SMD_0805_V | R24, R25, R26, R27, R28, R29, R30, R31 |
| 7 | 100n | s3-1:SMD_0805 | C1, C2, C7, C17, C18, C19, C26 |
| 7 | 10k | s3-1:SMD_0805 | R5, R6, R11, R15, R16, R21, R32 |
| 7 | 10u | s3-1:SMD_0805 | C9, C13, C15, C16, C20, C21, C22 |
| 4 | 100k | s3-1:SMD_0805 | R12, R13, R14, R18 |
| 4 | M2 | s3-1:MountingHole_M2_NPTH | MH1, MH2, MH3, MH4 |
| 3 | 100n | s3-1:SMD_0805_VR | C4, C5, C27 |
| 3 | 1k | s3-1:SMD_0805 | R17, R22, R23 |
| 2 | 1k | s3-1:SMD_0805_VR | R1, R2 |
| 2 | 1n | s3-1:SMD_0805 | C28, C29 |
| 2 | 1n | s3-1:SMD_0805_F | C10, C11 |
| 2 | 1u | s3-1:SMD_0805 | C3, C25 |
| 2 | 22R | s3-1:SMD_0805_F | R19, R20 |
| 2 | 4k7 | s3-1:SMD_0805 | R3, R4 |
| 2 | 5k1 | s3-1:SMD_0805_VR | R8, R9 |
| 2 | B5819W | s3-1:D_SOD-123 | D1, D3 |
| 2 | DNP | s3-1:SMD_0805_V | C23, C24 |
| 1 | 100n | s3-1:SMD_0805_F | C12 |
| 1 | 100n | s3-1:SMD_0805_V | C6 |
| 1 | 1N4148W | s3-1:D_SOD-123 | D2 |
| 1 | 1u | s3-1:SMD_0805_V | C14 |
| 1 | 2N7002 | s3-1:SOT-23 | Q2 |
| 1 | 2k7 | s3-1:SMD_0805 | R10 |
| 1 | 4u7 | s3-1:SMD_0805 | C8 |
| 1 | AO3401A | s3-1:SOT-23 | Q1 |
| 1 | BAT | s3-1:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J6 |
| 1 | BTN | s3-1:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical | J8 |
| 1 | CH2 | s3-1:PinHeader_1x04_P2.54mm | J11 |
| 1 | ESP32-S3-WROOM-1-N16R8 | s3-1:ESP32-S3-WROOM-1 | U4 |
| 1 | EXP | s3-1:PinHeader_2x10_P2.54mm_Vertical | J10 |
| 1 | HT7533-1 | s3-1:SOT-89-3 | U7 |
| 1 | LCD | s3-1:JST_PH_B8B-PH-K_1x08_P2.00mm_Vertical | J7 |
| 1 | LIS2DW12 | s3-1:LGA-12_2x2mm_P0.5mm_LIS2DW12 | U2 |
| 1 | LOADCELL | s3-1:PinHeader_1x05_P2.54mm_H | J2 |
| 1 | MLT-8530 | s3-1:MagneticBuzzer_CUI_CMT-8540S-SMT | BZ1 |
| 1 | NAU7802SGI | s3-1:SOIC-16_3.9x9.9mm_P1.27mm | U1 |
| 1 | TMP102 | s3-1:SOT-563_1.6x1.6mm_P0.5mm | U3 |
| 1 | TP4057-42 | s3-1:SOT-23-6 | U5 |
| 1 | TP_3V3 | s3-1:TestPoint_1.2mm | TP10 |
| 1 | TP_AVDD | s3-1:TestPoint_1.2mm | TP8 |
| 1 | TP_BOOT | s3-1:TestPoint_1.2mm | TP4 |
| 1 | TP_EN | s3-1:TestPoint_1.2mm | TP3 |
| 1 | TP_GND | s3-1:TestPoint_1.2mm | TP11 |
| 1 | TP_RXD | s3-1:TestPoint_1.2mm | TP6 |
| 1 | TP_SCL | s3-1:TestPoint_1.2mm | TP13 |
| 1 | TP_SDA | s3-1:TestPoint_1.2mm | TP12 |
| 1 | TP_TXD | s3-1:TestPoint_1.2mm | TP5 |
| 1 | TP_VBG | s3-1:TestPoint_1.2mm | TP7 |
| 1 | TP_VBUS | s3-1:TestPoint_1.2mm | TP9 |
| 1 | TYPE-C-31-M-12 | s3-1:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J5 |
| 1 | USBLC6-2SC6 | s3-1:SOT-23-6 | U8 |
| 1 | XC6220B331MR-G | s3-1:SOT-23-5 | U6 |

justinlindh/bramble
Privacy-first LoRa mesh networking for ESP32-S3, built with ESP-IDF

tsmiltonAgents/pl60c-dmx-wakeup
A small ESP32-S3 board that drives the wired DMX512 input of a Neewer PL60C panel light so the light can be ramped up slowly in the morning (sunrise alarm). Rev A, 2026-09-02.



ephemerkey/ephemerkey
The consumer half of the ephemerkey system, and the second PCB in this repo (alongside hardware/ephemerkey/, sharing the same scripts/kschgen.py engine, Makefile, and lib tables — the multi-project layout used by…

makerspacelt/WormControl-Relay15x5t15-ControlBoard
Dev NOTE: before commit, run ./kibot.sh to regenerate documentation, bom, gerbers and other assets.


It measures 90 × 55 mm and has 2 copper layers, 1.6 mm thick.
96 parts, built around the ESP32-S3-WROOM-1-N16R8, NAU7802SGI, HT7533-1 and LIS2DW12. 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.
From the puji4810/coffe-scale repository on GitHub, at the commit this page was made from: the board is pcb/s3.1/s3.1-before-repack.kicad_pcb and its schematic pcb/s3.1/s3.1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).