Robotics Masters
Robotics & Motors
Microchip
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.
* The use of this processor is a new development. For more info see this update.
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 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.
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.
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 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.
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.
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.
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 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.
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.
The Robo HAT MM1 holds its own amongst the drone controllers, CircuitPython boards and other Raspberry Pi HATs.
MM1 HAT | PXFmini (unavailable) | NAVIO2 | PixHawk Cube | Feather M0 | CrickitHAT | Sense HAT | |
---|---|---|---|---|---|---|---|
Open Hardware | Open | Closed | Closed | Closed | Open | Open | Closed |
Onboard Microprocessor | Yes | No | Yes | Yes | Yes | Yes | No |
Flash Storage | 8 MB | 2 MB | 2 MB | 2 MB | |||
Sensors | |||||||
Accelerometer | Yes | Yes | Yes | Yes | No | No | Yes |
Gyroscope | Yes | Yes | Yes | Yes | No | No | Yes |
Magnetometer | Yes | Yes | Yes | Yes | No | No | Yes |
Pressure | External | Yes | Yes | Yes | No | No | Yes |
Temperature | Yes | No | No | No | No | No | Yes |
Current | Yes | No | Yes | No | No | No | No |
GPS | External | No | Yes | No | No | No | No |
I/O | |||||||
PWM Outputs | 8 | 8 | 14 | 8 | 7 | 4 | 0 |
Input Channels | 4 | 1 | 1 | 2 | 7 | 8 | 0 |
Additional GPIO | 11 | 0 | 0 | 6 | 7 | 8 | 0 |
Total GPIO | 23 | 9 | 15 | 16 | 21 | 20 | 0 |
Connectors | |||||||
GPS | Yes | No | No | Yes | No | No | No |
I²C | Yes | Yes | Yes | Yes | No | No | No |
UART | Yes | Yes | Yes | Yes | No | No | No |
SPI | Yes | No | No | No | No | No | No |
CAN | No | No | No | Yes | No | No | No |
USB | Yes | No | No | Yes | Yes | Yes | No |
Power | |||||||
Triple - Redundancy | Yes | Yes | Yes | Yes | No | No | No |
Raspberry Pi | Yes | Yes | Yes | No | No | No | No |
Software | |||||||
Arduino IDE | Yes | No | No | No | Yes | Yes | No |
MakeCode | Yes | No | No | No | Yes | Yes | No |
Python | Yes | Yes | No | No | No | Yes | Yes |
CircuitPython | Yes | No | No | No | Yes | No | No |
SeeSaw | Yes | No | No | No | Yes | Yes | No |
ArduPilot | Soon | Yes | Yes | Yes | No | No | No |
Price | $39 | $80 | $170 | $240 | $20 | $35 | $40 |
This project is proudly open source. All the documentation, support, and software is currently available on Robotics Masters GitHub.
Getting Started
Updating
Other Useful Links
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.
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.
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.
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.
"designed to lower the entry barrier for those looking to get into robotics"
"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."
Produced by Robotics Masters in Shenzhen, China & Sydney, Australia.
Sold and shipped by Crowd Supply.
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.
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".
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
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.