ODROID-C1 Review
Documentation
There is a TON of documentation and tutorials out there for Ubuntu, Linux and the standard user applications, so there is plenty to read.
GPIO’s are a different matter, but WiringPi is basically the same – just don’t use the Broadcom I/O pin numbering scheme, use the WiringPi numbering scheme, you should be able to use existing WiringPi tutorials and examples.
Here are some links for the C1 wiki, processor, GPIO handling:
- ODROID-C1 WiKi
- AMLogic S805 Data Sheet
- ODROID wiringPi sample code
- ODROID Tinkering Kit HOWTO
- How to use GPIO
I expect that as the ODROID-C1 user base grows, more documentation and tutorials will become available.
Benchmarks
SysBench 0.4.12
Sysbench | # Cores | CPU (sec) | Mem (MB/sec) |
Raspberry Pi | 1 | 507.0 | 88.9 |
Banana Pro | 1 | 291.6 | 222.4 |
Banana Pro | 2 | 147.6 | 422.3 |
MIPS CI20 | 1 | 138.8 | 174.7 |
MIPS CI20 | 2 | 69.2 | 237.0 |
C1 | 1 | 212.8 | 288.3 |
C1 | 2 | 110.1 | 554.5 |
C1 | 4 | 57.9 | 998.3 |
Sysbench CPU results show total execution time in seconds for the same amount of work, which is why the CPU dual threaded results show twice the time on the single core Raspberry Pi, and half on the dual core Banana Pi.
The MIPS Creator CI20 takes the top spot for the Sysbench CPU test – its two cores getting surprising close to the four core performance of the ODROID-C1!
The Raspberry Pi Model B+ had the lowest performance, not surprising as it had the lowest clock speed – and only a single core.
Of course the four core ODROID-C1 had the best overall performance, and it also outperformed the dual core Banana Pro.
For memory bandwidth, it was not even close, the C1 dominated the field.
iperf 2.0.5
iPerf | Type | iperf | iperf -w 128k |
Raspberry Pi | 100Mbps | 47.6 | 47.6 |
Banana Pro | 100Mbps | 96.4 | 94.4 |
Banana Pro | 1000Mbps | 653.0 | 487.0 |
Banana Pro | WiFi | 30.1 | 28.1 |
MIPS CI20 | 100Mbps | 27.5 | 27.7 |
MIPS CI20 | WiFi | 0.8 | 0.8 |
ODROID-C1 | 100Mbps | 83.7 | 83.7 |
ODROID-C1 | 1000Mbps | 386.0 | 355.0 |
Results shown are in megabits per second
The Banana Pro had the best networking performance, followed by the ODROID-C1. The MIPS Creator CI20 was dead last.
I added WiFi results for the two boards with on-board WiFi adapters, but please take those results with a grain of salt – there are too many variables due to a changing RF environment.
NBench 2.2.3
nbench | Integer | FP |
Raspberry Pi | 11.55 | 3.88 |
MIPS CI20 | 18.08 | 3.88 |
Banana Pro | 20.23 | 8.67 |
ODROID-C1 | 30.20 | 10.50 |
Results are an index relative to a Pentium 90 with 256KB L2 cache.
Nbench only uses a single core, and the ODROID-C1 dominated this benchmark for both integer and floating point performance.
Unix Bench 5.1.3
Benchmark | # cores | Dhrystone | Whetstone | Hanoi |
Raspberry Pi | 1 | 142.7 | 48.9 | 18790.9 |
MIPS CI20 | 1 | 197.8 | 58.6 | 23839.4 |
MIPS CI20 | 2 | 394.5 | 117.2 | 47674.7 |
Banana Pro | 1 | 248.7 | 89.6 | 33920.3 |
Banana Pro | 2 | 490.0 | 178.0 | 67205.1 |
ODROID-C1 | 1 | 348.4 | 113.9 | 40639.1 |
ODROID-C1 | 2 | 680.6 | 225.6 | 81299.3 |
ODROID-C1 | 4 | 1174.3 | 443.2 | 148415.5 |
Results are an index relative to a SPARCstation 20-61 (rated at 10.0).
The ODROID-C1 dominated this benchmark for Dhrystone, Whetstone, and Hanoi – by quite a margin.
hdparm
hdparm | media | cached read | buffered read |
Raspberry Pi | ADATA | 159.6 | 19.5 |
MIPS CI20 | eMMC | ioctl err | ioctl err |
MIPS CI20 | ADATA | 141.2 | 16.7 |
Banana Pro | ADATA | 323.4 | 16.7 |
ODROID-C1 | ADATA | 714.5 | 17.7 |
ODROID-C1 | ADATA UHS | 690.2 | 29.3 |
ODROID-C1 | Patriot | 690.1 | 14.3 |
ODROID-C1 | Patriot UHS | 699.7 | 24.7 |
ODROID-C1 | eMMC | 709.0 | 77.2 |
Results are in megabytes per second.
hdparm cached reads are essentially a memory benchmark, and the ODROID-C1 blows the other systems away.
For buffered reads the ODROID-C1 eMMC NAND module dominates, and UHS-1 on the ODROID-C1 performs about 50% better than non-UHS results.
dd
dd | media | dd read | dd copy | dd write |
Raspberry Pi | ADATA | 9.6 | 5.8 | 18.4 |
MIPS CI20 | eMMC | 7.9 | 6.7 | 32.9 |
MIPS CI20 | ADATA | 18.5 | 3.7 | 4.8 |
Banana Pro | ADATA | 17.5 | 8.1 | 16.4 |
ODROID-C1 | ADATA | 16.5 | 7.3 | 8.1 |
ODROID-C1 | ADATA UHS | 30.4 | 8.0 | 10.0 |
ODROID-C1 | Patriot | 16.5 | 8.9 | 16.4 |
ODROID-C1 | Patriot UHS | 27.8 | 12.2 | 23.1 |
ODROID-C1 | eMMC | 80.8 | 11.6 | 14.5 |
Results are in megabytes per second.
dd read: dd if=zero.img of=/dev/null bs=1M count=1536
dd write: dd if=/dev/zero of=zero.img bs=1M count=1536
dd copy: dd if=zero.img of=copy.img bs=1M count=1535
UHS-1 capability and eMMC really benefit the ODROID-C1
Launch Times
Having seen the difference UHS-1 and eMMC can make, I decided to do some real-world boot and application loading time testing.
For applications, I also wanted to see the benefit of the caching performed by the operating system.
Please note, the reported times are probably +/- 0.2s as I was using a manual stop watch to measure the durations.
Launch Times | media | Start | Web 1 | Web 2 | Shell 1 | Shell 2 | File 1 | File 2 |
Raspberry Pi | ADATA | 42 | 15 | 12 | 3 | 2 | 3 | 2 |
MIPS CI20 | eMMC | 115 | 25 | 9 | 4 | 2 | 7 | 2 |
Banana Pro | ADATA | 35 | 3 | 2 | 1 | 0.5 | 1 | 0.5 |
ODROID-C1 | ADATA | 36.9 | 11.5 | 6.8 | 1.3 | 0.9 | 1.8 | 0.9 |
ODROID-C1 | ADATA UHS | 35.4 | 9.4 | 6.9 | 1.2 | 0.9 | 1.6 | 0.8 |
ODROID-C1 | eMMC | 25.4 | 8.9 | 6.7 | 1.1 | 1.1 | 1.1 | 0.7 |
As expected from the hdparm and dd results, eMMC on the ODROID-C1 dominated the boot times.
The Banana Pro did very well even without UHS-1 or eMMC, however it did use a smaller web browser image.
Article Index