
Node rev.2
engelberd/sensor-system
Working notes for the first custom RP2350A board with ADXL355, USB-C development power/data, 12 V field input, RS485, and a power architecture biased toward a clean accelerometer supply.

Working notes for the first custom RP2350A board with ADXL355, USB-C development power/data, 12 V field input, RS485, and a power architecture biased toward a clean accelerometer supply.
RP2350 is an open-source printed circuit board by engelberd, from the engelberd/sensor-system repository on GitHub. It is a 4-layer board of 51.4 × 31.4 mm with 87 parts on 89 nets, routed with 661 tracks and 54 vias.
It is built around the RP2350A, THVD1450DRBR and W25Q128JVSIQ, with the TPS62175DQCR, ADXL355BEZ-RL7 and TLV75733PDBVR-MS among its other parts. Its parts include 17 capacitors, 14 resistors, 8 ICs, 7 diodes and 2 inductors. It belongs with the RP2350 boards of this library.
Working notes for the first custom RP2350A board with ADXL355, USB-C development power/data, 12 V field input, RS485, and a power architecture biased toward a clean accelerometer supply.
12V_IN
-> input fuse/PTC
-> TVS to GND
-> reverse polarity protection
-> TPS62175 buck, 12 V to 5V_BUCK
USB-C VBUS
-> optional fuse/filter
-> TPS2121 IN2
5V_BUCK
-> TPS2121 IN1
TPS2121 OUT = 5V_SYS
-> TLV75733 -> 3V3_DIG
-> low-noise LDO -> 3V3_ADXL_PRE
-> ferrite / 0R option -> 3V3_ADXLRecommended source priority:
IN1: 5V_BUCK from 12 V, main/field source.IN2: USB_5V, fallback/development source.OUT: 5V_SYS.This means that when both 12 V and USB-C are connected, the board should run from 12 V while USB is used for data/debug. Exact TPS2121 priority and threshold resistors must be set from the datasheet during schematic entry.
| Block | Candidate part | KiCad symbol | KiCad footprint |
|---|---|---|---|
| MCU | RP2350A | MCU_RaspberryPi:RP2350A | Package_DFN_QFN:QFN-60-1EP_7x7mm_P0.4mm_EP3.4x3.4mm_ThermalVias |
| QSPI flash | W25Q128JVS, 16 MiB, SOIC-8 | Memory_Flash:W25Q128JVS if available, otherwise import/vendor symbol | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm |
| Accelerometer | ADXL355BEZ-RL7, LCSC C515892 | local ADXL355BEZ | local E-14-1_ADI |
| Input PTC | PTS181212V150 | Device:Fuse / Device:Polyfuse | likely Fuse:Fuse_1812_4532Metric or vendor footprint |
| Input TVS | SM6T12A | Diode:TVS | usually SMB/SMA package; verify exact package before layout |
| Reverse protection | SS14-E3/61T, LCSC C47460 | Diode:Schottky | usually Diode_SMD:D_SMA / verify exact package |
| Buck 12 V to 5 V | TPS62175DQCR, LCSC C32097 | Regulator_Switching:TPS62175DQC | use TI DQC/VSON-10 footprint; verify against datasheet |
| Power mux | TPS2121RUXR, LCSC C485916 | local TPS2121RUXR | local RUX0012A |
| 3V3_DIG LDO | TLV75733 | Regulator_Linear:TLV75733PDBV or package-specific variant | Package_TO_SOT_SMD:SOT-23-5 for DBV variant |
| 3V3_DIG alternative | AP2112K-3.3 | Regulator_Linear:AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 |
| 3V3_ADXL LDO | TPS7A2033 or ADP150-3.3 | Regulator_Linear:TPS7A20xxxDBV or imported ADP150 | Package_TO_SOT_SMD:SOT-23-5 or exact vendor package |
| ADXL supply filter | MPZ2012S601AT000, 600R @ 100 MHz, 0805 | Device:Ferrite_Bead | Inductor_SMD:L_0805_2012Metric |
| RS485 TVS | CDSOT23-SM712 | Diode:SM712_SOT23 | Package_TO_SOT_SMD:SOT-23 |
| RS485 transceiver | THVD1450DR | Interface_UART:THVD1450DR | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm |
| USB ESD | USBLC6-2SC6 or TPD2EUSB30 | Power_Protection:USBLC6-2SC6 / Power_Protection:TPD2EUSB30 | package-specific SOT-23-6 / X2SON, verify selected part |
| USB-C connector | select exact vertical USB-C part | Connector:USB_C_Receptacle_USB2.0_16P | select exact manufacturer footprint |
Local downloaded libraries already found:
ADXL355 symbol:
/Users/anone/Downloads/ul_ADXL355BEZ/KiCADv6/2026-05-26_12-26-55.kicad_sym
ADXL355 footprints:
/Users/anone/Downloads/ul_ADXL355BEZ/KiCADv6/footprints.pretty/E-14-1_ADI.kicad_mod
/Users/anone/Downloads/ul_ADXL355BEZ/KiCADv6/footprints.pretty/E-14-1_ADI-L.kicad_mod
/Users/anone/Downloads/ul_ADXL355BEZ/KiCADv6/footprints.pretty/E-14-1_ADI-M.kicad_mod
TPS2121 symbol:
/Users/anone/Downloads/ul_TPS2121RUXR/KiCADv6/2026-05-26_13-55-57.kicad_sym
TPS2121 footprint:
/Users/anone/Downloads/ul_TPS2121RUXR/KiCADv6/footprints.pretty/RUX0012A.kicad_modInitial 12 V input chain:
J_PWR.1 = +12V_IN_RAW
J_PWR.2 = GND
+12V_IN_RAW -> F1 PTC -> +12V_PROT
+12V_PROT -> D_TVS -> GND
+12V_PROT -> D_REV Schottky series -> +12V_SAFE
+12V_SAFE -> TPS62175 VINNotes:
PTS181212V150 is acceptable for a controlled 12 V lab input, but consider a
higher voltage-rated fuse/PTC for field or industrial-style inputs.SM6T12A is aggressive for nominal 12 V. It is fine for a well-controlled
12 V adapter, but for systems that can sit above 12 V, consider a 15 V or
18 V working-voltage TVS while keeping the TPS62175 28 V input limit safe.SS14 as a series reverse-protection diode is simple and acceptable for V1.
A P-MOS/ideal-diode style reverse protector would reduce voltage drop and heat.Target output: 5V_BUCK.
Required schematic items:
5V_BUCK, selected from TPS62175 datasheet guidance.+12V_SAFE or configured with UVLO if desired.5V_BUCK.Layout priority:
USB-C development connector:
VBUS -> USB_5V
GND -> GND
CC1 -> 5.1k -> GND
CC2 -> 5.1k -> GND
D+ -> USB ESD -> RP2350 USB_DP
D- -> USB ESD -> RP2350 USB_DMPower mux:
TPS2121 IN1 <- 5V_BUCK
TPS2121 IN2 <- USB_5V
TPS2121 OUT -> 5V_SYS
TPS2121 GND -> GNDDo not leave TPS2121 control pins floating. Configure:
Exact resistor values should be calculated directly from the TPS2121 datasheet.
Digital rail:
5V_SYS -> TLV75733 -> 3V3_DIG3V3_DIG powers:
Analog/accelerometer rail:
5V_SYS -> low-noise LDO -> 3V3_ADXL_PRE
3V3_ADXL_PRE -> MPZ2012S601AT000 / 0R option -> 3V3_ADXL
3V3_ADXL -> ADXL355 VDD and VDDIORecommendation:
3V3_DIG.3V3_ADXL.Despite the historical directory name, this in-progress schematic is not the
source of truth for the V2 boards installed in Sanok. The installed V2 pin map
is maintained in node/config/board_profile.h.
Keep the first custom board close to the current firmware pinout.
ADXL355 SPI:
SCK -> GPIO10
MOSI -> GPIO11
MISO -> GPIO12
CS -> GPIO13
DRDY -> GPIO14
INT1 -> GPIO15RS485:
UART TX -> GPIO0
UART RX -> GPIO1
DE -> GPIO2This minimizes firmware changes during bring-up.
Basic RS485 block:
3V3_DIG -> THVD1450DR VCC
RP2350 UART_TX -> D
RP2350 UART_RX <- R
RP2350 GPIO_DE -> DE and /RE control as desired
A/B -> connector
A/B -> CDSOT23-SM712 -> GND
Optional 120R termination across A/B via jumper or DNP resistor
Optional failsafe bias resistor footprints if neededUse 3V3_DIG, not 3V3_ADXL, for RS485.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 13 | 100nF | Capacitor_SMD:C_0402_1005Metric | C_IN1, C_IN2, C13, C19, C20, C21, C22, C24, C25, C30, C34, C35, C37 |
| 7 | 100k | Resistor_SMD:R_0402_1005Metric | R_ILM1, R_PR1_BOT1, R5, R6, R7, R23, R24 |
| 5 | 2.2uF | Capacitor_SMD:C_0805_2012Metric | C6, C15, C16, C31, C32 |
| 4 | 2.2k | Resistor_SMD:R_0402_1005Metric | R20, R25, R26, R28 |
| 4 | 22uF | Capacitor_SMD:C_0805_2012Metric | C_OUT1, C_USB_BULK1, C7, C18 |
| 3 | 100nF | Capacitor_SMD:C_0603_1608Metric | C5, C17, C28 |
| 3 | LED_RED | LED_SMD:LED_0603_1608Metric | D3, D5, D7 |
| 2 | 10k | Resistor_SMD:R_0402_1005Metric | R14, R27 |
| 2 | 10uF | Capacitor_SMD:C_0805_2012Metric | C4, C33 |
| 2 | 1M | Resistor_SMD:R_0603_1608Metric | R_SHIELD1, R12 |
| 2 | 27ohm | Resistor_SMD:R_0402_1005Metric | R9, R10 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R2, R3 |
| 2 | JST-GH-5 | footprints:CONN-SMD_BM05B-GHS-TBT | J_IN1, J_OUT1 |
| 2 | MountingHole | MountingHole:MountingHole_2.5mm | H1, H2 |
| 1 | 0R DNP | Resistor_SMD:R_0805_2012Metric | R_SHIELD_0R1 |
| 1 | 100k | Resistor_SMD:R_0603_1608Metric | R22 |
| 1 | 10nF | Capacitor_SMD:C_0805_2012Metric | C_SHIELD1 |
| 1 | 10nF | Capacitor_SMD:C_0603_1608Metric | C14 |
| 1 | 10uF | Capacitor_SMD:C_0603_1608Metric | C23 |
| 1 | 10uH | footprints:FXL0420-100-MIND-SMD_L4.4-W4.2 | L2 |
| 1 | 120ohm | Resistor_SMD:R_0805_2012Metric | R21 |
| 1 | 1nF/2kV | Capacitor_SMD:C_1206_3216Metric | C11 |
| 1 | 1uF | Capacitor_SMD:C_0603_1608Metric | C36 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric | C29 |
| 1 | 3.3uH | footprints:IND-SMD_L2.0-W1.6_AOTA-B201610S3R3-101-T | L3 |
| 1 | 324k | Resistor_SMD:R_0402_1005Metric | R_PR1_TOP1 |
| 1 | 33ohm | Resistor_SMD:R_0402_1005Metric | R17 |
| 1 | 4.7uF | Capacitor_SMD:C_0603_1608Metric | C26 |
| 1 | 4.7uF | Capacitor_SMD:C_0805_2012Metric | C27 |
| 1 | 523k | Resistor_SMD:R_0402_1005Metric | R4 |
| 1 | ADXL355BEZ-RL7 | footprints:ADXL355BEZ-RL7 | U3 |
| 1 | BOOTSEL | footprints:KEY-SMD_4P-L4.2-W3.2-P2.20-LS4.6 | SW1 |
| 1 | FerriteBead_S | Inductor_SMD:L_0805_2012Metric | FB1 |
| 1 | Jumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm | JP1 |
| 1 | LED_GREEN | LED_SMD:LED_0805_2012Metric | D6 |
| 1 | Polyfuse_Small | Fuse:Fuse_1812_4532Metric | F1 |
| 1 | RP2350A | Package_DFN_QFN:QFN-60-1EP_7x7mm_P0.4mm_EP3.4x3.4mm | U1 |
| 1 | SM712_SOT23 | Package_TO_SOT_SMD:SOT-23 | D4 |
| 1 | SMBJ14A | Diode_SMD:D_SMB | D2 |
| 1 | SS14 | Diode_SMD:D_SMA | D1 |
| 1 | THVD1450DR | footprints:THVD1450DR-SOIC-8_L4.9-W3.9-P1.27-LS6.0-BL | U2 |
| 1 | TLV75733PDBVR | footprints:TLV75733PDBVR-SOT-23-5_L2.9-W1.6-P0.95-LS2.8-BL | U6 |
| 1 | TPS2121RUXR | footprints:TPS2121RUXR-VQFN-HR-12_L2.5-W2.0-P0.50-BL | U4 |
| 1 | TPS62175DQCR | footprints:TPS62175DQCR_WSON-10_L3.0-W2.0-P0.50-BL-EP | U_BUCK1 |
| 1 | TPS7A2033PDBVR | footprints:TPS7A2033PDBVR | U8 |
| 1 | USBLC6-2SC6 | footprints:USBLC6-2SC6 | U5 |
| 1 | USB_C_Receptacle_USB2.0_14P | footprints:USB-C-SMD_GT-USB-7051A | J3 |
| 1 | W25Q128JVS | footprints:WSON-8_L6.0-W5.0-P1.27-BL-EP | U7 |

