Raspberry Pi 3, ODROID-C2 and Pine A64+ Development Boards Comparison

Orange Pi Development Boards

Raspberry Pi 3 and hardkernel ODROID-C2 launched the same day, and together with Pine A64/A64+, are the only ultra low cost (<$40) 64-bit ARM development boards available or soon-to-be available, so I’ve decided to make a comparison of the three boards the same way I did with ~$10 boards with a Raspberry Pi Zero, C.H.I.P, and Orange Pi One comparison.

Raspberry_Pi_3_ODROID-C2_Pine_A64

I’ve used features of Pine A64+ instead of Pine A64 since features and price are closer to the other two boards. Text highlighted in green means a board is clearly better than the other two for a given features, while a red highlight means it’s the weakest of the three.

Raspberry Pi 3 ODROID-C2 Pine A64 Plus
Processor Broadcom BCM2837 quad core Cortex A53 processor @ 1.2 GHz(4x ~2760 DMIPS) Amlogic S905 quad core Cortex A53 processor @ 2.0 GHz(4x ~4600 DMIPS) Allwinner A64 quad core Cortex A53 processor @ 1.2 GHz
(4x ~2760 DMIPS)
GPU VideoCore IV @ 300/400 MHz Penta core (3+2) ARM Mali-450 ARM Mali-400MP2
Video Decoding

1080p30 for H.264, MPEG2* and VC1*

* Extra licenses required

8-/10-bit H.265 up to 4K @ 60fps, H.264 up to 4K @ 30 fps, H.263, VC1, Mpeg1/2, AVS,  Realvideo up to 1080p60

H.265/HEVC @ up to 4K @ 30 fps, H.264, VP8, AVS/AVS+ & MPEG1/2/2 @ 1080p60 , VC1 and MJPEG up to 1080p @ 30 fps

Video Encoding Full HD H.264 video encoding

H.264 up to 1080p @ 60fps

H.264 up to 1080p @ 60fps

RAM 1GB LPDDR2 2GB DDR3
 1 or 2GB DDR3
Storage micro SD card slot micro SD card slot + eMMC socket micro SD card slot
Boot media micro SD card slot, USB or PXE (network boot) micro SD card slot or eMMC socket micro SD card slot
Ethernet

10/100M Ethernet via USB bridge

Gigabit Ethernet Gigabit Ethernet
Wireless Connectivity

WiFi 802.11 b/g/n (2.4GHz) and Bluetooth 4.1 LE

No, requires USB dongle Not included by default, but an optional WiFi 802.11 b/g/n & Bluetooth module can be added
USB 4x USB 2.0 host ports + 1x micro USB port for power only 4x USB 2.0 host ports + micro USB OTG port 2x USB 2.0 host ports
Video HDMI 1.4 with CEC and 3.5mm composite video jack

HDMI 2.0 with CEC

Composite video can be added via unpopulated 2-pin header

HDMI 1.4
Audio  HDMI and 3.5 mm audio jack (Shared with composite video) HDMI
HDMI,  3.5mm audio jack
I/Os and other peripherals

40-pin header with 26 –GPIOs, 1x UART (debugging), 1x SPI, 2x I2C, PCM/I2S, 2x PWM

CSI (camera serial interface)

DSI (display serial interface).

40-pin header with GPIO, I2C, UART, PWM, 1-wire, and ADC

7-pin I2S for audio

Built-in IR receiver

40-pin Raspberry Pi 2 compatible header with up to 27x GPIOs, 1x I2C, 1x SPI, 1x UART.

34-pin “Euler” header with IR, I2S, 1x SPI, 2x UART, S/PDIF

4-lane MIPI DSI connector and touch panel connector

MIPI CSI camera interface 
Power 5V via micro USB
Idle power consumption:
With UI (Raspbian?): 0.31A @ ~5V
Terminal only: 0.22A @ 5.19 V
5V via micro USB OTG port or power barrel
Idle power consumption: TBD
5V via power barrel or 3.7V LiPo battery
Idle power consumption: TBD
Dimensions 85 x 56 mm 85 x 56mm 127mm x 79mm
Linux Support

