We’ve just written about the Notkia phone repurposing Nokia 168x phones with a new PCB featuring an Ingenic X1000E MIPS processor running mainline Linux, but it turns out the developer (Reimu NotMoe, CTO of SudoMaker) has also designed the X1501 Pico SoM, a tiny 16×16 system-on-module equipped with Ingenic X1501 MIPS system-in-package (SiP).
The module can be that small because the single-core 1GHz Ingenic 1501 SiP embeds 8MB LPDDR, as well as apparently a 16Mbit NOR flash that stores stripped-down versions of U-boot and the Linux kernel, plus a minimal, busybox-based rootfs.
X1501 Pico system-on-module specifications:
- SoC – Ingenic X1501 MIPS32r2 processor @ 1GHz, a MIPSr2 real-time core @ 300 MHz (not shown in datasheet), 8MB LPDDR and 16KB tightly coupled SRAM, 16Mbit NOR flash
- Castellated holes with USB 2.0 OTG, I2C, SPI, SDIO and DVP, analog mono audio output & digital microphone input
- EFUSE based Secure Boot
- Power Management
- Supply Voltage – 3.0 to 6.0V range for USB, Li-ion, or AA batteries
- 3.3V/1A buck converter
- Dimensions – 16 x 16 x 2mm
The 16MB NOR flash is not listed/shown in the datasheet, but there’s no SPI flash chip on the top of the module (and no photo for the bottom), and Reimu NotMoe refers to it as the “internal NOR flash on X1501“. The IoT processor was originally designed to run real-time operating systems, and 16Mbit (2MB) flash is really tight for Linux. Yet it’s possible to run Linux, and the developer explains the storage breakdown and enabled features in the comments section of the Hackaday post that alerted us of the module:
The uboot is stripped down to around 100KB, and a fresh 5.18 kernel with a few USB gadgets and [HID or ALSA] enabled fits in 1MB. So there’s about 800KB for user code – that’s plenty if you use squashfs for filesystem, and dietlibc or musl for libc. And yes, of course it runs busybox. It aims to be a much faster and easier-to-use replacement of the MCUs with a similar physical size, not a full featured Linux system.
I’ve never heard about the Ingenic X1501 SiP, but the design is close enough to the Ingenic X1000 processor supported in mainline, with fewer pins, a smaller DRAM size, and the extra NOR flash, so only a few changes are needed, and the processor and module will be added to Linux 5.19, at least with partial support.
More details may be found on Hackaday.io, and SudoMaker expects to launch the module and EVB on Crowd Supply in the future.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
12 Replies to “X1501 Pico SoM – MIPS, Linux in a 16x16mm module”
2MB of storage and 8MB of DRAM is very tight. As in meant only for very specific single applications. You’re not going to be running any of the add-ons like systemd, etc. Don’t lump these in with normal SBCs like the *pi type of boards.
I love Linux on all the things, but this thing? Not so much.
The HT42B534 is pretty good when it comes to usb latency so you can get good results from a usb stick.
Yes. It’s only for “very specific single applications”. I never said it’s suitable for other applications. Developers may want to use it for creating a big LED board near highways, so people don’t occasionally see 4 raspberry pi logos and systemd waiting for something endlessly.
Injenic has some interesting SoCs but it’s quite hard to reach them. I sent emails to listed addresses but no reply.
How big would be a minimal allwinner v3s or similar chip based module?
But this board sounds more like a candidate for retro or lite bsd
Something based on this?
The Cherry Pi V3S
It’s very interesting to see the same person posting wrapped click revenue links on all my projects.
AliExpress, Banggood, etc.. links in comments are converted into affiliate links. Theguyuk did not post an affiliate link himself.
I see. Thanks for the information!
30×30 mm modules are quite common, the problem is storage is not usually part of the chip, so it takes extra space.
The SSD201 module is 29.5×29.5mm: https://www.cnx-software.com/2020/09/09/system-on-module-drives-full-hd-smart-displays-via-sigmastar-ssd210-soc/
30×30 also happens to be OSM Size-S standard found in several modules: https://www.cnx-software.com/2021/04/27/sget-osm-open-standard-module-compliant-som-features-nxp-i-mx-8m-mini-soc/
There’s also the OSM Size-0 standard (15x30mm) but it looks more suitable for microcontrollers. You’ve given me another topic for today. Thank you!
If you don’t mind weird SoCs I have a 4 layer SSD210 (2xcortex a7, 64mb) design that fits in 30x17mm with break outs for bread boarding. You could probably get it smaller with no 2.54mm pitch connectors.
If you continue like this you’ll end up creating modules with castellated pins that are drop-in replacements for ESP32, running Linux, and your project will be achieved 🙂