PcDuino - „Raspberry Pi“ for demanding users

08.12.2013 16:00

Guys, do you like concept of famous Raspberry Pi but you need more powerful device and on board Wifi?

Here you go!

PcDuino V2 was introduced by LinkSprite company recently an it is a mini but powerful computer compatible with Arduino.

There are many scenarios of usage – from low level programming through directing CCTV systems up to running as a server application. We have focused mainly at multimedia and server usage in this article.

pcDuino V2


PcDuino V2 Technical parameters




1GHz ARM Cortex A8


OpenGL ES2.0, OpenVG 1.1 Mali 400 core



Onboard Storage

2GB Flash, microSD card (TF) slot for up to 32GB

Video Output



Linux3.0 + Ubuntu 12.04Android ICS 4.0

Extension Interface

Arduino Headers

Network interface

10/100Mbps RJ45 and on-board WiFi module

Number of USB Host port



5V, 2000mA

Overall Size

125mm X 52mm

It is clear from technical parameters that this device can be used for browsing of the Internet, playing multimedia, running as a server or different applications in home automation. Device is even for developers. PcDuino offers ArduinoIDE for this purpose. Supported languages are C, C++, Python and Java with Android SDK

There is an API for pcDuino, which allows accessing all functions with use of easy programming language of Arduino. It was specifically designed to make it easy for the open source community to develop computationally demanding projects using the vast catalog of Arduino Shields.

Arduino IDE


Basic operating system – Lubuntu 12.04

As a basic OS is an ARM version of Lubuntu 12.04 (Ubuntu with full featured LXDE).  It runs smoothly even in Full HD resolution. For internet browsing is Chromium, as text editor Abiword, Gnumeric for spreadsheets and XBMC for multimedia. We have tested latest release of firmware (from 6th September 2013) and also flashed system updated with apt-get.


PcDuino as a (web) server

One of possible usage is building of a server. We have tested complete LAMP (Linux+Apache+MySQL+PHP), FTP and SSH. Installation was very simple; everything was based on usage of tasksel. Because of some ARM Tasksel bug there were no information provided during the installation but after a few minutes it was completed successfully. We have played with Bukkit (server for famous game Minecraft) a bit. Everything just worked flawlessly.


PcDuino as Multimedia center

Through a personal Wi-FI we were able to stream up to HD 720p, we have also tested 1080p from local storage (SD card). Even the full HD worked nicely without any lags, picture deformation, etc. We would recommend usage of Yatse for remote control converting your mobile phone onto remote controller. We have also used Skifta for streaming from mobile phone. So you can make SmartTV from almost every television this way or enhance smart tv with full-featured apps.

Unfortunately the graphic accelerator (Mali 400) is not activated automatically. For activating it you need to compile driver for X server yourself and install closed-source drivers from ARM. Moreover, official documentation on pcDuino website was outdated. Quick “how to” activate 2D and even 3D acceleration is included in this article, so you won't need to search and combine websites in order to get it working. Acceleration works through the EGL so unfortunately not many current apps are able to use it.

We have used nano for file editing. Files were saved with CTRL + X. Activating 3D acceleration was breaking XBMC, so proceed only if you don't need XBMC.


1. Install required packages

sudo apt-get install build-essential libdri2-dev xorg-dev xutils-dev

git git-core automake libtool libdrm-dev

xutils-dev x11proto-dri2-dev libltdl-dev nano


2. Modify xorg.conf

sudo nano /etc/X11/xorg.conf

First block should look like this:

Section "Device"

           Identifier "Mali FBDEV"

           Driver  "fbturbo"

           Option "fbdev"               "/dev/fb0"

           Option "DRI"                 "false"

           Option "DRI2"                        "true"

           Option "DRI2_PAGE_FLIP"      "true"

           Option "DRI2_WAIT_VSYNC"     "false"

           Option "SwapbuffersWait" "false"

    Option "Debug" "true"


If you have older version of firmware, you'll have to remove line containing Disable “glx” from second block. Finally edit penultimate block, where you insert resolution of your display.

Section "Screen"

    Identifier   "Mali Screen"

    Device     "fbturbo FBDEV"

    Monitor     "Monitor0"

    SubSection "Display"

        Depth  24

        Modes "1366x768-60"




3. Adjust configuration file for HW acceleration library

sudo nano /etc/udev/rules.d/50-mali.rules

Add following lines:

KERNEL=="mali", MODE="0660", GROUP="video"

KERNEL=="ump", MODE="0660", GROUP="video"


4. Install Mali binary drivers

git clone https://github.com/linux-sunxi/sunxi-mali.git

cd sunxi-mali

git submodule init

git submodule update

sudo make install


5. And compile driver for X server

git clone https://github.com/ssvb/xf86-video-fbturbo.git

cd xf86-video-fbturbo

autoreconf -vi

./configure --prefix=/usr


sudo make install


That's all, now restart your device and enjoy HW accelerator!

OpenGL ES through EGL



© 2015 Všechna práva vyhrazena.