Official: Raspbian with recent Linux 4.x kernel.

 Many other community supported distros including OpenELEC, OSMC, Ubuntu Matte, Ubuntu Snappy Core, etc…

32-bit user space only (currently)

Mainline Linux support in progress.

Official: Ubuntu 16.04 64-bit images with Linux 3.14 kernel

Amlogic S905 Mainline Linux support in progress (but likely preliminary)

Community: Ubuntu 16.04 64-bit with Kernel 3.10 (No GPU and VPU support)

Mainline support in progress.

Android Support

No (at least not a usable version)

Android 5.1 Android 5.1
Windows 10 IoT Support Yes No Not yet, but maybe later
Community Largest community so far for a development board on Raspberry Pi Forums.

Monthly MagPi magazine

Active community on ODROID forums

Monthly ODROID magazine

Somewhat active Pine64 Forum, but frequency of post should increase once many of the 36,781 Kickstarter backers receive their board
Documentation,  and hardware files. Documentation is available via eLinux RPI Wiki, with little info about Raspberru Pi 3 specifically, but it’s not really an issue, as it’s software compatible with Raspberry Pi 2

Schematics are not available, even in PDF format, and the board hardware is closed source.

Broadcom BCM2837 datasheet is not available, however many of the peripherals will be similar to BCM2835 where the datasheet has been released.

Documentation can be found on ODROID-C2 Wiki.

Schematics (PDF), autocad files, and Amlogic S905 datasheet are not available (yet), but those files were provided for ODROID-C1.

No PCB layout or Gerber files are provided for ODROID boards, so the board is also closed source.

 

Documentation is available on Pine64 Wiki.

Schematics (PDF), and datasheet for all main chips including Allwinner A64 datasheet have been released.

PCB layout and Gerber files are not available, which makes the board closed source.

 

 Listed Price  $35  $40  $19 (1GB RAM) / $29 (2GB RAM) Kickstarter prices
Shipping to US address  $7.99 via MCM Electronics

Total: $42.99

$6.75 on Ameridroid.
Total: $48.70 (Board price is $41.95)
 $7
Total: $26 or $36
Distribution network and Availability Wide sales network, with most online retailers and some brick and mortar shops selling Raspberry Pi boards. Good availability as the foundation produces 300,000 boards before launch Available via Hardkernel, or distributors in US and Europe. Shipping may be costly to some other countries. Currently not available, and it’s not clear which distributions channels will be used. Kickstarter backer s are starting to receive their boards.

Since there’s quite a lot to go through, I may have made some mistakes, or missed some little known features, and corrections are welcome in the comments section. Please note that the prices for Pine A64 is likely to go up a little after the Kickstarter campaign.

Boards are likely to show similar performance in synthetic benchmark, except ODROID-C2 which should show a significant lead. However, I could not find benchmark for Pine A64 right now, and as we’ve seen this morning, Aarch64 improves performance significantly over Aarch32, so current benchmarks are likely to become invalid if/once Raspberry Pi 3 gets a 64-bit port. For example, Pine A64 is currently 15 times faster in sysbench CPU benchmark (prime numner computation) compared to Raspberry Pi 3, and it’s clearly not showing the true performance difference.

As usual there’s no board that is always better than the other two, and depending on your use case, technical ability, and other factors, one board may be better suited to you or your application.

71
Leave a Reply

avatar
70 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
33 Comment authors
maryB SmithpiUsertexadactylEdy Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
haze
Guest
haze

For pine A64, I2S audio with euler “e” connector.

Stephen
Guest
Stephen

I read a blog on the Raspberry Pi web site that the VideoCore 4 GPU is limited to accessing 1GB of memory and there are no plans for a Raspberry Pi with more than 1GB of RAM.

C
Guest
C

Thank you very much!

Just this morning (waiting for a A64+ and asking myself if I should also get a C2 ) I was wondering which of these three would be the better device (for certain tasks of course). I planned on checking the net later on in the day if by any chance someone had already made a comparison. Having your site on my RSS feed was really a good choice πŸ™‚

