Got myself a (actually two) Orange Pi Zero: US$7, quad core ARM Cortex [email protected], 256MB RAM, WLAN, FastEthernet, 1 USB, USB-to-go for power. All in a (about) 5×5 cm² package. Add in a 8GB microSD card, and it’s a small capable little board.
While the memory looks on the small side, itś plenty to run one program. Armbian uses about 40MB itself when running:
harald@opz1:~$ free total used free shared buff/cache available Mem: 247012 36720 142740 2168 67552 193175 Swap: 131068 0 131068
leaving >200MB left. Given that I can have a (small, limited) web server runnig on an ESP8266 with about 40KB RAM, 256MB is plenty for a single-purpose server/controller.
Ethernet works (as expected). WLAN works via simple nmtui command.
Controlling the 2 LED’s is easy too:
root@opz1:/# cd /sys/class/leds/red_led root@opz1:/sys/class/leds/red_led# ls brightness device max_brightness power subsystem trigger uevent root@opz1:/sys/class/leds/red_led# echo 1 >brightness
That turns on the red LED. Similar for the green LED.
To find out what GPIO’s exist, use this:
root@opz1:/sys/class/leds/red_led# cat /sys/kernel/debug/gpio GPIOs 0-383, platform/sunxi-pinctrl, sunxi-pinctrl: gpio-10 (? ) out hi gpio-17 (red_led ) out hi gpio-202 (xradio_irq ) in lo gpio-354 (? ) out hi gpio-362 (green_led ) out hi
To export a GPIO, do
# echo 15 >/sys/class/gpio/export
and then in /sys/class/gpio/gpio15/ you can see the standard Linux kernel GPIO things like direction (in/out) and value (0/1)
See also the schematics which show what port of the H2+ connects to what thing: orange-pi-zero-schanetics-v1_11 (sp!)