We are now finalizing the second version of our Robot Car HAT (renamed MM1 HAT). We are days away from having the prototype ready for testing.
I have been planning and working on the variety of software implementations that we will support for the board.
Please see below for a full update.
The current Prototype has the following feature set:
These are pins that are exclusively connected to the Raspberry Pi and no broken out on the board except using the Raspberry Pi 40-pin header.
A total of 24 programmable Input/Output Control Pins.
All are re-programmable to match a supported special function (I2C, UART, Analog, PWM, etc). This will be noted in the documentation.
We have added dronecode complaint JST connectors for attaching to external components. These do knock out some of the 24 programmable IO pins above, however, which ones exactly has been clearly documented and will be presented in a clear way shortly.
JST Complaint Connectors
Triple-redundant power supply support:
Once we finalize the software over the two next weeks or so we will have another update that is less hardware focused and more software and application(s) focused.
We have been looking at how the HAT can be used with drones and other autonomous vehicles. In addition to being a starter board for schools to use as a tool to teach programming. Since the board is fully CircuitPython compliant, it is able to be used as a standalone programmable micro-computer. It has the potential to provide the gap between starting to program in high-level, easy to learn languages such as Python to Arduino C++ programming working with Hardware Systems.
We are looking at these software methods at the moment:
SeeSaw Library - This is a library that is open-source provided by Adafruit Industries for interfacing with any I2C board. We plan on using the existing firmware tools by writing our own configuration specific to the RobotCat HAT. This library then uses CircuitPython running on the Raspberry Pi to control external servo motors and other sensors.
CircuitPython Native API - CircuitPython learning environment built by Adafruit able to run all the tutorials in their education / learn system.
Custom CircuitPython Script - we plan on using CircuitPython to write a script that emulates the actions of a PCA9685 which is used widely by the Donkey Car Community. In this script, we will be able to employ custom actions such as direct control of the servo motors by the RC controller Input pins (removing all latency from control) and safety features such as detecting a stall when too much current is drawn from the battery.
Scratch Environment - we have not looked into this, but understand that younger kids are using scratch for learning the absolute basics of programming. The drag and drop interface is really accessible to kids of a young age and has the potential to assist in educating more people using the HAT.
So this is where we are currently at with this project. More updates coming soon!