Gabriel Banfalvi
Guest
Gabriel Banfalvi

Are there any performance comparisons between the GPUs? I ordered a Pine 64 (before the Pi 3 came out) and now I’m wondering if I should have waited for the C2.

Nobody of Import
Guest
Nobody of Import

The Pi 3 and the C2 are going to be your preferred choices (And we’re back to the tradeoffs discussion I’ve been having with a lot of people on G+ over these two and a few others… :D) because of the specs. If they keep the price past Kickstarter on the Pine64, it’s going to be all three dependng on what you’re doing.

Honestly, 1Gb vs 2Gb isn’t as big a deal as you think it. Unless you’ve got applications that USE more than a Gig or a lot of small apps that do, it’s not as important as you’d think. It’s “checkboxing”, more than anything (which the Pi 3 avoids some of this by not trying to do GigE, etc. as these things don’t mater overmuch with this class of device…still…) and I look at more what does the board actually DO for me versus my requirements. If I can’t lay hands easily on a C3…what does it matter if it’s got the faster CPUs (And you may want/need the C3 for just that very reason…)? If you’re not leveraging it, what does 2Gb of RAM matter?

tkaiser
Guest
tkaiser

It should be noted that counting USB ports doesn’t tell that much about available bandwidth. Both ODROID and RPi 3 use an internal USB hub, even worse the RPi’s Fast Ethernet is also connected to its USB hub and the BCM2837 still only features one USB2.0 connection to the outside. So expect worst I/O and network bandwidth there (especially when used in parallel). GBit Ethernet is using an own bus on C2 and Pine64 and the Pine’s 2 USB ports do not have to share bandwidth.

S905 and A64 are throttling candidates and i would suspect the same is true for BCM2837. We should stark taking that into account when talking about performance since Intel’s ‘Turbo Boost’ somehow landet in ARM land (maybe superiour peak performance when a single CPU core runs at 2GHz for 30 seconds but when all CPU cores are busy performance/clockspeeds immediately decrease unless advanced/annoying cooling techniques are used).

Gabriel Banfalvi
Guest
Gabriel Banfalvi

@cnxsoft Ah that really sucks, are there any smallish boards with a significantly faster GPU?

Steve
Guest
Steve

I’d also take a note of the kernel development.

As the table shows the C2 is currently shipping with an old 3.14LTS kernel which is EOL in August this year. Lots of problems with newer hardware (like DVB-T2 sticks, newer WiFi adaptors etc.) because the drivers are only in newer kernels, and the AMLogic Kernel headers aren’t quite right for running Media_Build etc. to compile new driver support.

The Pine 64 is even older with Kernel 3.10…

ODroid forums are saying that AMLogic and Hardkernel are now agreed to working on 4.4LTS kernel development starting in May – so things may improve. At the moment it’s not a great situation.

The Pi series have development builds of Kernel 4.5 and are usually current. Can’t comment on the Pine 64.

(Most kernel development for non-Raspberry Pis is being driven by Android – which can run on top of elderly kernels…)

Armer
Guest
Armer

Here is more informative sysbench results on C2.
http://forum.odroid.com/viewtopic.php?f=136&t=19158
The C2 seems to be 40% faster than others probably.

tkaiser
Guest
tkaiser

Small addendum regarding Pine64’s USB bandwidth: The upper USB port is OTG in reality and can be switched to host mode. At least in the current state of Allwinner’s 3.10.65 Android kernel that doesn’t work that good. Tried to measure I/O bandwidth and on the upper (OTG) port this led to a disconnected SSD and ext4 errors almost immediately. So the C2 clearly wins (OTG + 1 host and 4 receptacles through USB hub)

BTW: Just testing an USB connected SSD on Pine64+ with a well known crappy USB cable to power the Pine led already to a deadlock πŸ™‚ Therefore Pine64 customers should’ve an eye on the RPi Foundation’s new PSU for the RPi 3 (2.5A rated and hopefully low resistance)

Bizz
Guest
Bizz

@Stephen

Broadcom needs an upgrade to VideoCore V… Rev. IV dates back to 2012! 😐

