Raspberry Pi...who's next ?


The QLC+ on Raspberry Pi project has been a success and thanks to users donations I have been able to purchase a new device to explore another low cost solution for lighting control.
The question I asked to myself was: what is the real next step after the Raspberry Pi ?
Being an embedded developer, and having worked with Broadcom multimedia chips for 6 years, I know their product cycle is usually a couple of years long. So I started to dig into their website to see if there was any trace of any RPi successor...and I found nothing.
The Pi started to spread on the market in 2012 and on May 2014 it reached the incredible number of 3 million devices sold.
So, it quickly became clear to me that until the sales volume is so high, nobody will do anything to move forward and offer a more powerful solution for the same price ($35). I mean, why bother ?
It's the so called "golden-egg chicken", so until it's alive, gold is guaranteed :)
But honestly guys, it's a quite limited device and I bet to myself: there has to be something else !
So I started Googling around, reading articles and everything to spend around $35 for a device at least twice the power of the Pi...
...and finally I found it.

pcDuino3 nano


The winner "seems" to be the pcDuino3 Nano.
Before going into techy details, let me explain why it "seems" to be. It all started from an article I read that said "pcDuino3 now selling at $39". So I immediately started to look for a reseller in Europe and found prices between 70€ ($86) and 80€ ($98).
This is totally unfair, and once again, I thought how good is the Raspberry Pi sales force.
Then I went to the original seller store in the US and it really sticks to the price !
So I did the experiment, ordered it, chose ordinary mail shipping ($6.55) and received it a few days later. Total cost: $46.54.
In Italy we have nasty customs and VAT, so I was already prepared to pay some extra 30€ or so.
Instead, nothing at all. Probably I have been lucky, but if someone else does the same, please be aware.

Now, techy bits which we all like.
The pcDuino3 Nano board is based on a AllWinner A20 1GHz dual core ARM chip. It comes with 1GB of RAM, 4GB of flash memory, a Gigabit Ethernet port, an Arduino-compatible socket for all the IO, a SATA socket, a IR receiver, a micro-SD reader for cards up to 32GB, 2 USB ports, one micro-USB OTG port and the usual micro-USB power port.
Interesting to notice that the power circuitry is completely different from the RPi, so USB ports are fully working and not limited in current like on the Pi.
Just with these specifications, from a pure price perspective the pcDuino beats the Pi to the ground. But there's more !
It fully runs Ubuntu 12.04, Fedora and Android 4.2. You just can't have Android on the Pi.

So today I spent a few hours and saw what it can really do.
First, I updated the whole system (Lubuntu with LXDE) and happily noticed a nicely accelerated X Server. The Xorg DRI driver (running on the Mali 400 GPU) runs quite well. I set it to a 1080p (1920x1080) resolution and it still goes smoothly. There's no annoying tearing when dragging the windows around.
Also the OpenGL ES 2.0 3D tests runs great, mostly at 40-50FPS.
I haven't tried it yet, but there's also XBMC bundled in the OS. I expect it to run very well. In general, I haven't tested any multimedia functionality yet.

Then I built QLC+ from sources. It took 54 minutes for a full release build (including tests, fixture editor and all the plugins, including OLA). You can compare it to building on the Pi. If I remember it takes more than 2 hours.
I ran the same project I shown on the RPi video and monitored the CPU: it stayed between 20% and 30% to handle more or less 800 DMX channels.
The nice thing is that you can stay in a X server, so you can connect to the pcDuino via VNC and manage it remotely with your computer. The first impression is that you can even do project editing directly on the device with a TV set.

So, is everything so awesome with this board ? The answer unfortunately is no...or better: not yet.
Here's what I found:
  • A simple openDMX USB clone adapter works smoothly directly connected to the pcDuino USB port, but, for example, the KORG nanoKontrol is not detected as MIDI device
  • Sending data to the SPI plugin crashes the whole operating system. This is strictly related to a bad kernel driver, which cannot even be changed because they built it bundled in the kernel and not as a separate module
  • I had to build QLC+ on Qt4 because there is no Qt5, so no video support for now
  • few other glitches like badly packaged SSL certificates, so when you browse the internet the borwser always says you're under attack ! :)
Basically all the above (and maybe some more that I haven't found yet) are all derived from the fact that the pcDuino is stuck on a Ubuntu 12.04. It runs a 3.4.79 kernel, which is now ancient (the Pi runs a 3.12 kernel, just FYI)
As far as I understand, the problem is that this kind of hardware comes out from the experience that chinese manufacturers have done on tablets and smartphones. And unfortunately chinese developers live in their own planet, and rarely contribute to european/american open source projects. So when they have to write a driver, they don't respect the common rules of development of the Linux kernel, so they end up NOT being integrated in a standard distribution.
This means that every time a new kernel or a new distribution comes out, they need to manually port their software into a new codebase. Since they have tight market windows, they don't care, and lot of products end up to be left behind.
Apparently there is an ongoing activity of porting Ubuntu 14.04 to pcDuino3...but who knows when it will be available ?

Again, the Raspberry Pi project doesn't have this issues because they work in a open source world. After just one year they have been able to convince Broadcom to open up some sources and integrate them in popular open source projects (e.g. Mesa 3D)
Another downside of the pcDuino is that it doesn't have a huge community like the RPi does, so when you'll have an issue with a WiFi dongle or a system related question, you will be on your own.

If anyone is interested in this device, please write on the Sourceforge forums.
I hope this article gives you the idea and effectively offers you another low cost solution to run QLC+.
Please keep in mind that since my time is limited and this device is most likely to be treated like a normal Linux system, right now the first class low cost option officially supported by QLC+ is still the Raspberry Pi.