Quick look at Allwinner A10 based pcDuino single board computer

pcDuino is one of may single board computers with ARM processor. This one combines relatively low price with some Arduino compatibility. Intended for electronic hacking it's bit more powerful than Raspberry Pi - at least in the specs. There are multiple similar boards in this price/features range so let us see how pcDuino will perform.

pcDuino and a T-Board adapter for Arduino shields

On the board we will find Allwinner A10 (1 GHz, Cortex-A8) CPU, Mali 400 GPU, 1 GB of RAM, 2 GB of NAND Flash memory with Lubuntu preinstalled. There is also microSD slot (up to 32 GB). Connectors are: HDMI, Ethernet, two USB, one micro USB OTG and one micro USB for power. Aside of plain desktop Lubuntu we can install Android image. You can download all supported OS images from the project website.

pcDuino was made/designed by an American company, but it's available from Chinese vendors. You can get it from Chinese sites as well from some local shops. In USA SparkFun is promoting it noticeably (with tutorials and videos on YouTube). On dx.com it's priced at $65 ($60 in SparkFun store).

There are few pcDuino specific addons - enclosure with room for an LCD display, or T-board making pin layout compatible with Arduino Leonardo for Arduino shields. There is no WiFi but you can use the pcDuino branded or other that runs on ARM Linux (those that run on Raspberry should run on pcDuino).

A pcDuino V2 is also starting to show up. In this version the pins on the board were moved to be in Arduino layout as well as one USB port was replaced by a WiFi adapter. The price is slightly higher.


I've benchmarked pcDuino using phoronix benchmark tools. I couldn't do a direct comparison vs older benchmark of Raspberry Pi, Beagleboard and Odroid as the tests stalled at Nginx test. Below are tests that succeeded, normalized vs best board in given test.

pcDuino, Raspberry Pi and Cubieboard benchmarks

pcDuino has a similar hardware to cubieboard yet pcDuino is 20-50% slower. The C-ray test uses GPU to run faster. Both Mali 400 based boards lost against Raspberry, pcDuino was also much slower than Cubieboard. Broadcom drivers were optimized through time and thanks to Raspberry popularity. Mali 400 on pcDuino is either running slower or the default config isn't very optimal (or drivers can't handle it). It's a shame that most of "Android hardware" uses closed source drives (and most of them are just for Android, not for plain Linux desktop).


You just need to connect a mouse, keyboard, display, plug in the power and that's it - you will get Lubuntu up and running in a moment. The OS is quite responsive for such computer. The board must have enough power (like 1-2A 5V power adapter). USB-power may be insufficient (board may shut down, stop sending image to display etc.). You can read more in sparkfun tutorial.

Lubuntu has access to Ubuntu ARM repositories, which gives a lot of software. As the NAND Flash is 2GB only you may need the micro SD card mounted to hold some of the files.

Just like Raspberry Pi this board also has a collection of GPIO pins. You can control them either from Python or from C. According to pcDuino description you can compile and run Arduino compatible code on the device. You can check sparkfun tutorial for introduction. It can do plain GPIO operations as well as SPI, serial or I2C.


pcDuino isn't revolutionary. It has some advantages as well as disadvantages or limitations. Just like every board on the market. Compared to Raspberry Pi it will loose with smaller community and amount of libraries, code. On the other hand it may be quite handy if you want to work with Arduino code or implement some Python code for Arduino shield and Arduino-related electronics. T-Board can switch between 3.3V and 5V logic so that's handy too. Other Allwinner boards seems to have less Python-related support (but I might missed something).

If you need pcDuino features it will be a good board. If you are doing your first steps in electronics Raspberry may be better (or Arduino if you like to write C code).

Comment article
Comment article RkBlog main page Search RSS Contact