Patrick Wood
Guest
Patrick Wood

According to the Pine64 web site, CEC is supported on their HDMI port (haven’t tried it yet). The 16.04 Ubuntu distro isn’t “official”. It’s a community release based on the Android linux BSP released by Allwinner, mostly thanks to this guy’s amazing effort: https://github.com/longsleep

Patrick Wood
Guest
Patrick Wood

@Steve
There’s a very raw 4.4 kernel for the Pine 64 based off mainline. It’s mostly the work of an Arm engineer who’s got a beta board.

tkaiser
Guest
tkaiser

@cnxsoft
Good point. Maybe they use the 2 data lines also for power to overcome the ‘max 1.8A/5V’ Micro USB limitation (according to specs — most of the times undervoltage is the real problem with this crappy DC-IN connector due to USB cables having way too high resistance)

data
Guest
data

pine’s a64 and odroid s905 are 28nm process. I fear bcm2837 of pi3 is still 40nm but it could be 28nm process info should probably be cleared by facts in the coming days .

tkaiser
Guest
tkaiser

@data
In a personal conversation the Pine64 founder cited Allwinner’s A64 PM writing A64 is still 40nm. This would also explain a bit the low clockspeeds (1152 max by default). Allwinner’s A83T (now also called H8/R58) is made in an 28nm process and able to clock up to 2GHz (if the board isn’t already deadlocked due to undercurrent/undervoltage πŸ˜‰ )

bernstein
Guest
bernstein

Thanks a lot!
Also Pine64+ backer here. imho the only remaining advantages of the pine64+ are the multiple UART & SPI interfaces, the lipo capability and integrated RTC. or DSI/CSI+GbE combo. plus at $19/29 it’s half the price of the others.
so its still a great allround/tinker or cluster board but for other specific projects i’d get the RPi3, C2+, Pi0, chip or oPi1…

Brian
Guest
Brian

@cnxsoft
Thank you for the interesting posting.
Please add the information about HiFi Shield at Audio/ODROID-C2 part.

http://www.hardkernel.com/main/products/prdt_info.php?g_code=G143729448865

tkaiser
Guest
tkaiser

@Armer
Regarding ‘informative sysbench results’: It should be obvious since yesterday that sysbench is pretty useless to compare different architectures (be it software or hardware). And regarding allegedly being 40% more performant compared to the others: using the silly sysbench ‘benchmark’ we’re talking now about 2.8 seconds instead of 3.25 seconds as published by me yesterday for the Pine64+. What has been ‘optimised’? The code? Nope, just thermal settings. Details in the thread you already linked to: http://forum.odroid.com/viewtopic.php?f=136&t=19158

BTW: It’s way too early to do any serious benchmarking with A64/Pine64. The sysbench result was just a demonstration that optimised code matters if we’re talking about ARMv8 now πŸ™‚

Bo
Guest

NOTE: The audio box for C2 should also show I2S for audio.

Gisle Dac Artes
Guest
Gisle Dac Artes

Does I2S Dac/sound-card fit the latest Pi 3?

blu
Guest
blu

@tkaiser
That bit about the 40nm A64 is a bit surprising – I don’t think ARM ever announced A53 on 40nm. From what I recall A9 r4 was already 28nm.

pico bello
Guest
pico bello

Too bad we only get all this half-baked stuff. The “development boards” completely miss the point by providing wildly mismatching hardware with no solid software basics at all :

– Raspi3 goes ARM64 with 32bit software, USB2 hub, SnailLan100 slave and a wonderful community πŸ™‚
– Hardkernel Odroid kicks out another expensive board without any support ( closed source ) for Android fans.
– Pine64 does not fit anywhere, but if you need another closed-source Android TV-stick, kickstart back.

Mainline Linux support is in progress for all these heaps of assorted ICs and – learning from history – they will remain in progress. When will some hardware seller have mercy and provide a SIMPLE BASIC BOARD properly exposing the
capabilities of the sophisticated SOCs in standard FREE software ? ( answer : thanks for asking )

Developers love boards they do not have to develop first.

tkaiser
Guest
tkaiser

