Skip to the content
2 layers69.1 × 53.8 mmMotor controller, the printed circuit board in 3D

Dual Axis Reaction Wheel Inverted Pendulum

Size
69.1 × 53.8 mm
Copper layers
2
Thickness
0.81 mm
Parts
25
Nets
40
Pads
139
Tracks, vias
240, 36
Pours
7
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
20 Aug 2017
Updated
6 Jun 2023

Overview

Motor controller is an open-source printed circuit board by AlanFord, from the AlanFord/self-balancing-stick repository on GitHub, published under the MIT licence. It is a 2-layer board of 69.1 × 53.8 mm with 25 parts on 40 nets, routed with 240 tracks and 36 vias.

It is built around the ARDUINO UNO R3. Its parts include 8 connectors, 4 diodes, 2 capacitors, 2 resistors and 2 ICs. It belongs with the robots and motor control boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

optional_motor_controller_pcb/README.md

Arduino Shield for the Self-Balancing Stick

The Arduino firmware supports options for two different motor drivers - the Pololu Dual MAX14870 Motor Driver Shield (https://www.pololu.com/product/2519) and a custom shield that also uses the Maxim MAX14870 chips as motor drivers.

The Pololu motor driver shield was used in the initial testing stages to ensure the hardware and software worked together properly. However, I found the Dupont headers to make a less-than-satisfactory connection when moving parts are involved. Hence the move to a custom design.

The design for the Arduino shield is intended to include motor drivers for two dc motors as well as the interface for a GY-521 Gyro.

The motor drivers each use a MAX14780 motor driver IC. A barrel jack (2.1 mm, center-positive) on the shield provides power for the motors (12V, 4.2A max). Separate pin headers are made available for connecting the motors and the GY-521 gyro. The motors are Pololu 4.4:1 gear motors witha 48 CPR encoder, requireing a 6-pin connector. The GY-521 interface also requires a 6-pin connector.

The Arduino pins used by each of the connectors are as follows:

GY-521 -> Arduino

  • SCL -> A5/SCL
  • SDA -> A4/SDA
  • INT -> A3

Left Motor -> Arduino

  • Vcc -> +5V
  • PWM -> D7
  • DIR -> D8
  • Encoder_A -> D2 (Interrrupt 0)
  • Encoder_B -> A2

Right Motor -> Arduino

  • Vcc -> +5V
  • PWM -> D12
  • DIR -> D13
  • Encoder_A -> D3 (Interrupt 1)
  • Encoder_B -> D6

The shield contains LEDs for both motors that indicate the direction the motor is being driven.

  • Red LED -> DIR=1 (Clockwise)
  • Green LED -> DIR=0 (Counterclockwise)

Parts

25
QtyValueFootprintReferences
4Conn_01x06Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ101, J102, J104, J106
21 uFCapacitor_SMD:C_0805_2012MetricC101, C102
24.7KResistor_SMD:R_0805_2012MetricR101, R102
2Conn_01x08Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ105, J108
2GREENLED_SMD:LED_0805_2012MetricD103, D104
2MAX14780motor_controller:max14870U101, U102
2REDLED_SMD:LED_0805_2012MetricD101, D102
2TestPointTestPoint:TestPoint_Pad_D2.0mm~FAULT, ~FAULT
2TestPoint_Pad_D2.0mmTestPoint:TestPoint_Pad_D2.0mm+12V, GND
1Arduino_UNO_R3Module:Arduino_UNO_R3A101
1Barrel_Jack_SwitchConnector_BarrelJack:BarrelJack_CUI_PJ-102AH_HorizontalJ103
1Conn_01x10Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ107

The 23 most common of 25 parts.

Similar boards

  • 2 layers68.8 × 53.6 mmRelatively Universal ROM Programmer, the printed circuit board in 3D

    Relatively Universal ROM Programmer

    AndersBNielsen/Relatively-Universal-ROM-Programmer

    Hardware to program W27C512 EEPROM or any 24/28/32 pin ROM requiring from 5V to 27V programming voltage.

    149 parts257GPL-3.0
  • 2 layers68.6 × 53.3 mmProtogasm Board V2, the printed circuit board in 3D

    Protogasm Board V2

    Edging-Machines/Edging-Machines

    This repository is intended to contain as much information as possible about building, designing, prototyping, and using automated edging machines.

    14 parts67MIT
  • 2 layers53.8 × 69.6 mmEVSE V2 2, the printed circuit board in 3D

    EVSE V2 2

    PedroCNeves/AC_ChargingStation

    A learning project to create an EV AC Charging station based on an Arduino Uno

    32 parts50
  • 2 layers113.7 × 61 mmArduTester SMD, the printed circuit board in 3D

    ArduTester SMD

    jonsag/arduTester

    An arduino component tester based on https://create.arduino.cc/projecthub/plouc68000/ardutester-v1-13-the-arduino-uno-transistor-tester-dbafb4

    17 parts14
  • 4 layers65.9 × 52.9 mmMotor shield, the printed circuit board in 3D

    Motor shield

    DCC-EX/EX-MotorShield8874

    Design files for the open source 5A Motor Shield

    114 parts12
  • 4 layers68.6 × 53.3 mm101 PCB, the printed circuit board in 3D

    101 PCB

    ICRS/101

    The all-new open source Robotics 101 course from ICRS. It's specifically designed to be run in hackspaces, after school clubs and university societies.

    89 parts10CC-BY-4.0
  • 2 layers53.3 × 68.3 mmAnac 2040, the printed circuit board in 3D

    Anac 2040

    rallekralle11/Anna2040

    RP2040-based board in the shape of the Arduino uno

    63 parts9
  • 4 layers65.9 × 52.7 mmMotor shield, the printed circuit board in 3D

    Motor shield

    DCC-EX/EX-Hardware

    Open Source hardware projects developed by the DCC-EX Team

    123 parts7CERN-OHL-W-2.0

Questions

How big is the Motor controller PCB?

It measures 69.1 × 53.8 mm and has 2 copper layers, 0.81 mm thick.

What parts does the Motor controller use?

25 parts, built around the ARDUINO UNO R3. 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 Motor controller KiCad files?

From the AlanFord/self-balancing-stick repository on GitHub, at the commit this page was made from: the board is optional_motor_controller_pcb/motor_controller.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Motor controller 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).