TLDR: The Jupiter Nano is an open-source hardware based on an awesome MPU product from Microchip called the SAMA5D27C-LD1G. The boards exposes a lot of IO in spite of a tiny form-factor, boots a full-fledged linux distro as well as can support microcontroller-like development flow.
A few days back, I had written about the Jupiter Nano and why you would love it – especially if you like the Raspberry Pi Zero. In case you missed it or need to look at it again, check it out here.
I have a big update to share. I have received the Jupiter Nano after a long wait (thanks to the Indian customs and DHL shipping)! And as expected, the board is awesome… but what makes it awesome?
This post tries to decode that for you… read on!
What is the Jupiter Nano?
The Jupiter Nano is a fully open-source hardware from the good folks at Starcat. This board was first spotted in the wild at its CrowdSupply campaign page. The Jupiter Nano can be called a successful campaign with 70+ backers pledging upwards of $15k to get their hands on this board and its accessories.
What is the Jupiter Nano based on?
At the heart of the Jupiter Nano is Microchip’s SAMA5D27C-LD1G chip. This is a Cortex-A5 CPU-based MPU that can be clocked up to 500 MHz and packs in a lot of essential peripherals like SPI, I2C, UART, PWM, ADC, I2S, CAN and so on. But what makes the chip stand out is the the fact that it packs inside it a 1 Gbit i.e. 128 MB DDR2 die. If you are a board-designer, no more of those pesky coffee binges to get the DDR layout just right – Microchip has already done that for you inside the chip! Don’t get too excited though… designing with an MPU is still a challenge, especially those with BGA packages. But not having to worry about the DDR section is a good start, isn’t it? :-).
How do I get started with the Jupiter Nano?
Like most MPUs, the SAMA5D27C-LD1G MPU on the Jupiter Nano can boot from an SD card. The Jupiter Nano board has a micro-SD card slot for this purpose. On the software front, Starcat has kept it simple. They give you a neat set of scripts to generate your first SD card image. To help you with your first build, I have made the below video to help you through the steps. Do consider subscribing to the YouTube channel if you liked the video!
What about the IO on the Jupiter Nano?
This is where the Jupiter Nano packs a real punch! Just for context, look at the below image to know how large the board really is compared to a credit card. (Yes, yes.. it is a Nano. I get it. I am just trying to make a point.)
You will be blown away by the sheer number of IO interfaces available on this board! The below diagram shows the peripherals that are supported.
SPI, I2C, UART, I2S, CAN, PWM, ADC channels, GPIO, JTAG, USB device, USB host are some of the major ones made available to you on a board that is smaller than a credit card!
And, it is fully open-source so you can modify it if you need to in the future!
And, it can run a linux distro!
NOTE: The board has a JTAG connector but does not have an on-board debugger. You would need to have one with you like a J-32 Debug Probe ($$$) or a PICkit4 ($$) or a SNAP debugger ($) from Microchip. Check out MicrochipDirect for the latest prices!
So, is this just a linux machine?
NO! As you saw in the video above, it is easy to build a linux image and get cracking. The magic does not end there. Some of you may be looking for a more powerful microcontroller board that is open-source, whose software development is well-defined and easy to pick up. This is where the Jupiter Nano stands out.
You can also use the Microchip SAMA5D27C-LD1G MPU as a microcontroller! Microchip’s Harmony 3 ecosystem (more on this later) provides the chip support package and middleware you would need to use it like a microcontroller. It is safe to say that this makes it one of the most powerful open-source microcontroller boards out there with 500 MHz of raw CPU power coupled with the full-fledged execution out of the internal DDR2. You may never be able to use the 128 MB of DDR2 if you write software in the microcontroller style – but hey, one can always try ;-).
In summary, if someone asks you the below questions, you can now answer them!
- Is Jupiter Nano a linux machine? Yes! In fact, it is one of the tiniest boards out there that can run a full-fledged linux distro like Debian.
- Is there a linux image that I can use to start tinkering with the Jupiter Nano? Yes! You can easily build a Debian linux image using the video tutorial shared above! This image has to be loaded to a micro SD card and you are ready!
- Can I use the Jupiter Nano like a microcontroller? Yes! You can use Microchip Harmony 3 to do microcontroller-style development if linux is not your thing.
- Does the Jupiter Nano expose IO that I can use to interface other components? Yes! In spite of the tiny form factor, the Jupiter Nano exposes IO like SPI, I2C, UART, I2S and also has a battery charger on-board!
We will learn about the boot process of the Jupiter Nano in our next post. See you!