Project update 2 of 12
First of all, thanks for tuning in and being interested in this project! And thanks to all you awesome backers, we’re 113% funded and will be making these boards! The campaign will run for another five weeks, so there’s still time to get yours if you haven’t already.
I wanted to do an introduction to Jupiter Nano, why I built it, and what its super powers are. Good technology products have things they are great at, and of course things that they are not. Jupiter Nano is no different.
I make bio-signals acquisition gear (like HackEEG which launched on Crowd Supply last year). One of the things that is important for modern research that uses bio-signals is getting a lot of data from a lab instrument with many of sensors like analog-digital converters (ADCs) out of the device and into a host computer or smartphone where it can be processed. More samples per second enables detection of more subtle features of neurological signals, for instance.
And I’m interested in portable equipment that can be worn or carried easily– so whatever I’m using needs to be small. This is also true for flying drones and robots– they need compact and powerful computers to run their motors, sensors, and control software.
The other aspect of making devices with embedded computers is that if you want to get data in and out, using Internet protocols is going to be the easiest way to do it. There’s a lot of resources for Internet protocols and programming, and there’s lots of software that already communicates that way that can be reused.
What about other computers with similar form factors? I found that they either:
You can see in the comparison table on the Jupiter Nano product page what this looks like in practice.
So here’s what I wanted:
So that’s what Jupiter Nano is!
To get these powers, we need a good CPU. The chip that makes this all possible is Microchip’s SAMA5D27C-LD1G ARM-based system-on-a-chip (SoC). It’s a worthy successor to the Microchip’s ARM-based SAM3X8E that powers the Arduino Due and many other commercial embedded devices that use Arduino software.
The SAMA5D27C-LD1G is great, providing:
That last item, USB 2.0 High Speed ports, means you can run TCP/IP over Ethernet over USB using much of the USB bandwidth– in my tests, 30MB per second. A USB PHY is the analog part of a USB interface, and having it included in the chip itself means there’s a lot less to debug and fewer external components, which is ideal for a small board.
The SAMA5D27C has a lot of other features you can read about in the datasheet.
Jupiter Nano comes with Debian Linux (including the scripts for building a root file system) and Microchip also supports Yocto and OpenWRT. There are drivers for all the SAMA5D27C peripherals.
But what if you need something closer to the bare metal? With faster interrupt response time? In that case, you need a Real Time Operating System. That’s where Apache NuttX comes in. It’s a secret weapon that powers many of the smart devices we see every day– for instance the PX4 drone control software that runs many flying drones is based on NuttX.
NuttX is awesome for many reasons, but one big advantage it has over other RTOSes is that it has a high-speed TCP/IP stack. So it can talk Internet protcol too, just like Linux can. NuttX runs on the SAMA5D27C-LD1G and it has enough processing power to do real-time tasks and run high-speed networking at the same time.
One key part of Jupiter Nano is that it’s all open source, hardware and software. That means you can use it and remix it in your own designs. The schematics, KiCAD files, and the software will all be publicly released when the project is fully funded.
So that’s a short tour of what Jupiter Nano is good at. I hope you found this interesting. If you need these things for your projects, you can find out more or get one at the Jupiter Nano project page!