wanderings/content/posts/rpi-alt-review.md

118 lines
6.5 KiB
Markdown
Raw Normal View History

2020-10-08 23:07:35 +02:00
+++
title = "2020 review of Raspberry Pi alternatives"
date = 2020-10-06
tags = ["admin"]
toc = true
+++
The Raspberry Pi is a cardboard-computer that lets you run your own operating
system. Or put it the other way around, an open computer the size of a
cigarettes pack (depending on what kind of cigarettes you refer to). But it's
quite a barebone system, mostly lacking proper ADC and DAC, and battery
management. Extensions allow to stack those features, but they're overall quite
expensive. It might be time to consider alternatives to the rPi Zero in the same
... hem league ?
## rPi Zero features
The smallest form factor is the Raspberry Pi Zero at 60x32mm. The RPi Zero w is
a wifi+bluetooth model for a 40% increase in price, topping at ... €11.
The rPi Zero roughly shares its processor with the initial rPi, that is a
Broadcom BCM2835 SoC, with an ARMv6 core. Those were the first ARMs to support
floating point calculations.
The various available models all lack an ADC and a proper DAC, although most do
have an audio output that can do CD-like audio quality using PWM modulation -
that is, pulsing alternative 0s and 1s so quickly it feels like an analog output
on an average (see [this rPi post][rpi-audio] on rPi audio quality).
Power management is also quite barebone : you power them through a micro-USB
port and they can't control a battery's charging state. You can plug a battery
rescue pack to feed it, but then you will have to charge it separately, and if
you ever want to craft a case too put it in, this will hardly fit into the same
proportions.
Various constructors provide extensions called pHats that stack on the rPi using
its GPIO pins. If you need a self-contained system with a battery and power
control, you will need a pHat specialized in power management, like
[pibat][pibat] that bills $26 for 1600mAh, or [pisugar2][pisugar2], very neat
but $40 worth for 900mAh. Another interesting extension is the [UPS power
expansion board][ups], hosting 1Ah for $20. The PiHut also sells a [LiPo
shim][shim] to keep the functionality packed.
## Banana Pi M2
Banana Pi obviously tries to challenge the features of the Raspberry Pi. The
firm developed the [bPi M2][bpi-m2-wiki] that's a revamped version of the rPi
Zero, featuring a ARMv7 quad-core processor, and a soft power-on button. It's
$18 worth at [Aliexpress][bpi-m2].
## Arietta
Acme Systems propose the [Arietta][acme-arietta]. This board sports the
Microchip AT91SAM9G25 processor, based on the ARM926 core, which belongs to the
ARMv5 series. Acme assures customers that it is guaranteed to run the latest
linux kernel for quite long. It is supported by the ArchARM distribution. Acme's
site offers a €25 basic model.
## NanoPi
The [NanoPi NEO][nanopi] features an Allwinner H3 processor, with a quad-core
cortex-A7 ARM core. It's 40x40mm large, and has an ethernet and a USB-A socket.
It seems able to do basic power management, according to notes in
[nanopi.io][nanopi.io]. [friendlyARM's wiki][nanopi-wiki] states that the nanopi
has a builtin audio codec and that it should output sound on the lineout pins.
Its price is reported between $10 and $50.
There also is a NanoPi AIR with wifi instead of ethernet and USB sockets,
available for $20 at [friendlyARM][nanopi-air]. Specs are otherwise similar,
it's just slimmer.
## Banana Pi D1
But then there is the [bPi D1][bpi-d1-wiki]. This challenger is 38x38mm big, and
ships with an HD camera, analog audio in and out pins, power control management
and a 3.7V li-ion battery socket, a power switch and a user-definable soft
button, RTC (basically, a clock that remembers time between boots), a
microphone, and a CMOS image sensor (I don't even know what this means). I saw
it at $20 at [Aliexpress][bpi-d1].
This is really a huge feature pack for such a small package. The question that
rises is : what will we be able to run on this platform ? The processor is an
Anyka AK3918, with an ARM chipset the generation just before rPi Zero, and a
bunch of peripherals as stated in the [specs][ak3918] pdf description. Looking
into it, I found out it uses the same ARM core (ARM926EJ is an ARM9, which is
part of ARMv5) as the [Olinuxino][olinuxino] board from Olimex, and the same
amount of RAM (64MB). The latter is supported in [ArchARM][olinuxino-archarm],
with a caveat due to the limited RAM : localegen would need swap, so there's no
UTF-8 support. I wonder if distcc would help here. Mainline Arch linux does
provide a cross-platform distcc installation : `distccd-alarm-armv5`. But this
doesn't prove Arch will run on Anyka's chip. ArchARM install instructions for
various ARMv5 boards imply installing uboot in the boot sector. This should
work, as it relies on pretty standard settings.
I don't know what to expect from the audio hardware capabilities either, since
they're embedded into Anyka's chip, and probably differ from Olinuxino's i.MX233
chip audio hardware. I'll keep this article up with any information I might get
on this subject.
## Conclusion
The bPi D1 seems to be the most fitted product, but there is no guarantee it
will run your preferate OS. The NanoPi seems to be the next interesting choice,
but then you will have to deal with power management. In the end, the rPi Zero
is still a favorable choice, years and years after its design.
[rpi-audio]: https://www.raspberrypi.org/forums/viewtopic.php?t=195178
[pibat]: https://www.ebay.fr/itm/PiBat-Raspberry-Pi-Zero-W-1600mAh-LiPo-Battery-Shield-5-6-Hours-of-autonomy/283842482176
[pisugar2]: https://www.tindie.com/products/pisugar/pisugar2-battery-for-raspberry-pi-zero/
[ups]: https://www.alibaba.com/product-detail/Raspberry-Pi-Zero-UPS-Power-Expansion_62093794216.html
[shim]: https://thepihut.com/products/lipo-shim?ref=isp_rel_prd&isp_ref_pos=2
[nanopi]: https://www.alibaba.com/product-detail/Open-Source-H3-Quad-core-Cortex_62093676606.html
[nanopi.io]: http://nanopi.io/nanopi-neo-air.html
[nanopi-air]: https://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=151
[nanopi-wiki]: http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO_Air#Custom_welcome_message
[bpi-m2-wiki]: http://wiki.banana-pi.org/Getting_Started_with_M2_Zero
[bpi-m2]: https://www.aliexpress.com/item/32839074880.html
[bpi-d1-wiki]: http://wiki.banana-pi.org/Banana_PI_D1
[bpi-d1]: https://www.aliexpress.com/item/32240699956.html
[ak3918]: https://drive.google.com/file/d/0B4PAo2nW2KfnbGJpa19FWWpwWDQ/view
[olinuxino]: https://www.olimex.com/wiki/IMX233
[olinuxino-archarm]: https://archlinuxarm.org/platforms/armv5/olinuxino
[acme-arietta]: https://www.acmesystems.it/arietta