Skip to the content
PCBKitNew board
2 layers25.4 × 35.6 mmMCRobbie, the printed circuit board in 3D

An I2C motor controller that can independently control up to 4 motors with 2- or 3- wire motor drivers.

Size
25.4 × 35.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
9
Nets
19
Pads
44
Tracks, vias
70, 3
Pours
2
Routed
Yes
KiCad
KiCad 4
Created
16 Jun 2017
Updated
7 Jul 2017

Overview

MCRobbie is an open-source printed circuit board by OokTech, from the OokTech/MCRobbie repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 25.4 × 35.6 mm with 9 parts on 19 nets, routed with 70 tracks and 3 vias.

It is built around the PIC18F14K50-I/P. It belongs with the robots and motor control boards and the PIC boards of this library.

Main components

1

README

README.md

MCRobbie

See more in-depth documentation on the official documentation site.

What is it?

An advanced motor controller with an i2c interface.

That means it is something that you connect to using an i2c interface and it generates the control signals needed by the motor drivers for up to 4 motors. The 'advanced' part is because the controller can take care of acceleration for your motors. So if you are using this to control the wheels of a robot (which is the original application that it was designed for) than you can just send the desired speed and the controller can take care of accelerating to that speed so that the robot moves smoothly.

The controller can provide signals to control up to 4 motors independently. The motor drivers can be either 2- or 3- wire drivers.

Why would I use this?

You may want to use this if you:

  • have a limited number of pins for control on your project
  • not have enough pins on your Arduino to run as many motors as you need
  • want to control motors from a raspberry pi
  • want your motors to accelerate without adding programming overhead
  • want to use the i2c interface on your controller
  • want your control signals to be cleaner than the signals generated by the normal Arduino libraries (see note below)

You may not want to use this if you:

  • have plenty of pins
  • don't want your motors to do anything other than move at one speed
  • don't have an i2c interface on your controller
  • have no way to program the controller or to buy a programmed one

Note about Arduino:

The Arduino libraries and boards have worked very well for us. We made this because it is much less expensive (an uno costs about 20 euro, the PIC used costs around 2 euro), the control signals generated by Arduinos have been somewhat inconsistent when rapidly changing motor speed, and, the PIC is much smaller than the Ardunio boards and we can integrate it into our custom PCB designs.

How do I use this?

We are in the process of creating detailed tutorials.

At the moment the only hardware this has been tested on is a PIC18f14k50 controller. It is an 8-bit microcontroller sold by microchip. If you have a compatible programmer (I am using the PICKit 3) you can just load this code and program the controller normally. If you order from microchip they can program the device before sending it to you, although I have not yet tried this.

This same code should work without changes on the PIC18f14k22, and possibly on other PIC18 chips, but that has not yet been tested. One of our priorities now is to port this code onto some Atmel chips that can be programmed using an Arduino, and into code that can be put on an Arduino directly. The purpose of this controller is that it is very cheap (about 2 euro for the chip and it doesn't require any external components), a lot of people have Arduinos already so using one could be a cheaper option for some.

An important note

This is a controller, not a driver. The controller generates the signals needed to make a motor move in the direction and at the speed you want, a motor driver is needed to supply the power to the motor.

Parts

9
QtyValueFootprintReferences
1Capacitors_THT:C_Rect_L7.0mm_W2.5mm_P5.00mmC1
1I2C_HeaderConnectors:PINHEAD1-2I2C
1ICP_HeaderConnectors:PINHEAD1-6ICSP
1Motor0Connectors:PINHEAD1-3Motor0
1Motor1Connectors:PINHEAD1-3Motor1
1Motor2Connectors:PINHEAD1-3Motor2
1Motor3Connectors:PINHEAD1-3Motor3
1PIC18F14K50Housings_DIP:DIP-20_W7.62mmPIC18F14K50
1Power_HeaderConnectors:PINHEAD1-2Power

Questions

How big is the MCRobbie PCB?

It measures 25.4 × 35.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the MCRobbie use?

9 parts, built around the PIC18F14K50-I/P. 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 MCRobbie KiCad files?

From the OokTech/MCRobbie repository on GitHub, at the commit this page was made from: the board is MCRobbie.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the MCRobbie design in my own project?

Its repository publishes it under the Apache-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 layers66.1 × 62.2 mmMimas, the printed circuit board in 3D

    Mimas

    numato/samplecode

    This repository contains sample code for different Numato Lab products

    99 parts144
  • 2 layers40 × 30 mmThermoDeviceLogger, the printed circuit board in 3D

    ThermoDeviceLogger

    makingdevices/TC-Logger-Device

    A thermocouple logger with USB communication

    33 parts10
  • 2 layers108 × 111.3 mmTOFE LowSpeedIO, the printed circuit board in 3D

    TOFE LowSpeedIO

    timvideos/HDMI2USB-TOFE-LowSpeedIO

    A Low Speed I/O board for use with TOFE-8x compatible boards like the Numato Opsis.

    43 parts3CC-BY-SA-4.0
  • 2 layers40 × 30 mmEstacionTerrena, the printed circuit board in 3D

    EstacionTerrena

    dragondgold/CanSat

    Plataforma educativa basada en un satélite CanSat

    65 parts1GPL-3.0
  • 2 layers103 × 30.5 mmTS Back Endcap, the printed circuit board in 3D

    TS Back Endcap

    EEVengers/ThunderScope

    ThunderScope GitHub Repo

    9 parts1.3kMIT
  • 2 layers31.8 × 47.6 mmNGC 38 connector, the printed circuit board in 3D

    NGC 38 connector

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    9 parts1.2k
  • 2 layers24 × 27.3 mmExpansion Card Retrofit, the printed circuit board in 3D

    Expansion Card Retrofit

    FrameworkComputer/ExpansionCards

    Reference designs and documentation to create Expansion Cards for the Framework Laptop

    9 parts1.1kCC-BY-4.0
  • 2 layers15.6 × 17.3 mmSKR Mini TFT Thermistor Board, the printed circuit board in 3D

    SKR Mini TFT Thermistor Board

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    9 parts1.1kGPL-3.0