Skip to the content
PCBKitNew board
4 layers30.7 × 51.7 mmSmallSpeedController, the printed circuit board in 3D

SmallSpeedController

h0lad/MiniSpeedController7

MiniSpeedController is a dual DC motor controller based on a WCH CH32V003F RISC-V Microcontroller and two TI DRV8837DSGR. It consumes two encoder inputs and is controllable using an USART via simple TLV commands. Sensors can be attached using I2C.

Size
30.7 × 51.7 mm
Copper layers
4
Thickness
1.6 mm
Parts
37
Nets
32
Pads
124
Tracks, vias
213, 195
Pours
6
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
1 Apr 2025
Updated
5 Oct 2025

Overview

SmallSpeedController is an open-source printed circuit board by h0lad, from the h0lad/MiniSpeedController repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 4-layer board of 30.7 × 51.7 mm with 37 parts on 32 nets, routed with 213 tracks and 195 vias.

It is built around the DRV8837DSGR-MS, AP62300TWU and AMS1117-3.3, with the TS-1088-AR02016 among its other parts. Its parts include 13 capacitors, 8 connectors, 7 resistors, 5 ICs and 2 diodes. It belongs with the robots and motor control boards and the RISC-V boards of this library.

Main components

4

README

README.md

docs

Mini (RISC-V DC-Motor) Speed Controller

This project implements a compact DC motor speed controller using a RISC-V microcontroller.

It is designed for speed control via pulse feedback from a light barrier and communicates through a serial interface. Additional sensors can be attached using I2C.

Beware that the entire PCB isn't a masterpiece as this is just for technology evaluation.

Why this thing?

Mostly for playing around with very cheap RISC-V microcontrollers and an execise for C/Rust with very limited resources. It can be used for controlling simple toy robot chassis that usually have two DC motors with light barriers which can be used as feedback loop for a speed control algorithm.

docs

System Overview

Power Supply
  • AP62300 (3A Buck Converter) → 7V rail (for DC motors)
  • AMS1117-3.3 (LDO Regulator) → 3.3V rail (for microcontroller and motor driver logic)
WCH CH32V003 Microcontroller
  • 48 MHz RISC-V core
  • 16 KB Flash / 2 KB SRAM
  • Powered from 3.3V rail
Texas Instruments DRV8837GSGR
  • Brushed DC motor driver
  • 1.8A continuous current capability
  • Logic powered from 3.3V rail
  • DC motors powered from 7V rail

Pin Configuration

Motor Controller 1
PinMeaning
PC5motcon1_sleep
PC6motcon1_in2
PD2motcon1_pwm_in1
Motor Controller 2
PinMeaning
PC3motcon2_sleep
PC4motcon2_in2
PA1motcon2_pwm_in1
PWM Speed Inputs
PinMeaning
PC0pwm_speed_input1
PD3pwm_speed_input2
Communication Interfaces
PinMeaning
PC1i2c_sda
PC2i2c_scl
PD5usart_tx
PD6usart_rx
Debug & Reset
PinMeaning
PD1SWDIO
PD7nRST
Indicators
PinMeaning
PA2status_led

Unused / Spare

PinMeaning
PC7X
PD0X
PD4X

Verification

Hardware Verification v0.4

License

CERN OHL v2 – Strongly Reciprocal (S)

Parts

37
QtyValueFootprintReferences
6100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC5, C6, C7, C8, C9, C11
410kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2, R4, R5, R7
410uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C3, C4, C10
3Conn_01x02_SocketConnector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ1, J2, J4
3Conn_01x03_SocketConnector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_VerticalJ9, J10, J11
222uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC12, C13
2330Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R6
2Conn_01x04_SocketConnector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_VerticalJ5, J6
2DRV8837DSGRlibs:WSON-8_L2.0-W2.0-P0.50-TL-EPU3, U4
2LEDLED_SMD:LED_0805_2012MetricD1, D3
1220nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2
13.3uHlibs:CPX0420L1
182kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1AP62300TWUPackage_TO_SOT_SMD:TSOT-23-6_HandSolderingU1
1CH32V003FxUxPackage_DFN_QFN:QFN-20-1EP_3x3mm_P0.4mm_EP1.65x1.65mmU5
1TS-1088-AR02016libs:SW-SMD_L3.9-W3.0-P4.45SW2

Questions

How big is the SmallSpeedController PCB?

It measures 30.7 × 51.7 mm and has 4 copper layers, 1.6 mm thick.

What parts does the SmallSpeedController use?

37 parts, built around the DRV8837DSGR-MS, AP62300TWU, AMS1117-3.3 and TS-1088-AR02016. 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 SmallSpeedController KiCad files?

From the h0lad/MiniSpeedController repository on GitHub, at the commit this page was made from: the board is pcb/SmallSpeedController.kicad_pcb and its schematic pcb/SmallSpeedController.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SmallSpeedController design in my own project?

Its repository publishes it under the CERN-OHL-S-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).

Similar boards

  • 2 layers52.5 × 62.6 mmNfc circuit, the printed circuit board in 3D

    Nfc circuit

    perumalelectro/NFC_PROJECT

    NFC reader device pcb designing using ESP32 module

    42 parts
  • 6 layers84.5 × 56 mmVLF4 PCB, the printed circuit board in 3D

    VLF4 PCB

    McMaster-Rocketry-Team/VLF4r2

    PCB schematics and layout for Void Lake Fusion 4 Avionics

    156 parts3
  • 4 layers100 × 100 mmAlu, the printed circuit board in 3D

    Alu

    bcrist/vera

    Homebrew discrete logic CPU

    102 parts1MIT
  • 2 layers80 × 52 mmVolleyBot, the printed circuit board in 3D

    VolleyBot

    CausticLime1/VolleyBot

    110 parts
  • 2 layersPcbgolf, the printed circuit board in 3D

    Pcbgolf

    chilly23/PCBGolf-master-Comma.ai

    Compact PCB studies for the comma.ai PCBGolf challenge, including KiCad and EasyEDA designs, BOMs, STEP models, and routing-status reports.

    245 partsMIT
  • 4 layers99.9 × 50.7 mmFcu kicad v0.2, the printed circuit board in 3D

    Fcu kicad v0.2

    DavidTheFighter/rocketry

    193 partsMIT
  • 4 layers98.2 × 122 mmProject Roll, the printed circuit board in 3D

    Project Roll

    kevleep/Project-Roll

    Project Roll Project Roll is a spherical robot that achieves omni-directional movement using omni-wheels and a hamster ball drive mechanism.

    75 parts