Faster computers and tools that make artificial intelligence (AI) accessible to programmers have caused significant changes to every element of modern technology. With machine learning firmly at the heart of many cloud-based services, the next step was to get neural networks working at the "edge" – on small, cheap, low-powered hardware. Today, we are looking at the Coral Dev Board, a single-board computer (SBC) from Google designed for machine learning. We'll also be taking a look at the Coral USB Accelerator, a portable Raspberry Pi-compatible coprocessor for edge computing.
What is the Coral Dev Board?
The Coral Dev Board features a removable system-on-module (SoM), housing everything required to operate, with a baseboard taking care of all physical inputs and outputs. The familiar layout of General Purpose Input and Output (GPIO) pins, 4-lane connectors for displays (MIPI-DSI) and cameras (MIPI-CSI2), and integrated audio courtesy of a 3,5mm jack and four-pin stereo speaker terminals, make this a highly versatile board for developing AI projects.
You can buy the Coral Dev Board via the Coral website, currently reduced to $129.99 USD. Alternatively, you can buy the TPU Edge USB Accelerator for $59.99 USD. The Coral Camera can be bought separately for $19.99.
Coral Dev Board: An Overview
We'll look at the Coral Dev Board in more detail below, but first: Should you buy the Coral Dev Board?
I wouldn't advise buying it, but this has nothing to do with the board's quality or user experience. It's a question of scope. The Coral Dev Board allows for the quick development and prototyping of embedded edge computing devices. It's removable SoM and low-power two tera-operations per second (TOPs) per Watt running cost make it perfect for large scale deployment.
This is exactly the issue, however. Most people buying this board won't be developing industrial products, or need to remove the SoM from the baseboard at all. If you want a board to learn the basics of TensorFlow Lite or begin working with the classification of data using sensors and cameras, you are far better off buying the Coral Edge TPU USB Accelerator. It contains the same coprocessor as the Coral SoM, and works with the Raspberry Pi you likely already own.
If you think this seems a little harsh, it's worth noting that the tutorial projects provided on the Google Coral site use Raspberry Pi boards with the Edge TPU USB Accelerators over the Coral Dev Board. It is a wonderfully designed SBC, and I am glad to have it in my collection, but in truth, I've never done anything with it that I couldn't just as easily do with the Coral USB Accelerator.
If you are one of the few people who need what the Coral Dev Board provides, buying it is a no-brainer. For most folks, the Raspberry Pi 4, combined with the Edge TPU USB Accelerator, will provide a cheaper and more versatile option.
Coral Dev Board Specifications
The specifications for the Google Coral Dev board split into two categories, the SoM, and the baseboard:
- CPU: NXP i.MX 8M SOC (Cortex-A53, Cortex-M4F)
- GPU: Integrated GC7000 Lite Graphics
- Coprocessor: Google Edge TPU
- RAM: 1GB LPDDR4
- Flash memory: 8GB eMMC
- Connectivity: Wi-Fi 2×2 MIMO (802.11b/g/n/ac 2.4/5GHz) Bluetooth 4.1
- Dimensions: 48 x 40 x 5mm
- Flash memory: MicroSD
- USB: Type-C OTG Type-C power Type-A 3.0 host Micro-B serial console
- LAN: Gigabit Ethernet port
- Audio: 3.5mm audio jack (CTIA compliant), Digital PDM microphone (x2) 2.54mm, 4-pin terminal for
- stereo speakers
- Video: HDMI 2.0a (full size), 39-pin FFC connector for MIPI-DSI display (4-lane), 24-pin FFC connector for MIPI-CSI2 camera (4-lane)
- GPIO: 3.3V power rail 40 – 255 ohms programmable impedance ~82 mA max current
- Power: 5V DC (USB Type-C)
- Dimensions: 88 x 60 x 24mm
Using the Coral Dev Board
I thoroughly enjoyed my time with the Coral Dev Board, which may seem odd to say since I just advised you not to get one. While that reasoning stands, the board, along with the custom Mendel operating system is well-documented and easy to use.
Flashing Mendel Linux to the onboard eMMC is perhaps a slightly more involved process than many will be used to, but it is thoroughly explained. The getting started guide takes you through running an example project (anyone who has tinkered with TensorFlow knows that parrot). It leads on to using the Coral Camera (which is purchased separately for $19.99) for live image classification.
I'm not a professional programmer, and outside of following a few courses on machine learning and creating toy neural networks, I don't have much experience of working with TensorFlow. The good news here is that working with Mendel and the Google documentation for TensorFlow Lite has been quite hands-off.
There are many example projects available that work more or less out-of-the-box, and going from nothing to a working example of live object classification and facial recognition is accessible to anyone comfortable working on the Linux command line.
Since initially getting the Coral Dev Board last year, I've used official documentation and other projects online to learn a decent amount about how to use TensorFlow Lite in IoT projects. There's just one problem: I didn't use the Coral Dev Board to do any of it.
A Mighty Sidekick
Anyone with limited desk space knows the constant struggle to impose order on your daily drivers. For me, that means that as well as my keyboard, mouse, and drawing tablet, I have an Arduino, Raspberry Pi, two breadboards, and some basic components all jostling for desk space. Every time I've returned to TensorFlow Lite, I've left the Coral Dev Board in its box, and reached for the Edge TPU USB Accelerator instead.
It's not just the size difference. It's convenience. With the TensorFlow Lite library already installed on my Raspberry Pi 4, getting started is a simple as plugging in the USB Accelerator and booting up. Adding my USB webcam into the mix meant that in the time I'd usually spend setting up the Coral Dev Board and Coral Camera, I already was most of the way to replacing my face with David Hasselhof.
The Coral Dev Board is an incredible machine for AI development, and if you know what you need from your hardware, you won't be changing your mind based on this article. If you, like me, are curious about how AI works and want to try it for yourself, the Edge TPU USB Accelerator is likely a better choice.