Skip to the content
6 layers70 × 70 mmRp2350-decoder, the printed circuit board in 3D

DIY DCC decoder for model railroad locomotives in an E24 form factor, powered by an RP2350 (Raspberry Pi Pico 2)

Size
70 × 70 mm
Copper layers
6
Thickness
0.85 mm
Parts
543
Nets
328
Pads
1,675
Tracks, vias
3,984, 692
Pours
92
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
11 Jan 2025
Updated
7 Nov 2026

Overview

Rp2350-decoder is an open-source printed circuit board by mikesmitty, from the mikesmitty/rp24-dcc-decoder repository on GitHub. It is a 6-layer board of 70 × 70 mm with 543 parts on 328 nets, routed with 3,984 tracks and 692 vias.

It is built around the RP2350A, AP63203WU and MAX98357AEWL+T, with the MD9927, W25Q128JVPIQ and DMN2991UDA-7B among its other parts. Its parts include 76 capacitors, 76 resistors, 36 diodes, 32 transistors and 24 ICs. It belongs with the RP2350 boards of this library.

Main components

11

README

README.md

rp24-dcc-decoder

DIY DCC decoder for model railroad locomotives in an E24 form factor suitable for N scale/gauge locomotives

decoder top decoder bottom

decoder on USB programmer Decoder identifying to JMRI

Features

  • 8x MOSFET-switched functions
  • 5x GPIO pins (3.3V input/output)
  • Up to 0.75A motor current
  • E24 form factor (approx 20mm x 9mm)
  • i2s audio speaker output
  • 12V nominal rail voltage (16V max)

USB Programmer/E24 Tester

programmer top

  • USB-C port for easy programming and loading sound files
  • Onboard LEDs for all aux outputs for simple decoder testing
  • Breakout header for most E24 pins, including speaker, motor, rectified rail power, Vcc, plus all five E24 GPIO pins (Aux 3, 4, 10, 11, 12)
  • Programming track input header allows for stationary decoder testing and CV programming

RP24 Decoder Pinout

E24 PinFunctionGPIO Pin
1Speaker-USB D-
2Speaker+USB D+
3GNDGND
4-5Motor-N/A
6-7Motor+N/A
8Cap+GPIO20
9Lamp FrontGPIO6 (MOSFET)
10Lamp RearGPIO7 (MOSFET)
11AUX1GPIO8 (MOSFET)
12AUX2GPIO5 (MOSFET)
13AUX8GPIO4 (MOSFET)
14AUX7GPIO3 (MOSFET)
15AUX6GPIO9 (MOSFET)
16AUX5GPIO2 (MOSFET)
17U+DC Rail Voltage
18Vcc3.3V
19AUX10GPIO10
20AUX4GPIO13
21AUX3GPIO14
22GNDGND
23AUX11GPIO0
24AUX12GPIO1
N/AMotor Driver AGPIO25
N/AMotor Driver BGPIO26
N/ABack EMF AGPIO28
N/ABack EMF BGPIO29
N/ADCC signal Left RailGPIO21
N/ADCC signal Right RailGPIO27
N/ARailCom OutGPIO11
N/AStatus LEDGPIO19
N/Ai2s DINGPIO22
N/Ai2s BCLKGPIO23
N/Ai2s LRCLKGPIO24
N/ACharge external keepalive capacitor (PWM at very low duty cycle only)GPIO20

E24 Receiver/Wire Breakout Board

receiver top receiver bottom

Receiver Board Solder Pads

E24 PinFunctionLabel
1Speaker-SPK
2Speaker+SPK
3GNDG
4-5Motor-- MOTOR +
6-7Motor+- MOTOR +
8External Capacitor+C
9Lamp FrontF LAMP R
10Lamp RearF LAMP R
11AUX11
12AUX22
17DC Rail VoltageRV
18Microcontroller Voltage OutputVcc
19AUX1010
20AUX44
21AUX33
22GNDG
23AUX1111
24AUX1212

Inspired by the rp2040-decoder project by gab-k: https://github.com/gab-k/RP2040-Decoder

Reference:

E24

RailCom

View this project on CADLAB.io.

Parts

543
QtyValueFootprintReferences
263NPTHNPTHKiKit_MB_10_1, KiKit_MB_10_2, KiKit_MB_10_3, KiKit_MB_10_4, KiKit_MB_10_5, KiKit_MB_10_10, KiKit_MB_10_11, KiKit_MB_10_12, KiKit_MB_10_13, KiKit_MB_10_14, KiKit_MB_10_15, KiKit_MB_10_16, KiKit_MB_10_17, KiKit_MB_10_18, KiKit_MB_10_19, KiKit_MB_10_20 +247
326.8Krp2350-decoder:R_0201_0603MetricR1, R1, R1, R1, R12, R12, R12, R12, R13, R13, R13, R13, R16, R16, R16, R16 +16
28100nFrp2350-decoder:C_0201_0603MetricC1, C1, C1, C1, C12, C12, C12, C12, C13, C13, C13, C13, C14, C14, C14, C14 +12
241Krp2350-decoder:R_0201_0603MetricR2, R2, R2, R2, R15, R15, R15, R15, R17, R17, R17, R17, R19, R19, R19, R19 +8
204.7uFrp2350-decoder:C_0201_0603MetricC10, C10, C10, C10, C15, C15, C15, C15, C17, C17, C17, C17, C18, C18, C18, C18 +4
16DMN2991UDA-7Brp2350-decoder:X2-DFN0806-6_L0.8-W0.6_X2-DFN0806-6Q5, Q5, Q5, Q5, Q6, Q6, Q6, Q6, Q7, Q7, Q7, Q7, Q8, Q8, Q8, Q8
16LMBR4020H3T5Grp2350-decoder:U-DFN1608-2_L1.6-W0.8-RDD1, D1, D1, D1, D2, D2, D2, D2, D3, D3, D3, D3, D4, D4, D4, D4
1222Rrp2350-decoder:R_0201_0603MetricR9, R9, R9, R9, R10, R10, R10, R10, R11, R11, R11, R11
810pFrp2350-decoder:C_0201_0603MetricC8, C8, C8, C8, C11, C11, C11, C11
82.2uFrp2350-decoder:C_0402_1005MetricC2, C2, C2, C2, C3, C3, C3, C3
8AP1606rp2350-decoder:Diodes_DFN1006-3Q1, Q1, Q1, Q1, Q2, Q2, Q2, Q2
8BZX884C3V3rp2350-decoder:DFN1006-2L-RDD7, D7, D7, D7, D8, D8, D8, D8
8FiducialFiducialKiKit_FID_B_1, KiKit_FID_B_2, KiKit_FID_B_3, KiKit_FID_B_4, KiKit_FID_T_1, KiKit_FID_T_2, KiKit_FID_T_3, KiKit_FID_T_4
8NST847BPDP6T5Grp2350-decoder:SOT-963Q3, Q3, Q3, Q3, Q4, Q4, Q4, Q4
8RB161QS-40rp2350-decoder:DIO-SMD_L1.0-W0.6-P0.65-RDD5, D5, D5, D5, D6, D6, D6, D6
4100uFrp2350-decoder:C_1206_3216MetricC6, C6, C6, C6
42.2Krp2350-decoder:R_0201_0603MetricR3, R3, R3, R3
422uFrp2350-decoder:C_0603_1608MetricC5, C5, C5, C5
43.3uHrp2350-decoder:L_pol_2016L2, L2, L2, L2
433Rrp2350-decoder:R_0201_0603MetricR14, R14, R14, R14
44.7uHrp2350-decoder:IND-SMD_L2.5-W2.0-VLS252012CX-150ML1, L1, L1, L1
447uFrp2350-decoder:C_1206_3216MetricC16, C16, C16, C16
45052702412rp2350-decoder:CONN-SMD_5052702412J3, J3, J3, J3
4ABM8-272-T3rp2350-decoder:Crystal_SMD_3225-4Pin_3.2x2.5mmY1, Y1, Y1, Y1
4AP63203WUrp2350-decoder:TSOT-26_L2.9-W1.6-P0.95-LS2.8-BLU2, U2, U2, U2
4BOOTrp2350-decoder:SW-SMD_4P-L2.6-W1.6-P0.75-LS3.0SW1, SW1, SW1, SW1
4Blue LEDrp2350-decoder:LED_0402_1005MetricD9, D9, D9, D9
4MAX98357AEWL+Trp2350-decoder:WLP-9_L1.4-W1.3-P0.40-R3-C3-BRU5, U5, U5, U5
4MD9927rp2350-decoder:WDFN-8_L2.0-W2.0-P0.50-BL-EPU6, U6, U6, U6
4NCS2220AMUT1Grp2350-decoder:DFN-8_L1.6-W1.6-P0.40-BL-EPU1, U1, U1, U1
4RP2350Arp2350-decoder:QFN-60_L7.0-W7.0-P0.40-TL-EP3.4U4, U4, U4, U4
4SWCLKrp2350-decoder:Pogo Pad 0.8mmJ2, J2, J2, J2
4SWDIOrp2350-decoder:Pogo Pad 0.8mmJ1, J1, J1, J1
4W25Q128JVPIQrp2350-decoder:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mmU3, U3, U3, U3

More from mikesmitty/rp24-dcc-decoder

5
  • 2 layers70 × 70 mmE24-receiver board, the printed circuit board in 3D

    E24-receiver board

    mikesmitty/rp24-dcc-decoder

    DIY DCC decoder for model railroad locomotives in an E24 form factor, powered by an RP2350 (Raspberry Pi Pico 2)

    307 parts12
  • 2 layers52.5 × 42 mmPico2-test mule, the printed circuit board in 3D

    Pico2-test mule

    mikesmitty/rp24-dcc-decoder

    DIY DCC decoder for model railroad locomotives in an E24 form factor, powered by an RP2350 (Raspberry Pi Pico 2)

    71 parts12
  • 6 layers19.9 × 8.8 mmRp2350-decoder, the printed circuit board in 3D

    Rp2350-decoder

    mikesmitty/rp24-dcc-decoder

    DIY DCC decoder for model railroad locomotives in an E24 form factor, powered by an RP2350 (Raspberry Pi Pico 2)

    67 parts12
  • 2 layers50 × 25 mmRp24-usb tester, the printed circuit board in 3D

    Rp24-usb tester

    mikesmitty/rp24-dcc-decoder

    DIY DCC decoder for model railroad locomotives in an E24 form factor, powered by an RP2350 (Raspberry Pi Pico 2)

    40 parts12
  • 2 layers24 × 8.6 mmE24-receiver board, the printed circuit board in 3D

    E24-receiver board

    mikesmitty/rp24-dcc-decoder

    DIY DCC decoder for model railroad locomotives in an E24 form factor, powered by an RP2350 (Raspberry Pi Pico 2)

    21 parts12

Similar boards

  • 6 layers32 × 35 mmDreamscape F405-2020, the printed circuit board in 3D

    Dreamscape F405-2020

    sneakylizard123-4/Dreamscape-F405-2020

    a 20x20mm flight controller for 3" fpv drone

    122 parts
  • 4 layers65 × 20 mmBoard v0, the printed circuit board in 3D

    Board v0

    preyneyv/mck-parting-board

    92 parts
  • 4 layers114.6 × 70.2 mmPanelized-4layer, the printed circuit board in 3D

    Panelized-4layer

    openconcepts-ar/accel2d

    This project aims to provide a graphics server system based on hardware accelerated graphics, and a easy way to develop the graphics primitives.

    470 parts1
  • 6 layers36.8 × 16.4 mmIntegrated Debugger, the printed circuit board in 3D

    Integrated Debugger

    PicoballoonLabs/Debug-Boards

    Hardware designs for the integrated debug probe, debug adapter, flex debug cables and RF VNA calibrator

    72 parts1MIT
  • 2 layers10.6 × 18.5 mmAsmartcap xMoto, the printed circuit board in 3D

    Asmartcap xMoto

    xpix/XMOTO_TINYAVR

    This code is designed for a motor controller and has merged the PID code of Josh Kopel with the code of the Makerbot servo-controller board. This code can be used on some boards by changing some values.

    21 parts6
  • 4 layers57 × 56.2 mmRp2040-decoder, the printed circuit board in 3D

    Rp2040-decoder

    mikesmitty/electronics-projects

    599 parts1
  • 2 layers29.8 × 46.2 mmDaisy Board Out, the printed circuit board in 3D

    Daisy Board Out

    williamthayer/DaisyBoards

    A full repo of all the design files for each DaisyBoard

    88 parts1
  • 4 layers21 × 51 mmICE40UP5K SG48I, the printed circuit board in 3D

    ICE40UP5K SG48I

    SorenGilkeyJohnson/iCEPico

    A custom dev board based on the RP2350 microcontroller and the ICE40UP5K-SG48I FPGA.

    75 parts1CERN-OHL-S-2.0

Questions

How big is the Rp2350-decoder PCB?

It measures 70 × 70 mm and has 6 copper layers, 0.85 mm thick.

What parts does the Rp2350-decoder use?

543 parts, built around the RP2350A, AP63203WU, MAX98357AEWL+T and MD9927. 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 Rp2350-decoder KiCad files?

From the mikesmitty/rp24-dcc-decoder repository on GitHub, at the commit this page was made from: the board is hardware/rp2350-decoder/production/rp2350-decoder.kicad_pcb and its schematic hardware/e24-receiver-board/e24-receiver-board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Rp2350-decoder design in my own project?

Its repository states no licence, so its author keeps all rights: ask mikesmitty before reusing the design.