"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."
" hardware schematics and software will be fully available and open source without limitations."
Final Robo HAT MM1 prototype shown here.
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 final revision boards will be blue, like this!
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.
Final Robo HAT MM1 prototype shown here.
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 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 already using the Robo HAT MM1 (and autonomous cars) as educational tools in school programs and workshops.
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 is one of the 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.
|A. Inputs for radio controller||H. Auxiliary battery (4.2 V)|
|B. Raspberry Pi header (final version not stackable)||I. ESC power pass through|
|C. SPI connector||J. Main battery (7-15 V, 1000 mAh capacity)|
|D. GPS connector||K. USB connector|
|E. I²C external connector||L. Power-on button|
|F. Telemetry / USART connector||M. Outputs for servos|
|N. NeoPixel header||R. LED|
|O. E-Stop header||S. Pads for switching SPI connector|
|P. LiPo battery charging||T. Pads for switching I²C bus|
|Q. Reset button||U. Serial header|
With support for major existing platforms, you are guarenteed 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.
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.
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.
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|
|Flash Storage||8 MB||2 MB||2 MB||2 MB|
|Triple - Redundancy||Yes||Yes||Yes||Yes||No||No||No|
This project is proudly open source. All the documentation, support, and software is currently available on Robotics Masters GitHub.
Robo HAT MM1 revision 2 board shown
Get in on the ground level!
This level is for everyone who wants to start using the Robo HAT MM1 board. With Robo HAT MM1 you’ll be able to write code in CircuitPython (accessing thousands of existing libraries for sensors), program your smart robot with a Raspberry Pi running Tensorflow using the Robo HAT MM1 running SeeSaw, and interact with the large existing support of the Arduino Platform. The possibilities are endless - build your project!
Get ready to launch into any project, hassel 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.
Fly away with a Robo HAT fit for flight!
We have been getting a lot of feedback from different drone communities about what they expect from a controller board. Two of the biggest requests were for an SPI IMU and a barometer (pressure sensor). We are providing this level to specifically meet the needs of drones. You will receive a Robo HAT MM1 board, a set of peripheral cables (7pin (SPI Port), 6pin (UART 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. At this pledge level, you will have all the sensors you need to start making your own drone.
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 (UART 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.
Contains five Educational Kits. This is designed for teachers who are looking for a inexpensive and interactive way of introducing students to programming. This level is suited to class or community group sizes of up to 20 people.
All manufacturing will take place in China. We will start by sending the Gerber files to a PCB factory that will create the boards. These boards will be unpopulated and need to be assembled in a different factory that will be able to place all the smaller components for the board. We plan on sourcing the components for the boards to ensure we are getting the best and most reliable components.
The second PCBA factory will be able to assemble the boards using a pick-and-place machine. They will be testing that each component that has been sourced is correct (many manufactures do not check for fake components). This will ensure all parts of the board work as expected without problems.
Next, the factory will “run SMT,” in which solder paste is applied to the PCB, and components are placed on the board, the entire PCB assembly (PCBA) is run through a hot oven to melt the solder, a factory test is run on the finished product, and the boards are finally packaged for shipping. If all of the pieces are ready, this process should be relatively quick.
The testing will be extensive. As already mentioned, each component will be checked. Then each completed board will be tested on a ‘test jig’ that we give to the manufacturer to ensure that the boards are made to specification. Part of the testing involves making sure the MCU, IMU, and current sensors are all working along with the electrical circuits. This will ensure that every board we send out is 100% working.
We already have direct contact with the people manufacturing the boards. This allows for a fast and reliable delivery of the product. Manufacturing time will depend on the number of boards that need to be made, so we’ve added a bit of a buffer in our shipping estimates to account for this. The manufacturer we’re working with has agreed to make and test all the boards before they leave the factory (yes - test as well).
Making Robo HAT MM1 prototypes (revision 2).
Once the boards have been manufactured, they will be delivered to Crowd Supply in the US to be distributed to the backers. They will take less than two weeks to arrive at Crowd Supply for distribution. Then another short while before they are sent directly to the backers. For more information, please read this page about ordering, paying, and shipping.
Once you receive the board, you can access all of our resources to help you get started. Then it is up to you what magical project you are going to create - robotics, drones, or something new!
The bottom of Robo HAT MM1 revision 6.
Manufacturing hardware can be difficult and challenging. Parts might not ship on time, or they might arrive later than we planned for us to start manufacturing. Parts might become discontinued or change without a prior announcement from the manufacturer. Our pick-and-place machine or reflow oven might break and need replacement parts and repair.
Our team is located in the heart of manufacturing in Shenzhen, China. This reduces the risk and time delays of manufacturing issues. We are able to go to the factory and check on production very regularly and can communicate directly with the factory in the event of issues.
We are also testing each board individually to ensure that there are no manufacturing faults. This is in addition to the testing we have done on each revision of the board, making sure everything works as intended. This ensures that you are getting a 100% reliable product.
We will provide updates explaining how we are addressing any delays of this kind. We know that many of you are interested in the manufacturing process, and that includes learning about any problems we might run into and how we solve them.
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.