@blu
Well, the question was “It’s 28nm isn’t it?” and the answer “40nm”. BTW: I had to discover half an hour ago that history will repeat and A64 will be blamed for heat and stability problems just like H3 before: https://github.com/longsleep/build-pine64-image/issues/4

At least at 1536 MHz A64 will perform ~0.5% better than S905 playing silly sysbench games πŸ˜‰

data
Guest
data

true allwinner a64 is probably still 40nm as slow frequency indicates… thanks a lot tkaiser for your info.

tkaiser
Guest
tkaiser

@data
Regarding ‘slow frequency’: Just figured out that A64 can be overvolted/overclocked just like H3 back then. In this mode (at 1536MHz) A64 performs identical to S905 as long as we’re talking about irrelevant sysbench results πŸ˜‰

memeka
Guest
memeka

@Gabriel Banfalvi

no GPU tests it seems, i had a comment on another post (http://www.cnx-software.com/2016/02/29/raspberry-pi-3-board-is-powered-by-broadcom-bcm2827-cortex-a53-processor-sells-for-35/#ixzz41gdJTq4g) with the raw performance numbers quoted for each GPU:

videocore4 @ 250Mhz (p1,pi2): 24GFlops
videocore4 @ 400Mhz (pi3): ??? (~38 GFlops?)
mali450mp2 @ 500Mhz (c1): 30GFlops
mali450mp3 @ 750Mhz (c2): 56GFlops
malit628mp6 @ 533MHz (xu4): 102GFlops

mali400mp2 @600Mhz (pine): 10GFlops

birdog
Guest

A64 is 28nm according to http://linux-sunxi.org/A64

don’t think it has cec but if you are going to build a media machine the O-Droid is clearly the better choice and AmLogic has several official and unofficial openelec builds.

blu
Guest
blu

@tkaiser
Thanks for the elaboration on A64. BTW, that RPi-monitor looks quite nifty. I might start using it sooner than later, once my (cpu-burning) pet project gains speed.

tkaiser
Guest
tkaiser

@blu
I wrote RPi-Monitor templates for A10/A20/A13, H3, A83T/H8, A64 and Actions Semi’s S500 already and a few more will follow soon. The Armbian teams plans to develop an ‘armbianmonitor’ approach providing on every supported SBC the collection of these monitoring sources at the same place so they can be easily monitored with either RPi-Monitor or via SNMP (or any other solution that can adjust source paths). So we’re not only enabling our users to get a clue what’s going on and provide comprehensive error reports in case something gets wrong but also integration in professional environments might improve πŸ™‚

memeka
Guest
memeka

you can easily replicate rpi-monitor … what i did was install collectd – with a lot of plugins for stuff to be monitored and saved in RRD – then exported the RRD in charts using highcharts – i did https://github.com/mihailescu2m/collectionjs – you can have v nice charts like this: http://imgur.com/X4yYXqB

natsu
Guest
natsu

odroid seems very nice
here is the first preview from amiredroid

https://www.youtube.com/watch?v=IJucQCbH3-4

juha
Guest
juha

Raspi 3 can boot from network and USB. That is great and usefull and should give it green mark for the boot media line.
No other board can boot from network.

tkaiser
Guest
tkaiser

@juha
“No other board can boot from network” is not entirely true since u-boot supports that since quite some time. You still need a small portion of storage on the board since u-boot isn’t implemented as part of the SoC but then you’re able to do PXE (network boot) or boot from USB, SATA or whatever. We at Armbian just recently added network boot capabilities to our build system.

@cnxsoft
Weird benchmark results as usual. OPi Plus/PC use the same SoC and should behave absolutely identical so he’s testing obviously NOT hardware but something else. Just downloaded Phoronix test suite on OPi PC running Armbian and will give it a try…

mdel
Guest
mdel

cnxsoft :
Both are clearly nice features to have, but it did not get a green line because ODROID-C2 has its own advantage: eMMC flash support.

well that’s not really fair price wise : c2 + emmc 8G (+reader) = 40+18+5 = $63
whereas rpi pxe or usb boot are included features at no extra cost.

and i’d really like to see a performance “comparison” between c2 emmc and and rpi3 usb ssd boot for example..

tkaiser
Guest
tkaiser
tkaiser
Guest
tkaiser

@cnxsoft
Checking out internal temperatures is nice (and often wrong/uncalibrated), but you also have to monitor cpufreq today since thermal throttling is part of the game. And at least for recent Allwinner SoCs you have to monitor the count of active CPUs cores also since Allwinner chose to kill CPU cores as throttling strategy (that is something that happened to Michael but he didn’t notice and he still uses benchmarks results that are plain wrong).

The first step is to check throttling behaviour (using cpuburn https://github.com/ssvb/cpuburn-arm for example). Then you know whether you can continue without heatsink/fan or not. Ignoring that and letting synthetic benchmarks run on ‘factory defaults’ you’re just producing a huge amount of meaningless numbers. At least when these numbers are used to compare different systems instead of using them to optimise software or to make clever decisions.

Using ‘John the ripper’ as benchmark is a good idea when you crack passwords for a living. And then the result can be interpreted as ‘all SBC tested are too slow except of the 2 from NVIDIA since there GPGPU can be used’. Using C-Ray as benchmark might be interesting to study the result of compiler optimisations and see how performance improves if you make use of NEON or ARMv8 optimised code (then both benchmark scores and temperatures might increase a lot). But using a raytracer on different systems where different GCC versions are installed and then drawing the conclusion hardware A would generally be faster than B is weird (and that’s what the Phoronix test suite is always misused for)

tkaiser
Guest
tkaiser

And this ‘official’ Phoronix comparison of RPi 3 vs. ODROID C2 is interesting http://openbenchmarking.org/result/1603051-GA-ODROIDPI362 since he’s not testing the difference between two pieces of hardware but his tests show instead

a) it’s worth to use ARMv8 optimised code on ARMv8 since performance improves
b) using a fast SD card improves the SQLite performance a lot
c) wearing a huge heatsink as on the C2 is useful to get better performance

