Sunday, November 27, 2016

OrangePi PC

The OrangePi PC based on Allwinner H3 SOC, a quad core ARM Cortex-A7 processor, with 1GB DDR3 SDRAM, selling for $15 (plus $3.35 shipping) is possibly the lowest cost PC with the similar capabilities.  (Cheaper boards have less RAM which limits the usability.)


The board has the same form factor as the more famous Raspberry Pi (not the same mounting holes) and the same expansion 40-pin header; the OrangePi PC also features an OTG USB port, a microphone and an IR receiver. Indeed, H3 is an impressive chip -- the board only needs DRAM, voltage regulators and connectors; no need for ethernet phy chip, USB hub etc.  The OTG micro-USB port can be turned into a serial port, an ethernet port etc through USB gadget support.  Also see https://linux-sunxi.org/Orange_Pi_PC.

To power the board, we need a power plug and a 5V power adapter capable of 2A.  The best OS flash image is Debian Jessie Desktop from armbian.com.  Connect the HDMI port to a TV for display.  It is good to connect to 3-pin UART serial console to see the boot message.  Once it boots up; the display resolution can be changed with the command h3disp and it is capable of 1920x1080p60.   The desktop environment is Xfce.  At least a USB mouse is required; without a physical keyboard, a virtual keyboard can be used.  I use a Bluetooth keyboard/touchpad, with a Bluetooth dongle, which it supports nicely.

The performance is OK for most of applications; but youtube video playing is a little jerky.  The audio output can be the HDMI or the 3.5mm jack.  The H3 gets a little hot when playing video; still it is impressive not needing a heat sink.

To test it as for code development, I try to build the recent version of KiCad.  A number prerequisite packages have to be downloaded.  The entire build takes almost 10 hours.  The speed of the micro SD card is probably a factor here.  It is also close to running out of memory.  The build is successful, but this probably is not a platform for serious software development.

While it is not a replacement for a good laptop or desktop, it is certainly good enough for seriously embedded applications.  The 40-pin expansion port has 28 signals, 5V, 3.3V and ground.  The signals can be GPIOs or 2 I2Cs, 3 UARTs, 1 SPI and 1 PWM.

There is a port of WiringPi call WiringOP that supports the I/O functions of the expansion header.



There is also a port of python package pyA20. 

For a more capable 64-bit version, see OrangePi Prime.

Also see this post for adding a small LCD screen.