We have been working behind the scenes on a HUGE announcement that radically improves the Robo HAT MM1 - A bigger, better processor!
We discovered a while ago that the SAMD21 (the previous processor we used) is quite limited in what you can do with it. You quickly become familiar with the error message, “MemoryError: memory allocation failed” when running CircuitPython. This was quite prominent when testing any CircuitPython code that is longer than 300 lines - such as the IMU code or running way too many neopixels.
So we decided that - instead of just coping with the error message - we would change the processor.
But wait - you may ask - does that mean you need to redesign the whole board? Using a new processor means a completely different layout?
Well, in most cases, yes. However, ATMEL has an almost identical processor to the SAMD21 in its more advanced SAMD51 range. There are only two pins that have been completely changed or used for a different purpose and two others swapped.
Side by side, SAMD51 and SAMD21.
We discovered the SAMD51G19A variant recently and spent a bit of time changing the board design to match it.
We can now officially announce that we are going ahead with using the SAMD51G19A instead of the SAMD21G18.
We have run many tests on the board today and finally have a working board.
Below you will find the spec changes (and we think you will be very impressed).
|Processor||48 MHz||120 MHz||2.5x|
|Memory||32 KB||192 KB||6.0x|
All of this means you will be able to do much more with the Robo HAT MM1 than before. Whether it be using a higher resolution servo output with more of the servos (all are now capable of 24-bit resolution) or want to run larger arrays of NeoPixels. It is all more possible than ever.
We have been lucky that most of the work we have done to date can be saved. CircuitPython and Arduino are still working and supported as stated on the campaign page.
Unfortunately, all the ArduPilot preliminary work we had completed is not working. It was based on Adafruit’s SeeSaw I2C library which does not currently support SAMD51. We are currently working on fixing Adafruit SeeSaw and will hopefully have some positive news in 2 weeks time on this front.
You can follow the SeeSaw SAMD51 support progress on GitHub.
In addition to this, one of the pins between the Raspberry Pi and MCU has been re-purposed. We only see a minimal impact from this reduced functionality since we will make available a different pin for the same purpose.
We have also changed the power circuitry on the board. We are adding a beefier 3.5 A main 5V supply and a 1.0 A auxiliary supply from the LiPo Battery. This means you will be able to use the Robo HAT MM1 standalone to power the Jetson Nano - removing the need for an external battery or PSU.
We think this change will also cause a small delay in manufacturing. There has been a long lead time on sourcing the components we need for this board. We will have a firmer time frame on the final delivery date very soon and will let all backers know ASAP. We expect the delay to cost us no more than 2 weeks.
We will be continually keeping you up to date through the Crowd Supply campaign on our progress.