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

6.5 KiB

+++ title = "2020 review of Raspberry Pi alternatives" date = 2020-10-06 tags = ["raspberry pi"] 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 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 that bills $26 for 1600mAh, or pisugar2, very neat but $40 worth for 900mAh. Another interesting extension is the UPS power expansion board, hosting 1Ah for $20. The PiHut also sells a LiPo 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 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.

Arietta

Acme Systems propose the 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 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. friendlyARM's 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. Specs are otherwise similar, it's just slimmer.

Banana Pi D1

But then there is the bPi D1. 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.

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 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 board from Olimex, and the same amount of RAM (64MB). The latter is supported in 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.