Robo HAT MM1

by Robotics Masters

An open source robotics and automation controller for Raspberry Pi.

View all updates May 23, 2019

Donkey Car Improvements and Maker Faire

Hello Followers!

We have had a big week of announcements and events. We visited Maker Faire Bay Area, hosted a small meet-up, experimented with RC controllers and much more…

Read on in the update to see what you missed during the week. Don’t forget to get your early bird offer for the Robo HAT MM1 Starter Kit - while stocks last!

With three weeks to go in the campaign, we are working very hard.

Reminder: Early Bird Offers Increased, Lower Price

We increased the number of early bird offers available for the Maker Faire Weekend. There are still some available now, and no more will be released during this campaign.

We also changed the price of the board to $39 USD. This is the lowest we can do with a manufacturing run of 200 boards. We changed the price as we re-evaluated why we started the project in the first place.

The Robo HAT MM1 has always been a way to make the Donkey Car Platform easier to use. This platform is a low-cost autonomous car hardware and software package aimed at helping people learn the basics of machine vision / AI; then seeing them take the ideas of the car and use them to solve real world problems. That is the goal that we want to see be a reality with the Robo HAT. People taking cheap, powerful hardware and solving real world problems.

We really want to see as many people as possible using the Robo HAT in different applications and then going on to solving real world problems. Whether it be autonomous cars, delivery drones, medical monitoring equipment, saving the environment or something yet to be thought of - we saw the Robo HAT MM1 as a way to make this happen - through accessible, powerful hardware that anyone can buy and use.

After taking all of this into consideration, we decided to lower the price to the minimum possible so that the community can build new tech and solve problems!

Maker Faire

We received so much support from everyone at Maker Faire Bay Area this time. Unfortunately it was raining for two days but that didn’t dampen the support and love of the Robo HAT MM1. The feedback we got back from Maker Faire was that the IMU is one of the defining features of the board. Everyone wants to use the IMU for improving the Donkey Car Platform.

Thank you for everyone who came down and chatted with us and for the support of the Donkey Car and DIY Robo Car teams.

Donkey Car Improvements

This week the team was working on making the Robo HAT control the throttle Electronic Speed Controller (ESC) and steering servo on a Donkey Car with only an RC Controller.

However, this is not just useful for Donkey Car. We have spoken with people working with NVIDIA Jetsons and found that they love the idea of being able to use a RC Controller to control their robots. It removes all the software issues that could result in accidents in heavier robots - where control is absolutely critical and drops outs are not tolerated. This is a great safety feature you can also install on your robots. Read on to find out more.

The current options for controlling a Donkey Car are very limiting.

  • Web Controller: This is a web-server running on the Raspberry Pi situated on the car. The webserver allows you to do basic control through a ‘Game Pad’ using the mouse, or incremental changes through the keyboard (stepped increments). Pain Points: It requires a WiFi Network. Latency.

  • Bluetooth Controller: You are able to pair a PlayStation PS4 controller to the Raspberry Pi over Bluetooth which enables you to steer and increase the speed of the car using the two joysticks. This is currently the most reliable way to drive the Donkey Car but still has issues. Pain Points: Bluetooth Configuration. Range.

This week we finished implementing the direct control of the car via a standard RC Controller that comes with the car body. It removes the pain points identified above.


  1. Attach the RC receiver module to the Robo HAT MM1.
  2. Run CircuitPython code on the Robo HAT MM1 that:
  • reads input pulses from receiver
  • converts input pulse to pulse value for servo motors
  • send data (over serial) to Raspberry Pi.
  1. Run the Donkey Car software on the Raspberry Pi for capturing pictures.


