There's no shortage of small Linux-based single-board computers (SBCs). Different manufacturers design with different target markets in mind, but the general idea remains the same: Small form factor computers giving decent processing power with a small power usage footprint. Today's board, Seeed Studio NPi i.MX6ULL dev board already comes up a winner in this regard, with a processor clocking up to 800MHz and various options for low power operation.
Beyond the basic definition, things tend to get complicated quickly. For AI processing, you have a whole series of boards, including the Google Coral Dev board, and Nvidia's series of super-powerful SBCs. For a tiny form factor, there is the Beagleboard, and for all-round approachability and beginner friendliness, there is the Raspberry Pi 4b+.
The NPi i.MX6ULL has some fairly unique features, including dual-ethernet ports, a whole set of extra GPIO pins (on top of the familiar Pi compatible 40 pin header), and a choice between 512MB onboard NAND storage and 8GB eMMC.
There is rarely any reason to stray from the popular SBC choices for hobbyists, but everything changes when you start developing using embedded Linux for professional and industrial applications. The NPi i.MX6ULL dev board may be designed with industry in mind, but it's still a compelling option for hobby devs.
Should You Buy the Seeed Studio NPi i.MX6ULL Dev Board?
We'll dive into the main specifications and possible uses for the Seeed NPi i.MX6ULL in a moment. For now: Should you buy this board?
Maybe. If you are working in the industry, then this seems a no brainer. They are cheap, powerful boards running embedded Linux at just $39 for the NAND version and $44 for the eMMC version. If you develop using embedded Linux professionally, you are this board's target market. Then again, you'll likely be in a much better position than I to work out if this is indeed the board you need!
For hobbyists, this SBC is intriguing. It's got a few features that other boards have not as we'll soon see. It runs embedded Linux. Those of us interested in learning how it is implemented in more professional and industrial environments might find this the perfect experimental purchase to learn with. If you are a beginner looking for your first board, get a Raspberry Pi. If you have a little experience and are looking for something a little different, this board would be a good step up.
The NPi i.MX6ULL Dev Board Specifications
The specs for NPi i.MX6ULL dev board is split into the core module and the breakout board it sits on:
- CPU: NXP MCIMX6Y2CVM08AB
- Frequency: up to 800Mhz
- DDR3L: onboard 512MB
- Flash: onboard 512MB NAND
- Operating temperature: -40℃ ~ 80℃
- Ethernet: 2 x 100M ethernet port
- Power: 5V±2% DC jack
- Display: FPC LCD interface (including 24 bit RGB and I2C touch control)
- USB Host: 1 x USB Host Type A
- USB OTG: 1 x USB OTG Type C
- RTC: 1 x RTC battery slot
- SD Card: 1 x micro SD card slot
- User LED: 3 x LED
- Key: 4 x multifunction key
- Switch: 8-digit DIP switch, switching boot mode - USB/NAND/eMMC/SD
- IO: 2 x 40pin header
Storage Wars: NAND vs. eMMC
The decision to sell two different boards to accommodate both eMMC and NAND (both different types of flash memory) is an interesting one. On the surface it seems like the eMMC version is the obvious winner, it's only five dollars more and offers much more storage.
Given that eMMC is NAND storage with integrated management, you have to wonder how large the difference in quality is between the NAND chips used for the eMMC version and the pure NAND version.
If this is so, developers could benefit from faster, more durable memory with the NAND version, but would have to account for wear and block/error management to keep things running smoothly.
Unfortunately, Seeedstudio provides no information regarding the type or product number of the onboard memory, so eMMC is likely the safer option.
40-pin Raspberry Pi Headers and Even More Headers
The Raspberry Pi compatible 40-pin GPIO header is ubiquitous, and there's a good reason why. So many products have been created for this footprint that almost any I/O can be taken care of using a pre-built unit.
A nice touch is a separate set of pins on the other side of the board, allowing the use of a full Pi HAT on one side, and extra I/O peripherals on the other. All of the onboard pins are accessible via Sysfs. This low-level way of accessing the pins may be new to some, but the pin control section of the NPi i.MX6UUL wiki gives examples of general use.
In terms of connectivity, this board pretty much has it all. I2C, SPI, UART, and one particularly nice touch for audio, a 12 bit ADC.
While you won't be using this as a high-quality audio device, the NPi i.MX6ULL dev board is well suited for simple audio tasks like voice activation and general sound-sensitive operation. Alternatively, you could use a dedicated external mic and ADC unit like Seeed Studio's Dual mic Pi HAT. The example materials provided show how to get this up and running using the Linux IIS audio device driver.
Dual Ethernet Ports
Perhaps the most obvious thing that sets this board aside is its dual 100M Ethernet ports. Alongside the options, this gives for potentially chaining these devices or using them as a software network bridge for state changes in industrial instruments. Part of the reason for the inclusion of more than one likely stems from a desire to make CAN-BUS to Ethernet conversion easier.
CAN (Controller Area Network) is the standard for in-vehicle communication, but a lot has changed since its introduction in 1985. While the standard is still widely used, having a simple way to communicate with a CAN network via a wider LAN or remote connection is essential for working with industry grade vehicles and machinery.
Smart Home Development With an Industrial Grade SBC
This board's flexibility, combined with its cost, also makes it a perfect candidate for smart home devices. Fast enough to efficiently complete any tasks thrown at it while low powered enough to work on battery power (which can be even further improved upon using deep sleep and the built-in Real-Time Clock (RTC) on the back of the board), it has every kind of I/O you'd need for development.
NPi iMX6 - A Compelling Linux SBC With eMMC
Hopefully, this rundown of some of the features and uses for the NPi i.MX6ULL Dev Board has highlighted that it isn't your average hobby SBC. If you are looking for something easy to use, aimed at beginners, or suitable for retro gaming, this isn't for you.
If, however, you are looking for something designed to be as flexible as the industry it was created for, then this is a compelling board. At $44 USD, it's a cheap, industry-grade SBC, designed for professionals, but with enough documentation to point intermediate hobbyists in the right direction.