Introducing the SparkFun Edge
Tiny models on tiny computers!
For the last month I’ve been carrying around a small square micro-controller board in my laptop bag, and I’ve been dying to tell people more about it. But I haven’t been able to until today. Announced a few minutes ago from the stage of this year’s TensorFlow Dev Summit in Santa Clara, CA, by Pete Warden, part of the TensorFlow Lite team at Google, say “Hello” to the SparkFun Edge.
Machine learning development is done in two stages. An algorithm is initially trained on a large set of sample data on a fast powerful machine or cluster, then the trained network is deployed into an application that needs to interpret real data. This deployment, or “inference,” stage is where the new SparkFun Edge is useful.
Built around the ultra-low-powered Ambiq Micro Apollo 3 processor, the SparkFun Edge is designed to run TensorFlow Lite models at the edge without a network connection. This enables developers to put the smarts on the smart device, rather than in the cloud.
“Ambiq Micro’s latest Apollo 3 Blue micro-controller whose ultra efficient ARM Cortex-M4F 48MHz (with 96MHz burst mode) processor can run TensorFlow Lite using only 6µA/MHz. Apollo3 Blue sports all the cutting edge features expected of modern micro-controllers including six configurable I2C/SPI masters, two UARTs, one I2C/SPI slave, a 15-channel 14-bit ADC, and a dedicated Bluetooth processor that supports BLE 5. On top of all that the Apollo3 Blue has 1MB of flash and 384KB of SRAM memory.”
Consuming around 0.3mA running flat out at 48MHz, and just 1 µA in deep sleep mode with Bluetooth turned off, the Apollo 3 processor’s power budget when running is less than many micro-controllers draw in deep sleep mode. That allows you to do real-time machine learning on a micro-controller board powered by a single CR2032 coin cell battery that should last for months.
The new Edge board supports edge computing cases like voice recognition with two onboard MEMS microphones, an ST LIS2DH12 3-axis accelerometer on its own I2C bus, and a connector to interface to an OmniVision OV7670 camera. The board also has Bluetooth 5 support with an onboard antenna, as well as Qwiic connector, four LEDs, and four GPIO pins.
The board comes with a serial boot loader, so programming the board can be done using external USB-serial adapter like the Serial Basic Breakout. But for more advanced users there is also a JTAG programming and debugger port.
If you’re attending the TensorFlow Dev Summit this week you’ll have received one of the first 700 boards to come off the production line, but it’s still early days. Unfortunately if you’ve been lucky enough to get your hands on one of these beta boards there is a drawback, a routing problem that means that the current draw on the boards given out at the Dev Summit is significantly higher than it should be, and that coin cell will only last hours rather than months. This is a problem that’s going to get fixed in the next iteration, before the board officially goes on sale to the general public.
Update: Full instructions on how to get started with the new SparkFun Edge board, along with instructions on how to get TensorFlow Lite for Micro-controllers up and running on other platforms like the STM32F103 “Blue Pill” board, have now been published. Alongside this is a Google Code Lab that will walk you through the example the voice example Warden demonstrated on stage during the TensorFlow Dev Summit yesterday, along with some notes from the talk.
Update: The SparkFun edge is now shipping.