Diodes Delight
Embedded Linux Boards
Machine Learning
Funding ended on May 11, 2021 at 04:59 PM PDT.
Piunora is a compact, easy-to-use development board for electronics prototyping with Linux. It has a familiar form factor, legible pin labels, and a design that’s well suited to space-constrained applications.
As a carrier board for the Raspberry Pi Compute Module 4 (CM4), Piunora is essentially a tiny version of the Raspberry Pi 4 Single Board Computer (SBC) with added flexibility to accommodate custom form factors. CM4-based devices like Piunora are fully compatible with software that was written for the Raspberry Pi 4, as long as that software accounts for the hardware peripherals in use. There are also versions of the CM4 that include eMMC memory, which is more reliable than a traditional SD card.
It may be small, but Piunora is packed with powerful peripherals that will come in handy for rapid prototyping and embedded machine-learning applications. Examples include an HDMI port, camera-input connectors, and PCI-e support, which is not present on a standard Raspberry Pi 4. Finally, the M.2 B-Key port on the rear of the board is not only useful for SSD storage, it can also host a diverse range of PCI-e expansion boards.
A Qwiic/Stemma-QT-compatible connector makes it quick and easy to use I²C sensors—from Adafruit, SparkFun, and others—via Python. That puts hundreds of high-end sensors and peripherals at your fingertips, with no soldering or breadboarding required, which makes developing powerful, sensor-based machine-learning applications a breeze.
Qwiic and Stemma QT put the rapid back in rapid prototyping by allowing you to connect and daisy-chain I²C devices. Using just one connector, you can add multiple devices to Piunora. The Qwiic connector was developed by SparkFun (Qwiic) and then picked up by Adafruit (Stemma QT). Both companies offer a number of affordable sensors, displays, and input devices. All of their boards have easy-to-use Python drivers that work with the Raspberry Pi and the CM4.
The demo above uses Adafruit Blinka—a library that enables CircuitPython code in Linux—and an Adafruit VCNL4040 distance sensor attached by a single cable to Piunora’s Qwiic/Stemma-QT connector.
Unlike any of the official Raspberry Pi boards, Piunora includes an on-board ADC that provides true-analog inputs. Six ADC channels are exposed to pin headers and two additional channels are broken out to solder pads on the bottom of the board for when you need that little bit of extra analog.
To make prototyping easier, Piunora also includes two user buttons and an RGB LED for simple status feedback in your applications. We provide sample code that allows you to shutdown Piunora safely using the button on the back.
Piunora includes a USB Type-C port that’s wired for both power and USB 2.0 data. Because it draws less power than a full-featured Raspberry Pi 4, it will happily interface with any modern USB port rated for 900 mA or higher (most USB Type-A 3.0+ and USB Type-C ports). As a result, you can use Piunora simply by plugging it into your computer and connecting to it via USB gadget mode, either as a virtual Ethernet interface, a USB Serial connection, or a USB mass-storage device.
Thanks to Adafruit Blinka (a compatibility layer for CircuitPython on Linux SBCs), you can use Piunora just like any other CircuitPython dev board, which allows you to take advantage of the huge collection of existing drivers for that ecosystem. Our goal is to make it as easy as possible to develop embedded applications with Piunora, and we are actively developing open-source software to enable this specific use case.
Piunora is also great for embedding into your own custom hardware solutions. Its compact form factor and obstruction-free pin headers facilitate the development of expansion boards using cheap, two-layer PCBs—or the mounting of Piunora, up-side down, onto larger PCBs. And with all of its core connectors facing in the same direction, Piunora takes much of the guesswork out of enclosure design as well.
And don’t forget that M.2 connector, which provides the perfect interface for a more compact style of add-on board. If you are feeling hacky, you can use the optional jumper pads to connect the USB Host port directly to the M.2 connector following the industry standard M.2 B-Key pinout. That way you can develop simple, space-efficient, USB-enabled MCU solutions that extended the functionality of your Piunora. Please note that this is a feature intended for hackers and it might not work perfectly in all situations.
And finally, there are three additional GPIOs connected from the CM4 itself.
Piunora Lite uses the exact same PCB as Piunora Pro but leaves off the bottom side components for space and cost savings. Piunora Lite does not include the following features:
Piunora | Raspberry Pi 4 | Raspberry Pi CM4 IO Board | Raspberry Pi Zero W | |
---|---|---|---|---|
Processor | CM4 (BCM2711 Quad Core 1.5 GHz) | BCM2711 Quad Core 1.5 GHz | CM4 (BCM2711 Quad Core 1.5GHz) | BCM2835 Single Core 1GHz |
Full Size HDMI | Yes | No (micro HDMI) | Yes | No (mini HDMI) |
Full Size Camera Connector | Yes | Yes | No (needs Adapter) | No (needs Adapter, only 1080p) |
Ethernet | No | Yes | Yes | No |
PCI-e M.2 | Yes | No | No (PCI-e 1x slot) | No |
USB-C w/ both Power & Data | Yes | Yes | No | No |
USB-A Host Port | Yes 1x | Yes 4x | Yes 2x | No |
USB 3.0 | No | Yes | No | No |
I²C Qwiic/Stemma QT Connector | Yes | No | No | No |
User RGB LED | Yes | No | No | No |
User Button | Yes 2x | No | No | No |
Pin Legends on board | Yes (Front & Back) | No | No | No |
Pin headers | Yes | Yes | Yes | No |
eMMC Storage option | Yes | No | Yes | No |
Upgradable | Yes | No | Yes | No |
Power consumption (w/ WiFi) | ~250mA idle | ~540mA idle | ~290mA | ~130mA idle |
Size | 70 x 53 x 8 - 13 mm | 88 x 59 x 20 mm | 160 x 90 x 20 mm | 66 x 30.5 x 5 mm |
Cost | $30-$39 (+$25 for CM4) | $30+ | $35 (+$25 for CM4) | $5 |
Which SSDs will work with Piunora?
We recommend the SN520 from Western Digital and SanDisk. (It’s sold under both brands.) M.2 is not universal. It comes in different so called "keys" that specify the application. Every NVME 2242/2230 B+M Key SSD should work just fine. (They have two notches and are compatible with both B- and M-Keys.) M.2 M-Key-only SSDs will not work* because Piunora uses the M.2 B-Key. (That said, I might offer an adapter to allow long M-Key SSDs if there is enough interest…)
So what M.2 sizes does Piunora support?
Piunora supports 2230 and 2242 as well as 3042 and 3030. So called "thick" modules also work. (There are no components under the M.2 area.) The Piunora M.2 B-Key 2280 Expander allows you to use 2280 and 2260 devices, but they will extend beyond Piunora itself, so keep that in mind if you want to retain the form factor.
What does 2242 or 2280 mean in regard to M.2?
That’s the size of the card. 2242 means 22x42 mm, and 2280 means 22x80 mm.
Are SATA-based SSDs supported?
There is no SATA chipset on Piunora, so no.
Can I power Piunora from the pin headers?
Yes! That is totally possible. I recommend that you use both available 5 V pins when doing so. Also, if you do that, you should not use the USB Type-C input at the same time. (You don’t want to back power the host device.) You can still use the USB Type-C for data if you cut the VBUS line from your USB Type-C cable (GND should still be connected) or if you use a product like the Power BLough-R. with your computer.
Can I boot from an NVME SSD?
Yes! This is now possible, though it’s still in beta.
Can I use the SD-card connector with CM4 modules that have eMMC?
Unfortunately, no. This is a hardware limitation of the CM4. There is a single SDIO interface available and that interface is only available to be used on the "Lite" modules. On modules with eMMC, this interface is used up by the eMMC chip. (The connector pins that normally carry the SDIO interface are simply not connected to anything.)
Why did you go with an M.2 B-Key instead of an M-Key?
M-Key is intended specifically for SSDs. While many Piunora users will be interested in SSDs, there are a lot of B-Key modules in the 2242 form factor, and the majority of M-Key devices are 2280 or larger. Furthermore, most 2242 SSDs come as B+M-Key, which means they’re compatible with both form factors and should work just fine with Piunora. So, using a B-Key supports more add-on cards while still accommodating most NVME SSDs.
I’m confused by the USB setup. How many USB ports does Piunora have? And can I use them all at once?
Unfortunately, the CM4 has only a single USB port, which can act either as a USB host or as a USB device. They are mutually exclusive, which is why we added a switch so you can toggle between host mode and device mode. When the switch is set to host mode, a USB multiplexer is routing the USB bus to the USB Type-A connector. When the switch is set to device mode, the USB bus is routed to the USB Type-C connector.
How does the M.2 port play into the whole USB thing? I thought it was PCI-e?
Apart from PCI-e, M.2 can host a lot of different peripherals. That includes USB, SATA, I²C, SPI, and many others. It’s up to the host device to decide what it wants to implement. (Only PCI-e is mandatory.)
When you bridge the solder jumpers for the USB lines to the M.2 ports, you are bridging the USB data lines of the USB Type-A port to the M.2 port. You still retain the ability to switch to device mode, but you have to be careful when using the USB Type-A port. It’s a trade off: you can not use the USB Type-A port while using USB on the M.2 port. This hack also creates a so called "stub" (a piece of conductor that is not part of the signal pathway) which might cause unwanted signal reflections, so please keep this in mind if you plan to use a High-Speed USB device after bridging these pads. While there is no guarantee that it will work flawlessly in all situations, it’s usually not a problem in practice (at least not over short distances).
Which GPIOs are exposed through the M.2 port?
Below is a portion of Piunora’s schematic that shows the M.2 port connections. These are the only three GPIOs that are allowed to be run on 3.3 V logic, per the M.2 specs.
By the time you receive your board, you will also have access to an extensive collection of sample code and documentation covering every feature that makes Piunora unique. While the CM4 at its heart works almost exactly like a Raspberry Pi 4, Piunora has a few quirks you’ll want to know about when you start developing for it. We are documenting such details concisely and will provide resources that answer any questions that are likely to arise.
Piunora will be assembled by a contract manufacturer with whom we have partnered many times. We’ve already begun working with them to ensure that our post-campaign production run goes smoothly, and we are confident they will do an excellent job.
After testing and packaging your Piunora boards, we will send them on to Crowd Supply’s fulfillment partner, Mouser Electronics, who will distribute them to backers worldwide. You can learn more about Crowd Supply’s fulfillment service under Ordering, Paying, and Shipping in their guide.
Before we launch into full-scale fabrication and assembly, Piunora will undergo a final round of beta testing in which a diverse set of users will help us identify any subtle issues that might be present in our latest prototype. Having already been through a manufacturing run for those prototypes, we do not anticipate any problems when it comes time for mass production. While Piunora relies almost exclusively on generic ICs, there are two exceptions: the ADC and the buck converter for the M.2 port. Should we encounter availability issues for those components, due to the current supply-chain situation, we could face unexpected delays. Stock for all parts has been looking very good, but we cannot rule out the possibility that large manufacturers will buy up available quantities and leave the rest of us with extended lead times.
Produced by Diodes Delight in Germany.
Sold and shipped by Crowd Supply.
A compact, feature-rich CM4 carrier board
Want to buy this item? Check the current project page for the latest information.
Perfect if you need the slimmest possible form factor. Includes all features of Piunora Pro except for the camera connector and the PCI-e M.2 port.
Want to buy this item? Check the current project page for the latest information.
Expands Piunora's M.2 port to accommodate full-length 2280 peripherals. Keep in mind that such devices are quite a bit longer than Piunora itself, so they might look a little awkward hanging off the end there. But, if you have a cool idea that depends on a 2280 M.2 accessory...this is the product for you.
Want to buy this item? Check the current project page for the latest information.
From the Raspberry Pi Compute Module 4 project.
Something for your Piunora to carry. The Piunora microSD card does not work when using eMMC CM4 variants.
This CM4102008 variant of the Raspberry Pi Compute Module 4 is a System on Module (SoM) containing an ARM quad-core Cortex-A72 processor, 2 GB RAM, ethernet, 2.4 and 5 GHz 802.11b/g/n/ac Wi-Fi, 8 eMMC storage, and supporting power circuitry.
Want to buy this item? Check the current project page for the latest information.
You can operate the CM4 without a heatsink just fine, but if you have some extra-heavy computation to do, then a heatsink can help prevent thermal throttling of the SoC. Includes a mounting footprint for a 30 mm fan (not included) should you want to integrate it into an enclosure or take your CM4 to even greater extremes of computation. Also includes a set of stacking pin headers to accommodate expansion boards.
Want to buy this item? Check the current project page for the latest information.
From the Crowd Supply Basics project.
Boot media for the "Lite" (CM4101000) variant of the CM4. We recommend 64 GB or smaller.
An industrial-grade memory card with extended endurance.
Want to buy this item? Check the current project page for the latest information.