Close

To SBC, or not to SBC...

A project log for Asteria Network

Next level citizen science project: an open & global network of low-cost meteor cameras. Goal: explore the Solar System from your home!

dario-zubovicDario Zubovic 07/30/2015 at 15:240 Comments

… that never was the question. Rather, the question was which SBC shall it be?

During the last year we have tested quite a few Single Board Computers, as our project has specific requirements. During that time, SBCs have evolved enough to satisfy our needs. In this post, we’ll try to chronologically document our experiences with different boards.

Raspberry Pi B

Being the most popular SBC at the time, it was obvious we had to test it. Unfortunately, RPi still had serious USB issues and fairly limited computing power (700MHz single core CPU, 512MiB RAM). With that hardware, we couldn’t reliably capture video with USB frame grabber device nor perform real-time compression. Although there is powerful GPU present (24 GFLOPs), there was no way to utilize it.

Banana Pi

Shortly afterwards, Banana Pi came out. The same price range as RPi B, but with a 1GHz dual core CPU and 1GiB RAM. Also, there was a SATA port for HDD. We thought that it will surely be able to do capture on one core and compression on the other. If we could just get that USB frame grabber to work…

Raspberry Pi 2

After some time, RPi2 came out. With 900MHz quad core CPU, 1GiB RAM and most importantly a strong community, it caught our attention. This time, we tested it with different USB capture hardware, finally finding an acceptable solution. At that moment software development started and software is growing rapidly ever since. Not only that we had to settle on the capture and compression solution, which would still require us to do detection on a separate machine, but it was possible to completely match capabilities of desktop machines with previous software solutions. Furthermore, we still had enough processing power left to implement new features.

Same powerful GPU as on RPi B (VideoCore IV) was still used on new board. Turns out that it it’s possible to do some general purpose computations on it, certainly it’s not an easy task. Raspberry Pi Trading: please include OpenCL in next generation RPi! :)

Odroid C1

Although we were already deep into development with RPi2, we still wanted to test other available hardware. With same price of $35, but 1.5GHz CPU, Odroid C1 definitely was worth a shot. Amount of available RAM is equal as in RPi2 (1 GiB), but divided across two chips.

Surprisingly, our compression timing tests showed that it’s actually slower than RPi2 (we’re running RPi2 @ 1GHz). We guess that this is caused by different core (A5 versus A7) or RAM frequency. Another issue is that the very moment when RAM fills up over 512 MiB, it suddenly crashed. The problem here is most certainly in 2 RAM chips and bad memory management between them.

Orange Pi Mini 2

$25 for a quad-core Cortex A7 @ 1.6GHz CPU?!? We had to try it. It crashed as soon as we started our timing tests and CPU core went to 100%. Turns out that placing your finger on SOC is same as touching a hot oven. Coolers didn’t help. We didn’t found a way to limit the CPU freq. We’ll post an update when we get our hands on liquid nitrogen…



Conclusion

We decided to use Raspberry Pi 2 as the heart of our station as it ticks every single box on our requirements list. Our software will perform faster on next-gen SBCs, but for now we’ll stick with RPi2.

Linux-suxi project seems promising, but the list of officially supported hardware is quite small, with devices mostly having a higher price and lower processing power. Banana Pi M2 and Banana Pi M3 might be interesting with OpenCL, but community support is nowhere close to the RPi.

Discussions