There are a few reasons why this is a much better method than using the Bluetooth controller.

  • Latency: All the processing for controlling the car is now done on the Robo HAT MM1 without involve of Linux running on the Raspberry Pi. This means that other process that interfere with control on the Raspberry Pi no longer impact on the driving experience. There is no latency - the car moves when you move the controller.

  • Range: Since RC Controllers are designed for racing cars at 100 kph, they have a much further range than any Bluetooth controller. Bluetooth has major range issues. You may be able to drive your car 10 - 20 meters away before it drops out and needs to be re-paired with the Raspberry Pi (a painful process). The RC Controllers do not experience this issue and have ranges up to 100 metres or more. This adds more flexibility when you are out in the field.

  • Set Up: What we have found is setting up a Bluetooth controller is not straightforward and if instructions are not followed exactly, issues occur regularly. It could be pairing issues, connection drop outs, clone controllers not working or missing software packages. None of these are an issue using a direct RC Controller input straight to the servo motors. You connect the RC Receiver to Robo HAT MM1 and away you go! This was only achievable using the Robo HAT MM1 and CircuitPython running on the board.


  • We have been able to drive the Donkey Car around a track with the RC Controller running on the Robo HAT MM1.
  • Then we were able to capture the steering angle and throttle values with the Robo HAT MM1 and send them to the Raspberry Pi.
  • After training a Neural Network, the Neural Network was able to send the commands to the Robo HAT MM1 to steer the car!

A great few days for dramatically improving the Donkey Car Experience. You are able to check out the code on our donkeycar fork on GitHub here:

Hidden Features - Reprogramming Pins

The Robo HAT MM1 has 8 pins labelled as SERVO and 4 pins labelled as RC_CH (Radio Channel). They are actually not completely locked to those functions. If your project needed 8 Analog Inputs and only 4 PWM Outputs - this is also achievable.

Everything related to the labels on the board are software enforced. It is very easy to use the pins with a different function, provided they support it. See the table below.

Pin NamePWM TimerAnalog Input
SERVO 1TCC0 [6]-
SERVO 2TCC0 [7]-
SERVO 3TCC0 [4]-
SERVO 4TCC0 [5]-
SERVO 5TCC0 [3]AIN[19]
SERVO 6TCC0 [2]AIN[18]
SERVO 7TCC0 [1]AIN[17]
SERVO 8TCC0 [0]AIN[16]
RC_CH 1TCC0[0]AIN[4]
RC_CH 2TCC0[1]AIN[5]
RC_CH 3TCC1[0]AIN[6]
RC_CH 4TCC1[1]AIN[7]

If you wanted 12 PWM outputs, it is manageable provided the board gets configured correctly. This gives users the flexibility to change to any desired need for a particular application.

Thank you for your support and we will be providing more updates soon!

Robotics Masters Team

Cian, Linda, Hans and Peter

$9,265 raised

of $2,500 goal

370% Funded! Order Below

Product Choices


Standard Kit

One Robo HAT MM1, and a cable pack which includes main battery cable, ESC cable, a set of peripheral cables (7pin (SPI), 6pin (UART), 4pin (I2C)) and screw set for mounting.


Sensor Bundle

One Robo HAT MM1, a cable pack which includes main battery cable, ESC cable, a set of peripheral cables (7pin (SPI), 6pin (UART), 4pin (I2C)) and mounting screw sets, External Pressure Sensor / Barometer (BME280), External SPI IMU (MPU9250) and External GPS Unit (Ublox NEO-M8N). NOTE: Raspberry Pi not included. Previously called "Drone Starter Bundle".


Exploration Kit Bundle

One Robo HAT MM1, and a cable pack which includes main battery cable, ESC cable, a set of peripheral cables (7pin (SPI), 6pin (UART), 4pin (I2C)), 1 strip of 10 NeoPixels and RM Smart Car Kit


Robotics Masters

We create hardware platforms for autonomous vehicles and other robotics applications. These hardware platforms are accessible to all skill levels while providing the best functionality for a diverse range of robotics applications. Our expansion boards work with many existing software platforms such as CircuitPython, Adafruit SeeSaw, Donkey Car, DroneCode, and many more.

Hans-Joachim Michl


Cian Byrne

Software Developer

Peter Pan

Electronics Engineer

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: