Robo HAT MM1

by Robotics Masters

An open source robotics and automation controller for Raspberry Pi.

$6,212 raised

of $2,500 goal

248% Funded! Order Below

Product Choices

$55

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.


$129

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".


$115

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

Details

Recent Updates


As Featured In

Hackster News

"designed to lower the entry barrier for those looking to get into robotics"

Hackaday

Hackaday

"The form factor is as a daughterboard (hat) for Raspberry Pi but it is also capable of doing standalone control thanks to the onboard microcontroller."

MickMake

"an open-source board designed specifically for robotics and so has all the essentials"

Electronics-Lab.com

" hardware schematics and software will be fully available and open source without limitations."

IoT Expert

"We now have CircuitPython by adafruit Industries working fully on the board with all tests and software available on GitHub."

To watch the campaign video from China, click here


Robo HAT MM1 is part of the Microchip Get Launched design competition!

An All-in-one Robotics Board

Final Prototype of Robo HAT MM1.

The Robotics Masters Robo HAT MM1 is an open source robotics controller board for Raspberry Pi. It is education focused but works in many applications. The Robo HAT provides all the hardware you need in one simple, easy-to-use form factor. It removes the initial barriers to starting any robotics project.

With support for Adafruit CircuitPython, Arduino IDE, and other libraries the Robo HAT is able to act as a single solution for all projects great and small.

The Robo HAT MM1 removes the need for buying lots of individual components by including them on the board. It can act as a PWM driver, provide on-board power through voltage regulators, and measure movement with the on-board IMU - all at the same time.

The wide compatibility with many open source software platforms such as CircuitPython, SeeSaw, and Arduino IDE means you can use all existing software for sensors while creating your project in the way that works best for you. The hardware schematics and software are fully open source.

Five Generations of Robo HAT MM1 boards (v0.9 to v2.4).

Designed for automation:

  • Multiple power sources for stable and reliable power
  • E-Stop connection for emergency shutdown
  • Programmable Power-on switch for the 5V main power on the board
  • Power monitoring, movement sensing (IMU) and control.
  • 16-Bit PWM output (configurable up to 24-Bit)
  • Stable on-board power supply for Raspberry Pi boards (5.1V @ 2.5A)

Communication compatibility features:

  • Selectable SPI Master between Raspberry Pi and MCU
  • Standard connector layout for drone sensors
  • Multiple I2C and USART sercom ports

Multi-functional Micro USB Connector:

  • Easy USB connection for uploading new firmware
  • USB to serial port access
  • USB Storage access for CircuitPython
  • USB doubles as charging for backup LiPO Battery.

Exploring the Robo HAT MM1

Features & Specifications

  • Processor: 120 MHz SAM D51G19A*
  • Memory: 32 KB SRAM
  • Storage: 256 KB internal programmable flash + external 8 MB SPI flash
  • Multi-product Compatibility
    • Jetson Nano
    • Raspberry Pi: all models with 40 pin header
      • Model B+, 2B, 2B+, 3B, 3B+ and 4B
      • Model A+ and 3A+
      • Zero and Zero W
    • Google Coral and other boards with standard RPi compatible 40 pin header
  • Raspberry Pi Interfacing
    • Two (2) GPIO directly to Raspberry Pi (SW programming)
    • Two (2) GPIO directly to Raspberry Pi (UART-serial console)
    • I²C and SPI to Raspberry Pi
    • EEPROM recognition
  • Programmable I/O: All are re-programmable to match a supported special function
    • Eight (8) x 16-bit servo output (programmable up to 24-bit)
    • Four (4) x 16-bit RC / Analog controller input
    • Two (2) x Serial console pass through
    • One (1) x NeoPixel output
    • Nine (9) x GPIO pins through SPI / GPS ports
    • Two (2) x Full GROVE Connector Support
  • Sensor Interfacing: Also re-programmable as general IO pins
    • Dronecode Compatible Connectors
      • SPI
      • GPS
      • I²C
    • GROVE Sensors by SeeedStudio
  • Triple-redundant Power Supply Support
    • Feedback through servo power rail (e.g., from ESC)
    • 5 V from on-board regulator powered through main battery
    • 5 V from on-board regulator power through backup LiPo battery + charger via USB
  • Built-in Protection
    • USB Port is protected from voltage spikes
    • All power rails are protected by reverse voltage protection circuits.
    • 5 V regulator is able to power Raspberry Pi
  • Sensors
    • INA219 current sensor
    • MPU9250 9DoF high-precision IMU
    • Add-on boards through I²C and SPI (such as pressure sensor, secondary IMU, etc)
  • Physical Dimensions
    • Standard HAT format
    • Length: 65 mm
    • Depth: 56.5 mm
    • Height: 30 mm

* The use of this processor is a new development. For more info see this update.

Simplify Your Project and Add Functionality

Perfect for makers and hackers

As makers ourselves, we wanted to create a platform that was able to help us build more cool projects. We wanted an affordable board that had a good fix of useful features. This included lots of servo outputs, lots of inputs, great mix of sensors like the IMU, current sensing and functionality to build new and creative projects. With the Robo HAT MM1 we have been able to do just that.

It’s a more functionally Arduino with support for all the great existing libraries. It’s a better CircuitPlayground and Adafruit Feather, without the need for additional boards.

Robo HAT MM1 is the perfect combination of hardware power and software flexibility - making it an essential tool for any robotics project.

The Production Robo HAT MM1 board (with GROVE connector).

Create autonomous cars and drones

The Donkey Car and DIY Robocar community groups have been crucial to the Robo HAT MM1 development. We have tested the HAT with the Donkey Car Platform (a widely used small-scale autonomous car kit) and it works very well. The Donkey Car Community is now officially supporting the Robo HAT MM1 as the best way to setup your Donkey Car.

The Robo HAT MM1 removes the need for a PWM driver, external power, or voltage regulators, and adds additional functionality. The Robo HAT MM1 includes an IMU (Inertial Measurement Unit) - which can be used to measure the movement of the car. It also includes RC controller inputs, which remove any latency or delays caused by using the Raspberry Pi to control the car during training. With Robo HAT MM1, you can simplify your setup while improving the overall autonomous vehicle project.

Donkey Car Training Video

Use in classrooms

We are working with schools who are already using the Robo HAT MM1 (and autonomous cars) as educational tools in school programs and workshops. This started in Sydney, Australia and is expanding rapidly around the world to Shenzhen, China and Hong Kong.

One of the core drivers of this project was the changing curriculum in Australian schools - all students must now learn to code as part of their technology course (this change came through in January 2019). Project Based Learning (PBL) - learning through doing or creating something seems to be the best way to teach students programming. We wanted to create a platform that could be used to learn the very basics of programming, all the way up to robotics and autonomous cars and beyond! The Robo HAT MM1 is one of the ways we hope to achieve better programming education in schools.

CircuitPython and MakeCode are key parts to enable this, as students can start learning the basics of Python and then advance up to more complicated tasks.

Robo HAT MM1 works with RaspberryPi, Jetson Nano, and standalone. Board revision 6 seen here.

Board Pinout

Click for full-size image.

Tons of Software Options

With support for major existing platforms, you are guaranteed to get your project up and running as fast as possible.

We designed Robo HAT MM1 to work with a wide range of software libraries, to enable anyone to build the project they want. This flexibility also means that Robo HAT MM1 is well-suited to a wide variety of use-cases.

  • CircuitPython
  • MakeCode
  • Arduino
  • Seesaw

CircuitPython (by Adafruit)

CircuitPython is an education friendly open source derivative of MicroPython. CircuitPython supports use on educational development boards designed and sold by Adafruit. Adafruit CircuitPython features unified Python core APIs and a growing list of Adafruit libraries and drivers of that work with it.

CircuitPython adds hardware support to all of these amazing features [of Python]. If you already have Python knowledge, you can easily apply that to using CircuitPython. Even if you have no previous experience, it’s really simple to get started.

CircuitPython is a special programming language developed by Adafruit that is based on Python but focused purely on writing code for hardware. It has many thousands of libraries for different sensors. It makes programming motors, servos, sensors and other bits easy. CircuitPython doesn’t require any software on your computer - it runs on the board (Robo HAT MM1) which appears as a USB drive.

Typically, CircuitPython is what we expect our backers to be using. We have used it for reading data from the MPU9250 IMU sensor, then using that data to control a robot arm. We have also used it to read RC signals from an RC Remote and send those signals back to the Servos attached to the Robo HAT. There are many other example uses that you can come up with. Adafruit has many great tutorials on CircuitPython and how to use it.

CircuitPython screenshot.

MakeCode (by Microsoft)

MakeCode is similar to Scratch in that the basis of the program is that you have ‘blocks’ of code that can be dragged into a work space and manipulated into forming logical code. The key difference is that MakeCode has a power simulate included that shows exactly what your real life board should be doing. It supports JavaScript and Python programming languages that work with the blocks.

Example of MakeCode Interface with Robo HAT MM1.

You can access support for Robo HAT MM1 by going to: https://maker.makecode.com/

Microsoft describes it as: Hands-on computing education

Microsoft MakeCode brings computer science to life for all students with fun projects, immediate results and both block and text editors for learners at different levels.

Arduino

The classic Arduino IDE used by many thousands of makers around the world can also be used to program and deploy code to the Robo HAT MM1.

Most people are familiar with the Arduino IDE. It has many millions of users around the world. It brings with it all the existing libraries and code examples that work on popular Arduino boards. We are supporting this as it allows the existing THOUSANDS of software libraries developed for Arduino to run on the Robo HAT. This includes interfacing with GSM modules, reading GPS coordinates, and using any kits that you may already have.

Almost any hardware problem when using Arduino has already been solved by an online forum! This is the sort of support we wanted to maintain with the Robo HAT, and can by having Arduino’s programming environment available to backers.

SeeSaw (by Adafruit)

Seesaw is an open source microcontroller friend for other chips. It provides a variety

of capabilities such as UART, ADC, DAC, extra GPIO, etc. to chips that don’t have them.

The other Adafruit library we are supporting is SeeSaw. SeeSaw runs on the Robo HAT and you can use a Raspberry Pi to make it do things using Python. All commands are sent from the Raspberry Pi to the Robo HAT over I2C. The typical use case for this would be that you have a robot or car that you only want to use the Robo HAT to control Servo Motors, Encoders or other attached sensors over UART or SPI.

SeeSaw can be partnered with a Raspberry Pi to form a powerful combination. The Raspberry Pi can do all the hard calculations for your robot (such as neural networks and image processing) and then send all the control commands to the Robo HAT MM1 through I²C running SeeSaw. SeeSaw has many special functions built into it, including: 16-bit servo control (much higher than normal 8-bit or common 12-bit), 12-bit analog read, USB-Serial to UART for communicating with the Raspberry Pi via USB, and more.

We are expanding SeeSaw SeeSaw has a few limitations. It only supports some features of the powerful processor on the Robo HAT MM1. We are looking at expanding what SeeSaw is able to do to support RC Input and controlling some logic of the board (like the power-on button). It is also well documented. Overall, it is a very useful library if you plan on using the Raspberry Pi and the Robo HAT together.

More libraries in the future

We believe that these libraries can be added on in the future, expanding the number of projects that you can do.
We are currently working on these libraries and plan on bringing others as fast as possible.

  • ArduPilot Control (in development)
  • PX4 (Dronecode) Flight Control (planning)
  • Robot Operation System (ROS) Environment (planning)

Comparisons

The Robo HAT MM1 holds its own amongst the drone controllers, CircuitPython boards and other Raspberry Pi HATs.

