Skip to the content
PCBKitNew board
2 layers100 × 70 mmMotorDriver, the printed circuit board in 3D

3D printable robot actuator with belt-driven gearbox and custom FOC driver board.

Size
100 × 70 mm
Copper layers
2
Thickness
1.6 mm
Parts
177
Nets
110
Pads
569
Tracks, vias
1,638, 242
Pours
10
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
20 Nov 2025
Updated
20 Nov 2025

Overview

MotorDriver is an open-source printed circuit board by JeyRunner, from the JeyRunner/actonator repository on GitHub, published under the MIT licence. It is a 2-layer board of 100 × 70 mm with 177 parts on 110 nets, routed with 1,638 tracks and 242 vias.

It is built around the TJA1050T/CM, INA180A2IDBVR(LX) and L7805, with the UF4007, LNG03R031 and MUR460 among its other parts. Its parts include 51 resistors, 38 capacitors, 34 diodes, 13 ICs and 13 connectors. It belongs with the robots and motor control boards and the STM32 boards of this library.

Main components

6

README

README.md

Actonator - 3D Printable Robot Actuator

move.webp

3D printable robot actuator with belt-driven gearbox and custom FOC driver board for the used BLDC motor. It uses the CAN SOT Protocol for the communication, which allows to not only send commands and receive state changes but also to set configuration parameters dynamically during runtime.

Features

  • Driver board
    • Input: 10 - 24V
    • Output: can drive up to two BLDC motors, each output up to 10A
    • CAN bus communication
    • Encoders connected via two I2C connections
      • Alternatively via two SPI inputs
      • 12 bit encoders
  • Gearbox
    • Fully 3d printable
    • 2 stage timing belt based reduction
    • Simple screw-based belt tensioning mechanism
    • ~1:20 reduction
    • Easily back drivable

Project Structure

  • motor_driver/firmware: C++ firmware code for the stm32 microcontroller
  • motor_driver/can_client_lib: Contains the can bus communication protocol definition and host applications to configure and interface with the motor driver.
    • motorControllerCanProtocol.def.yaml: Contains the protocol definition.
  • motor_driver/hardware: Kicad files with schematics for the board and PCB.
  • motor_driver/hardware/output: Schematics, board layout and manufacturing files.
  • gearbox: 3D printing stl files for the gearbox.

Driver Board Electronics

This board is a dual channel brushless motor driver. The design of the board can be found in the hardware subfolder. In hardware/output are all generated files for all versions.

For the full schematic, see hardware/motorDriver/output/v0.0.1/schematic.pdf.

Gearbox

cad_view.png cad_view.png

Usage

First look at motor_driver/can_client_lib/README.md to compile the communication lib and host control application. Then compile and flash the microcontroller firmware, see motor_driver/firmware/README.md.

Parts

177
QtyValueFootprintReferences
18UF4007Diode_THT:D_T-1_P5.08mm_HorizontalD5, D10, D11, D12, D15, D16, D17, D20, D21, D22, D25, D26, D27, D30, D31, D32 +2
12LNG03R031Package_TO_SOT_SMD:TO-252-2Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12
12MUR460added:D_DO-15_P10.16mm__H1.4mm_HorizontalD8, D9, D13, D14, D18, D19, D23, D24, D28, D29, D33, D34
8100nFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC7, C8, C10, C12, C13, C14, C15, C38
710uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC11, C17, C20, C23, C25, C27, C29
610RResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR17, R23, R29, R38, R43, R48
622RResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR18, R24, R30, R39, R44, R49
63.3RResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR16, R22, R28, R37, R42, R47
6470nFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC16, C19, C22, C24, C26, C28
6470uFCapacitor_SMD:CP_Elec_10x10.5C32, C33, C34, C35, C36, C37
647RResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR14, R20, R26, R35, R40, R45
64mResistor_SMD:R_2512_6332Metric_Pad1.52x3.35mm_HandSolderR13, R19, R25, R32, R33, R34
65RResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR15, R21, R27, R36, R41, R46
6LM5106MM_NOPBlm5106:LM5106MM_slash_NOPBU6, U7, U8, U10, U11, U13
6PWMTestPoint:TestPoint_Pad_D1.0mmTP1, TP2, TP3, TP4, TP5, TP6
41k5Resistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR8, R9, R10, R11
42k2Resistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR2, R3, R5, R6
4MountingHoleMountingHole:MountingHole_3.2mm_M3_DIN965_PadH1, H2, H3, H4
3330nFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC4, C5, C6
20.1uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC18, C21
220pFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC1, C3
240kResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR12, R31
247KResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR1, R4
2C_SmallCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC30, C31
2INA180A2IDBVRPackage_TO_SOT_SMD:SOT-23-5_HandSolderingU9, U12
2R_Small_USResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR51, R52
11uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC2
120kResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR50
127nHInductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderL1
147uFCapacitor_SMD:C_1210_3225Metric_Pad1.42x2.65mm_HandSolderC9
1BOOT0_HIGH_JUMPadded:PinHeader_1x02_P1.27mm_Vertical__smallerOutlineJ1
1BOOT1_HIGH_JUMPadded:PinHeader_1x02_P1.27mm_Vertical__smallerOutlineJ6
1CANadded:TerminalBlock_RND_205-00045_1x02_P5.00mm_HorizontalJ2
1Crystal 8MhzCrystal:Crystal_HC50_VerticalY1
1Fuse 500mAFuse:Fuse_1206_3216Metric_Pad1.42x1.75mm_HandSolderF1
1G***kibuzzard-642D7167kibuzzard-642D7167
1GOODWORK K14Diode_SMD:D_SOD-123FD1
1GPIO HeaderConnector_PinSocket_2.54mm:PinSocket_2x05_P2.54mm_VerticalJ7
1KIA78D09FPackage_TO_SOT_SMD:TO-252-2U3
1L7805Package_TO_SOT_SMD:TO-252-2U2
1LED_GreenLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD4
1LED_POWERLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD2
1LED_YellowLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD3
1LOGOlogo:logoDRA1
1MOTOR1_SENSOR_I2C1Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ4
1MOTOR2_SENSOR_I2C2Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ5
1MOTOR3_SENSOR_SPI1Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ9
1Motor1 Outadded:TerminalBlock_RND_205-00046_1x03_P5.00mm_Horizontal__extended_padsJ12
1Motor2 Outadded:TerminalBlock_RND_205-00046_1x03_P5.00mm_Horizontal__extended_padsJ13
1PB0TestPoint:TestPoint_Pad_D1.5mmJ8
1Power_INadded:TerminalBlock_RND_205-00045_1x02_P5.00mm_Horizontal___with_holesJ3
1STM32F103C8TxPackage_QFP:LQFP-48_7x7mm_P0.5mmU5
1SWDConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ11
1TJA1050Ttja1050t:TJA1050TU4
1TKS NTSA3104HZ048added:TH_2PIN_1.27mmTH1
1UA78M33Package_TO_SOT_SMD:SOT-223-3_TabPin2U1
1USB_B_Micromicro_usb:XKB_U254-051T-4BH83-F1SJ10

Questions

How big is the MotorDriver PCB?

It measures 100 × 70 mm and has 2 copper layers, 1.6 mm thick.

What parts does the MotorDriver use?

177 parts, built around the TJA1050T/CM, INA180A2IDBVR(LX), L7805 and UF4007. 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 MotorDriver KiCad files?

From the JeyRunner/actonator repository on GitHub, at the commit this page was made from: the board is motor_driver/hardware/motorDriver.kicad_pcb and its schematic motor_driver/hardware/Motor_Output_Power_Stage.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the MotorDriver design in my own project?

Its repository publishes it under the MIT 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 layers63.8 × 95.8 mmControl cnc esp32D, the printed circuit board in 3D

    Control cnc esp32D

    IagoAbreu-Core/CNC_ESP32

    CNC control plate for 4 motors

    23 parts
  • 2 layers112.8 × 83.1 mmInverter, the printed circuit board in 3D

    Inverter

    sovanaram/Power-Electronics

    Create and experiment power conversions

    53 parts
  • 2 layers110.5 × 63.5 mmResp2, the printed circuit board in 3D

    Resp2

    BreathOfHope/Respirator-2

    Respirator-2 takes the knowledge we gained in building the RespiratorApparatus to build a production ready version, that can be manufactured in an industrial setting.

    84 parts
  • 2 layersEletroporador, the printed circuit board in 3D

    Eletroporador

    hoffmannpablorodrigo/electroporator-esope

    Electroporator hardware with esope protocol

    50 parts
  • 2 layers180 × 133.3 mmClassd amp, the printed circuit board in 3D

    Classd amp

    prydin/classd-amp

    Class D Amplifier (work in progress)

    176 parts
  • 2 layersMAB19 PANEL, the printed circuit board in 3D

    MAB19 PANEL

    ZeniteSolar/MAB20

    340 partsGPL-3.0
  • 2 layers117.2 × 47.5 mmKicadDesign, the printed circuit board in 3D

    KicadDesign

    UAA-F14/PCBs-Design

    Power electronics PCB coursework — SCR controller, buck converter, Class D amplifier, DC-AC inverter, and a protected power supply Resources

    16 parts1
  • 2 layers129.3 × 105.5 mmLevitation Unit, the printed circuit board in 3D

    Levitation Unit

    sakshamgupta2004/VegapodAll

    All the vegapod material

    200 parts