A robotics and automation controller for Raspberry Pi, CircuitPython, and autonomous vehicle platforms.
There are many great community groups out there hacking together self-driving technology and individuals making cool projects. Some of these groups use the Donkey Car Software Platform to achieve autonomous driving.
However, the hardware these groups are using is difficult to use, unreliable and expensive for what they did - many of which were single-use specific to one model of car or drone.
About 1 year ago, I (and the team) set out on a mission to try make it easier for people wanting to start experimenting with robotics, particularly self-driving cars, through giving them a product that is affordable, diverse and powerful for many applications.
The Robo HAT MM1 designed by the Robotics Masters Team (consisting of myself and three other like-minded people) built from the ground up to meet the requirements:
- Easier Donkey Car setup
- Schools / Education usage
- Potential other project applications
Along the way we managed to include many cool features such as an IMU and current sensor for enhanced autonomous driving.
We also wanted to allow people a wide number of uses for the board outside of autonomous cars.
So we set out designing a new board that met all these conditions and came up with the Robo HAT MM1 - based on the SAMD21 processor with many on-board features.
We spent a lot of time adding support for many popular environments and new or upcoming ones. These included CircuitPython (by Adafruit), Arduino IDE, SeeSaw (by Adafruit) and platforms such as Donkey Car and ArduPilot.
Some of these packages are suited to schools - like CircuitPython and the improved Donkey Car Platform.
Full descriptions of each of these and what they can do is available on the Crowd Supply page.
Although designed for the Raspberry Pi, we managed to test out the Robo HAT with a Jetson Nano, which opens up the number of possibilities for everyone.
The software was backed up with some solid hardware features to meet each of the goals we wanted to achieve. Focused on making it easier for end users.
The Robo HAT includes an IMU, current sensor, SAMD21 Processor and 8 MB of Flash storage. All power is converted on the board to provide a stable 3 Amps of current to power the Raspberry Pi and sensors. Reducing external required hardware. More features are outlined below.
Designed for automation:
- Multiple power sources for stable and reliable power
- E-Stop connection for emergency shutdown
- 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)
Drone compatibility features:
- Selectable SPI Master between Raspberry Pi and M0
- Standard connectors for drone sensors
- Selectable I²C internal and external buses for extra sensors
- Stable on-board power supply for Raspberry Pi boards (5.1V @ 2.5A)
Multi-functional Micro USB Connector:
- USB connection for uploading new firmware
- USB to serial port access
- USB Storage access for CircuitPython
- USB doubles as charging for backup LiPO Battery (at same time)
- Processor: 48 MHz SAM D21G (M0)
- Memory: 32 KB SRAM
- Storage: 256 KB internal programmable flash + additional 8 MB SPI flash
- Multi-product Compatibility- Jetson Nano- Raspberry Pi: all models with 40 pin header- Model B+, 2B, 2B+, 3B and 3B+- Model A+ and 3A+- Zero and Zero W- Google Coral
- Raspberry Pi Interfacing- Two (2) GPIO directly to Raspberry Pi (SW programming)- Two (2) GPIO directly to Raspberry Pi (UART-serial console)- I²C or 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 controller input- Two (2) x Serial console pass through- One (1) x NeoPixel output- Nine (9) x GPIO pins through SPI / GPS ports
- Sensor Interfacing: Also re-programmable as general IO pins- Dronecode Compatible Connectors- SPI- GPS- USART- I²C
- 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- Output maximum of 3.5 A on 5V rail.
- 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- L x D x H: 65 mm x 56.5 mm x 30 mm
We have left this open to users! We put a lot of time into the software support to make it easy for everyone to use this board in any of their projects. The projects you come up with should no longer be limited by the hardware when using the Robo HAT.
With the small sample of boards out there at the moment, we have seen autonomous cars, robot arms, voice control, and line tracking robots. There are endless possibilities with the Robo HAT.
As part of the project, I have been writing guides in a series called 'Creating Custom Boards' on Hackster.io to help others with the software side of the project. By building resources for what we are doing, it makes it easier for all you other makers out there who want to do a similar thing.
If you are interested in a new guide for something mentioned above that doesn't have one, let us know.
The Robo HAT MM1 was originally designed and built to fill the gap in the market for a cheaper alternative to available autonomous vehicle (drone) controllers but became much more. It is now a fully fledged hardware project power-house - backed by software - that is able to be used in many applications. It is still education focused but forfills the needs of makers and enthusiasts alike.
You can check out the Crowd Supply Campaign which ends this weekend if you are interested getting one.
Crowd Supply -- ONLY THREE DAYS LEFT
Thank you for reading.