engelberd/sensor-system
Working notes for the first custom RP2350A board with ADXL355, USB-C development power/data, 12 V field input, RS485, and a power architecture biased toward a clean accelerometer supply.

beaked99/air-scales
2025-11-20. Updated all the footprints and symbols to their proper layouts. no more fkn errors. Hallefuckinglujah. Fucked up with LM74610 not using the right footprint. minor fix. 2025-11-16.

Gamecard/k2-plus-cm5
K2 Plus CM5 – Creality K2 Plus mit Upstream-Klipper auf einem Raspberry Pi CM5




FulongLi/AIPE-PCB-Agent
AIPE-PCB-Agent is the PCB design automation of the AIPE power-electronics ecosystem. Python generators turn a requirement file set (specification, insulation table, components, interfaces, floorplan and routing inputs)…


pulikantitarun/redcat51ii-automated-flat-panel
Automated flat panel controller, PCB, firmware, and 3D-printable hardware for the William Optics RedCat 51 II and ASIAIR Plus
It measures 51.4 × 31.4 mm and has 4 copper layers, 1.6 mm thick.
87 parts, built around the RP2350A, THVD1450DRBR, W25Q128JVSIQ and TPS62175DQCR. 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 engelberd/sensor-system repository on GitHub, at the commit this page was made from: the board is hardware/Node rev.3.5/RP2350.kicad_pcb and its schematic hardware/Node rev.2/Node rev.2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask engelberd before reusing the design.