I picked up a pcDuino Lite (the lite version has 512MB instead of 1GB) to see if it would run OpenCPN as I’m working on a project to collect NMEA GPS and other data for viewing position on electronic charts in marine environment. Sparkfun sells both types.
The pcDuino is similar to a Raspberry Pi but faster and has outputs that are (mostly) signal-comparable to an Arduino so it could run many Arduino shields and software. All this on one board (except that it does need a shield adapter). You get two USB ports, an Ethernet port and an HDMI port along with various header pins and shield-almost-ready connectors. The Lite version has enough horsepower for basic Arduino projects, but for OpenCPN, I had to add a swap file to get it working properly.
My main focus has been on getting OpenCPN to work on an ARM processor. So far the latest code has mostly worked, but the vector charts are causing crashes. Supposedly this is due to unaligned memory access that is not handled well on these cheaper processors (compared to Intel or AMD processors). Since OpenCPN is compiled C++ code and has a long history, some of the code doesn’t play well on an ARM platform, whether it be pcDuino or Raspberry Pi. But that’s for another article.
The cool thing that I really want to try is accessing the two additional serial ports on the header pins. This means that I could in theory run everything I need off a single board (no Arduino, no multi-UART board needed).
The other nice thing is that it will fit into these multi-cases that also hold the Arduino Mega 2560. In practice, I will likely create my own case to also hold the MAX232 interface driver chips and DC-to-DC converter, along with a mini-HDMI display, check out Seeed Studio for that.
I haven’t checked out the Arduino Yun yet, but it doesn’t have the level of functionality that I need.
Here is a comparison of the pcDuino and Raspberry Pi
|Requires additional board like Alamode||All on one board (except for shield adapter)|
|Slower broadcom processor, but overclocking helps||Faster A10 procesor; seems to run about 2-3 times faster than Raspberry Pi (not overclocked)|
|A modified Debian linux OS||A nicely styled lubuntu linux OS|
|Has OpenGL, but had wxWidgets 3.0 build problems because of certain compatiblity issues||OpenGL requires extra steps, but leaving it out made OpenCPN easier to compile|
|Requires install of decent browser||Comes with Chromium which is quite usable|
|Good memory footprint||Seems to require more memory for lubuntu, so swap file/partition of about 512MB is essential for compiling/running more sophisticated applications besides Arduino code|
|Most applications can get by with 4GB SD card, although I have run out of space with an 8GB when doing lots of compiling; uses regular-sized SDHC card which can take adapters for micro cards||Recommend 8GB, for serious on-board C++ development, get 16GB; requires microSDHC|
|Requires about a 600 mA supply||Requires 2A+ 5V supply, although I can get it to run fine with a 1A supply|