As you might have guessed, at Yoctopuce we like to try out new computer and electronic gadgets, and especially so when it's possible to use them with our modules. A few months ago, Kickstarter financed a $9 "computer": C.H.I.P. We backed this project enthusiastically, and last week we received the Alpha version of this mini-PC.
Before we start talking about C.H.I.P., we must precise that we didn't test the final version but only the Alpha version. It is therefore likely that some components change before the official release of this mini-PC, planned for May 2016.
What is C.H.I.P.?
C.H.I.P is presented in its propaganda as a $9 computer. Without being completely false, it's a bit too much to call C.H.I.P a computer. C.H.I.P is the nth board with an ARM CPU running under Linux. In substance, this board is not very different than a Raspberry Pi or a BeagleBone Black. However, it is much smaller than the later, can work with a single LiPo cell, and costs only $9.
To offer such a tiny price, the designers had to restrict themselves to the bare minimum. Let's see what we get for $9:
- a 1GHz ARM CPU
- 512 Mb of RAM
- 4Gb of internal storage
- a composite video output
- a wifi interface
- a Bluetooth 4.0 interface
- a USB Host port
- a USB OTG port
- a port to connect a LiPo battery
Everything on a 4 by 6 centimeter board. These specifications are very correct, especially for board that is likely to cost less than its own shipping fees.
C.H.I.P is smaller than an Raspberry PI
Using C.H.I.P. with our modules
The SDK provides two already compiled Linux images: a Linux compiled with buildroot and a Debian image. Unfortunately, each of these two images has a small problem.
The Debian image is working, but tends to crash randomly. It is most likely that more stable versions become available in the next few months and that Debian becomes the most used image. The possibility to install necessary packages with the apt-get command instead of having to compile them manually should draw most users.
The official image is stable and works correctly. However, the libUSB is not installed by default. We must therefore recompile the Linux image with the libUSB to be able to use our modules.
To do so, we must install the SDK and use the buildroot tool to customize the Linux image. The process is described on the official site, but installing and configuring the virtual machine used by the SDK is not very intuitive and is not well enough documented. Fortunately, when the VM runs, configuring, compiling, and updating the Linux image are performed without trouble.
To add the libUSB to the Linux image, you must add libUSB in the Target package/Librairies/Hardware handling section. Then, you must recompile the image and flash the C.H.I.P.
Once the libUSB is installed, it's possible to use our module with C.H.I.P.
Using C.H.I.P. with a battery
On top of being cheap, C.H.I.P. has another advantage: you can very easily power it with a lithium polymer battery. To work, C.H.I.P. needs only a single LiPo cell (3.7V) and, in the opposite to the Edison board, it can correctly power the USB port. The board includes all the power loading electronics and can charge the battery as soon as it is powered with 5V. This enables you to create portable and autonomous projects, that you can charge with a smart phone charger.
To power the C.H.I.P. we used a single cell LiPo battery
To test the C.H.I.P., we connected a Yocto-MaxiDisplay and 3.7v LiPo battery.
The C.H.I.P. above runs a small Python script which displays the board state.
Conclusion
This C.H.I.P. seems very promising. In the opposite to other boards that we tested in the past, we didn't encounter any USB issue. However, the single USB port is a bit restrictive: sensor+activator scenarios will require an extra USB hub. We truly appreciate being able to easily power the board with a LiPo battery. Installing and using the SDK needs to be better documented, but the developers have the time to improve this point for May 2016. Finally, a rare fact should be noted: the developers managed to keep the deadlines they had promised during the Kickstarter.