MM1 HAT PXFmini (unavailable)NAVIO2PixHawk CubeFeather M0CrickitHATSense HAT
Open HardwareOpen Closed Closed Closed Open Open Closed
Onboard MicroprocessorYes No Yes Yes Yes Yes No
Flash Storage8 MB 2 MB 2 MB 2 MB
Sensors
AccelerometerYes Yes Yes Yes No No Yes
GyroscopeYes Yes Yes Yes No No Yes
MagnetometerYes Yes Yes Yes No No Yes
PressureExternalYes Yes Yes No No Yes
TemperatureYes No No No No No Yes
CurrentYes No Yes No No No No
GPSExternalNo Yes No No No No
I/O
PWM Outputs88148740
Input Channels4112780
Additional GPIO11006780
Total GPIO23 9151621200
Connectors
GPSYes No No Yes No No No
I²CYes Yes Yes Yes No No No
UARTYes Yes Yes Yes No No No
SPIYes No No No No No No
CANNo No No Yes No No No
USBYes No No Yes Yes Yes No
Power
Triple - RedundancyYes Yes Yes Yes No No No
Raspberry PiYes Yes Yes No No No No
Software
Arduino IDEYes No No No Yes Yes No
MakeCodeYes No No No Yes Yes No
PythonYes Yes No No No Yes Yes
CircuitPythonYes No No No Yes No No
SeeSawYes No No No Yes Yes No
ArduPilotSoon Yes Yes Yes No No No
Price$39 $80 $170 $240 $20 $35 $40

Documentation

This project is proudly open source. All the documentation, support, and software is currently available on Robotics Masters GitHub.

Robotics Masters Resources

Getting Started

Updating

Other Useful Links

Robo HAT MM1 revision 2 board shown

Standard Kit

Get ready to launch into any project, hassle free!

At this level, you will receive the Robo HAT MM1 board and a bundle of cables for connecting various devices to the Robo HAT GPS, SPI, UART and I²C connectors. We added the cable bundle because so many of the devices you can buy follow different cable standards. With these special breakout cables, you will be able to connect virtually any device.

Sensor Bundle

Use sensors to explore your environment.

We have put together this sensor bundle for people who would like the possibility of using their Robo HAT MM1 on a drone in the future. For now, these advanced sensors can be used for many other projects such as weather stations, tracking and more! You will receive a Robo HAT MM1 board, a set of peripheral cables (7pin (SPI Port), 6pin (GPS Port), 4pin (I2C Port)), an external SPI IMU (custom board), and an external pressure sensor (custom board). We are also including a uBloc NEO-M8N GPS module. All these components have been tested to work with our board and are commonly used within the drone community.

Exploration Kit

Learn faster than before, build your next great idea!

Designed for those who want to learn more CircuitPython or increase their robotics skills. We have put together this small robotics kit that has been tested during our Python for Women workshops. The kit includes one Robo HAT MM1, and a cable pack which includes main battery cable, ESC cable, a set of peripheral cables (7pin (SPI Port), 6pin (GPS Port), 4pin (I2C Port)), 1 strip of 10 NeoPixels, and the RM Smart Car Kit. The RM Smart Car Kit contains 2 motors, wheels, battery holder, sensors and a base plate to hold it all together. You can use this car for experimenting with autonomous navigation, learning CircuitPython, or teaching others.

Project Beginnings

Robo HAT MM1 began as a University project two years ago, when we were using different autonomous car platforms to create self-driving cars. These platforms were good but were not easy enough to use.

We thought of new ways to make the platforms more accessible to get students to learn more about robotics by giving them better hardware. We focused on self-driving cars and then expanded to create a Raspberry Pi HAT with many more capabilities. The Robo HAT is able to support students starting out with programming and coding, all the way up to creating advanced robotics.

We investigated available open-source platforms that were being used in the maker community and then made the board compatible with them. Libraries like Adafruit CircuitPython, Adafruit SeeSaw, and Arduino give people the flexibility to use what they like and already know.

We’re proud of Robo HAT MM1 - one of the most versatile and user-friendly robotics controller boards available on the market. The variety of sensors, connectivity, functionality, and software variety are unmatched at this price.


Credits

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

CTO

Cian Byrne

Software Developer

Peter Pan

Electronics Engineer

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