Rioctrl controller
festlv·rioctrl-hw·rioctrl-controller/rioctrl-controller.kicad_pcb
About the Rioctrl controller PCB
Rioctrl controller is an open source RP2040/RP2350 PCB design by festlv, published on GitHub under the CERN-OHL-S-2.0 license. It is a 4-layer board measuring 190 × 100 mm, with 260 components from 74 distinct parts.
Its main chip is the RP2040, from the RP2040/RP2350 family. Other key parts include the TD6811, TPS54335ADDAR, NCP114ASN250T1G, W25Q16JVSSIQ and USBLC6-4SC6. By type, the board carries 67 capacitors, 63 resistors, 32 diodes, 29 ICs, 28 inductors and 18 fuses.
It belongs with the robotics & motion designs in this gallery.
From the project
Hardware design for modular CNC controller
The heart of controller is Lattice ECP5-series FPGA with 25k logic cells.
RJ45 Ethernet interface to PC (via Wiznet W5500) USB TypeC for re-flashing the FPGA (using RP2040 microcontroller with pico-dirtyJtag firmware) 12-24V DC input for powering the FPGA and basic slot hardware E-Stop signal that inhibits slot outputs in hardware, independant of FPGA gateware PMOD header for future expansion (e.g. controlling the board via SPI from RaspberryPi or something) JTAG header for FPGA debugging SWD header for JTAG probe debugging :) Six 2x13 pin 2.54mm sockets for slots (each has 12 FPGA signals…

Main components on the Rioctrl controller
Rioctrl controller bill of materials (BOM)
260 components, 74 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | TD6811 Techcode | SOT-23-5 | U1 |
| 2 | TPS54335ADDAR Texas Instruments | SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.29x3mm_ThermalVias | U2, U3 |
| 1 | NCP114ASN250T1G Onsemi | SOT-23-5 | U4 |
| 2 | W25Q16JVSSIQ W25Q16JVSS Winbond | SOIC-8_5.23x5.23mm_P1.27mm | U5, U10 |
| 1 | USBLC6-4SC6 TECH PUBLIC | SOT-23-6 | U6 |
| 1 | RP2040 Raspberry Pi | RP2040-QFN-56 | U7 |
| 1 | W5500 | LQFP-48_7x7mm_P0.5mm | U8 |
| 1 | LFE5U-12F-6BG256C ECP5U_45_CABGA256 Lattice | BGA-256_14.0x14.0mm_Layout16x16_P0.8mm_Ball0.45mm_Pad0.32mm_NSMD | U9 |
| 18 | SRV05-4.TCT SRV05-4 UMW(Youtai Semiconductor Co., Ltd.) | SOT-23-6 | U11, U12, U13, U15, U16, U17, U18, U19 +10 |
| 1 | SN74LVC1G125DBVR SN74LVC1G125DBV Texas Instruments | SOT-23-5 | U14 |
| 4 | BSS138W Jiangsu Changjing Electronics Technology Co., Ltd. | SOT-323_SC-70 | Q1, Q2, Q3, Q4 |
| 1 | OT322525MJBA4SL OSC_25MHz YXC Crystal Oscillators | Oscillator_SMD_EuroQuartz_XO32-4Pin_3.2x2.5mm | X1 |
| 1 | TXM12M0004252DBCEO00T Crystal_12MHz TAE(Zhejiang Abel Elec) | Crystal_SMD_2520-4Pin_2.5x2.0mm | Y1 |
| 1 | TXM25M0004252DBCEO00T Crystal_25MHz Yajingxin | Crystal_SMD_2520-4Pin_2.5x2.0mm | Y2 |
| 2 | KF2EDGR-3.5-2P TERM-BLK-2H Cixi Kefa Elec | PhoenixContact_MC_1,5_2-G-3.5_1x02_P3.50mm_Horizontal | J1, J7 |
| 2 | C49257 PIN_HEADER_3V Boom Precision Elec | PinHeader_1x03_P2.54mm_Vertical | J2, J5 |
| 1 | TYPE-C-31-M-12 Korean Hroparts | USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J3 |
| 1 | Conn_02x05_Odd_Even | PinHeader_2x05_P2.54mm_Vertical | J4 |
| 1 | J0011D21BNL RJ45_Pulse_J0011D21BNL Pulse | RJ45_J0011D21BNL | J6 |
| 1 | Conn_02x05_PH | IDC-Header_2x05_P2.54mm_Vertical | J8 |
Show 54 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 6 | Conn_02x13_Odd_Even | PinSocket_2x13_P2.54mm_Vertical_SMD | J9, J11, J12, J13, J14, J15 |
| 1 | Conn_02x06_Odd_Even | PinSocket_2x06_P2.54mm_Horizontal | J10 |
| 18 | SMD0805B050TF Yageo | Fuse_0805_2012Metric | F1, F2, F3, F4, F5, F6, F7, F8 +10 |
| 1 | TS-1088-AR02016 SW_PUSH_SMALL XUNPU | SW_SPST_AR02016 | SW1 |
| 2 | DSS34 BORN | D_SOD-123F | D1, D9 |
| 4 | SZYY0603R LED_RED Yongyu Photoelectric | LED_0603_1608Metric | D2, D4, D10, D17 |
| 3 | SZYY0603YG LED_GREEN Yongyu Photoelectric | LED_0603_1608Metric | D3, D11, D12 |
| 1 | XL-1608UBC-04 LED_BLUE XINGLIGHT | LED_0603_1608Metric | D5 |
| 9 | BSD5C031V BORN | D_SOD-523 | D6, D7, D8, D14, D19, D22, D25, D28 +1 |
| 6 | SMF24A Shandong Jingdao Microelectronics | D_SOD-123F | D13, D18, D21, D24, D27, D30 |
| 7 | PESD5V0S1BBN BORN | D_SOD-523 | D15, D16, D20, D23, D26, D29, D32 |
| 25 | UPZ1608E101-3R0TF FB_100R_3A Sunlord | L_0603_1608Metric | FB1, FB2, FB3, FB4, FB5, FB6, FB7, FB8 +17 |
| 1 | MLP2012S4R7MT0S1 TDK | L_0805_2012Metric | L1 |
| 2 | PSPMAA0805-220M-ANP PROD Tech | SMD_INDUCTOR_8x8.5x5mm | L2, L3 |
| 1 | GRM21BR6YA106ME43L 10uF Murata | C_0805_2012Metric | C1 |
| 2 | GRM21BR61H106KE43L 10uF | C_0805_2012Metric | C2, C3 |
| 8 | 0.1uF | C_0603_1608Metric | C4, C5, C13, C14, C36, C40, C41, C42 |
| 2 | 120pF | C_0603_1608Metric | C6, C7 |
| 2 | 0.012uF | C_0603_1608Metric | C8, C9 |
| 1 | DNP | C_0603_1608Metric | C10 |
| 1 | GRM21BR6YA106ME43L 10uF/35V Murata | C_0805_2012Metric | C11 |
| 11 | CC0603KRX7R9BB104 0.1uF Yageo | C_0603_1608Metric | C12, C21, C24, C25, C27, C28, C29, C30 +3 |
| 4 | GRM21BR61H106KE43L 47uF | C_0805_2012Metric | C15, C16, C17, C18 |
| 2 | 1uF | C_0603_1608Metric | C19, C20 |
| 2 | CC0603JRNPO9BN100 10pF Yageo | C_0603_1608Metric | C22, C23 |
| 1 | CL10A105KA8NNNC 1uF Samsung | C_0603_1608Metric | C26 |
| 2 | 18pF | C_0603_1608Metric | C33, C34 |
| 2 | 10uF/6.3V | C_0603_1608Metric | C35, C39 |
| 2 | 10nF | C_0603_1608Metric | C37, C46 |
| 1 | 4.7uF | C_0603_1608Metric | C38 |
| 1 | 22nF | C_0603_1608Metric | C43 |
| 2 | 6.8nF | C_0603_1608Metric | C44, C45 |
| 20 | 0.1uF | C_0402_1005Metric | C47, C48, C49, C50, C51, C52, C53, C54 +12 |
| 11 | 10K | R_0603_1608Metric | R1, R29, R30, R31, R32, R44, R45, R46 +3 |
| 5 | 47K | R_0603_1608Metric | R2, R3, R5, R7, R10 |
| 2 | 220K | R_0603_1608Metric | R4, R6 |
| 2 | 3.47K | R_0603_1608Metric | R8, R9 |
| 1 | RC0603FR-0710KL 56.2K Yageo | R_0603_1608Metric | R11 |
| 2 | 100K | R_0603_1608Metric | R12, R14 |
| 1 | 19.1K | R_0603_1608Metric | R13 |
| 1 | 32K | R_0603_1608Metric | R15 |
| 4 | RC0603FR-071KL 1K Yageo | R_0603_1608Metric | R16, R18, R19, R28 |
| 4 | RC0603FR-0710KL 10K Yageo | R_0603_1608Metric | R17, R23, R27, R47 |
| 3 | RC0603FR-075K11L 5.11K Yageo | R_0603_1608Metric | R20, R21, R22 |
| 1 | 1M | R_0603_1608Metric | R24 |
| 1 | 12.4K | R_0603_1608Metric | R25 |
| 1 | RC0603FR-075K11L 100K Yageo | R_0603_1608Metric | R26 |
| 6 | 330R | R_0603_1608Metric | R33, R34, R50, R51, R52, R56 |
| 4 | 0R | R_0603_1608Metric | R35, R36, R37, R38 |
| 4 | 49.9R | R_0603_1608Metric | R39, R40, R42, R43 |
| 1 | 10R | R_0603_1608Metric | R41 |
| 6 | 100R | R_0603_1608Metric | R53, R58, R59, R60, R61, R62 |
| 1 | 1K | R_0603_1608Metric | R55 |
| 2 | 4K7 | R_0603_1608Metric | R57, R63 |
Rioctrl controller design files
The KiCad project lives in the festlv/rioctrl-hw repository on GitHub; these links point at the commit this page was built from.
Rioctrl controller: common questions
What microcontroller does the Rioctrl controller use?
The Rioctrl controller is built around the RP2040, from the RP2040/RP2350 family.
How big is the Rioctrl controller PCB?
The Rioctrl controller measures 190 × 100 mm, has 4 copper layers and is 1.6 mm thick.
How many components are on the Rioctrl controller?
260 components, from 74 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Rioctrl controller design files?
From the festlv/rioctrl-hw repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the Rioctrl controller design in my own project?
Yes, under the terms of its CERN-OHL-S-2.0 license, which festlv chose for the repository.
Can I test firmware for the Rioctrl controller without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug RP2040/RP2350 firmware against it before you order a PCB.
More boards in rioctrl-hw
Rioctrl shiftio
festlv
100 × 100 mm137 parts2LCERN-OHL-S-2.016Rioctrl quadenc4
festlv
100 × 100 mm117 parts2LCERN-OHL-S-2.016Rioctrl stepdir4
festlv
100 × 100 mm94 parts2LCERN-OHL-S-2.016Rioctrl spindle
festlv
100 × 100 mm82 parts2LCERN-OHL-S-2.016Lichuan lc10
festlv
40.5 × 78 mm5 parts2LCERN-OHL-S-2.016Rj45-screw terminals
festlv
34 × 37 mm3 parts2LCERN-OHL-S-2.016
Similar boards
RP2040/RP2350
Open Book Abridged Edition
joeycastillo
85 × 115 mm29 parts2LCC-BY-SA-4.08.1kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
Hid remapper
jfedor2
100 × 100 mm124 parts2LMIT1.7kRP2040/RP2350
Msa
Mentra-Community
47.8 × 9.4 mm53 parts2LMIT1.2kRP2040/RP2350
Open Source Smart Glasses
Mentra-Community
93 × 10.5 mm80 parts4LMIT1.2k