Introduction to the NTC CHIP

Publish date: 2019-04-12
Tags: ntc-chip, ARM, SBC, Linux

The CHIP single board computer is a device released by Next Thing Co. around mid-2016. It consists of an Allwinner R8 SoC, 512MB RAM, 4GB NAND Flash, a WiFi/Bluetooth adapter, and a PMIC. All of this is contained on a small PCB with two large pin headers for interfacing with user projects. They also sold the PocketCHIP shell, which adds a rechargeable battery, LCD, and keyboard in a convenient form factor. All of this was yours for $9, which would still be a great deal today.

The CHIP compares favorably to the excellent Raspberry Pi Zero W for many use cases with the killer feature being that the NTC CHIP has power management circuitry included. This means you can plug in a simple LiPo cell and the CHIP already knows how to charge it when powered by the MicroUSB port and seamlessly switches to battery power when unplugged (or when the power goes out). This means that the CHIP does not need an uninterruptible power supply add-on to have reliable power, only a battery.

NTC CHIP (Alpha version) with small LiPo battery attached

Unfortunately, Next Thing Co. went out of business in 2018. This means the CHIP is stuck on an old version of Debian running a fairly old 4.4 kernel. Since the hardware is still useful, it would be great if we could get a newer version of Linux working on these boards! That’s exactly what I have been working on and what I’d like to document in a series of blog posts.

Luckily for us, the Allwinner A13/R8 is actually supported quite well by the mainline Linux kernel and U-Boot. The only things that do not work are the built in NAND flash and, as of 4.19, the Mali-400 GPU. The NAND will likely never work unfortunately, the developers maintaining the drivers it used decided to drop support for MLC NAND devices, which is what the CHIP uses. After researching it a fair bit to see if I could patch the necessary changes back in, I completely agree with their decision and I wouldn’t expect mainline support in the future. The Mali GPU, however, has a project called Mali Lima, which is working on mainline acceptance as early as kernel 5.0.

This series of blog posts will document my attempt to get an up to date Linux distribution installed and working well on the CHIP. I’ll be installing Slackware-Current because I like Slackware, but any distribution targeting ARM processors will do. Armbian is a good example and will be very similar to the Debian Jessie system that NTC originally shipped these with.