If he would’ve compared two ODROID-C2 (the other with slow SD card, without heatsink and using the wrong architecture — he even uses ‘-march=armv6 -marm’ for the FFmpeg test!) the numbers he gets would be of any use. But using the RPi 3 all the people comparing the numbers just conclude: ‘C2 is faster than RPi 3’ (without thinking a second about compiler settings, thermal throttling and IOPS)

tkaiser
Guest
tkaiser

OMG, he’s even using different cpufreq governors when comparing two pieces of hardware (performance vs. ondemand)! That might also be the reason for the huge difference in the SQLite benchmark results.

Testing two different SD cards and two different cpufreq governors (maybe keeping the RPi 3 all the time at its lowest clockspeed when doing disk intensive tasks?) and drawing conclusions about ‘boards’ afterwards. The typical misuse of the Phoronix test suite πŸ™

tkaiser
Guest
tkaiser

@cnxsoft
All true and that’s why these general purpose benchmarks are pretty worthless to compare different boards. If my use case is watching video I should better look whether HW accelerated video encoding is available or not. And then an RPi Zero that looks pretty weak in all benchmarks might outperform a high performing (according to benchmarks) board easily. Something you would never expect if you look at the wrong ‘overall performance’ benchmark scores.

If my use case is encryption I should take a look whether I can use the encryption engine or not or in case of ‘John the ripper’ whether I can use GPGPU capabilities like CUDA on NVIDIA boards (again: just the availability of drivers matters and not silly general purpose benchmarks that are misused to compare numbers without meaning)

And if I really care about performance then nowadays I have to take special precautions to get performance (check/improve heat dissipation, check/adjust throttling strategies, check/improve the cpufreq governor and its strategies regarding IO bound workloads). Without having all of this in mind these benchmarks numbers are just worthless.

tkaiser
Guest
tkaiser

That happens when you try to benchmark hardware correctly: http://openbenchmarking.org/result/1603083-GA-1603082GA36

The last three results are Orange Pi PC and Pine64+ with sane settings and not weird ‘factory defaults’ Michael prefers/uses all the time.