With Raspberry Pi boards continuing to be relatively scarce, I've been trying a few alternatives to see what may be usable and good. I had previously written about the Jetson Nano 2GB, which is great, but a little pricey, so I'm trying to find sub-US$100 boards that will run Reactor.
I've got four that I'm trying now, but one in particular goes right to work in the most predictable way and seems worth a mention immediately: the Libre Computer Board AML-S905X-CC 2GB (known as "Le Potato").
The form factor is very similar to that of the Raspberry Pi 3 B+, and has comparable CPU (ARM Cortex-A53, quad 64-bit cores at 1.5+GHz -- slightly higher clock speed). It's US$35 on Amazon and LoverPi in the (recommended) 2GB configuration, and easy to get.
Startup is like RPi: download one of the available OS images (Ubuntu, Raspbian, Debian, ARMbian, etc.) from their site and write the image to a MicroSD card, insert into slot, power up, and off you go. I tried the Ubuntu 22.04 image first and it comes right up. No problem getting nodejs 18.12.1 installed and running (with Reactor).
No WiFi on board, but I don't see that as a minus for use as a controller/hub (which should be hard-wired, IMO). The 40-pin GPIO connector is compatible with typical RPi HATs (PoE, breakouts, etc.).
There is an available eMMC (solid state storage) module to use instead of MicroSD, which I would recommend for long-term use. It runs US$25 for 32GB (64GB and 128GB available). The module is scarcely larger than the chip it carries, and has the smallest board-to-board connector I've ever seen.
Next up: ESPRESSObin 2GB (spoiler: it's... technical...)
For comparison to other processors mentioned recently and in future:
Configuration: RPi 4B (maker board) 8GB RAM running Raspbian BullseyeRaspberry Pi 4 Model B Rev 1.5 Cortex-A72 (aarch64) 4 cores @ 1800 MHz | 7.6 GiB RAM Number of Processes: 4 | Test Iterations: 1 | Test Duration: Medium -------------------------------------------------------------------------- CPU Mark: 619 Integer Math 11693 Million Operations/s Floating Point Math 4524 Million Operations/s Prime Numbers 3.1 Million Primes/s Sorting 3474 Thousand Strings/s Encryption 78.1 MB/s Compression 8676 KB/s CPU Single Threaded 479 Million Operations/s Physics 73.6 Frames/s Extended Instructions (NEON) 781 Million Matrices/s Memory Mark: 706 Database Operations 610 Thousand Operations/s Memory Read Cached 5942 MB/s Memory Read Uncached 3811 MB/s Memory Write 2900 MB/s Available RAM 6783 Megabytes Memory Latency 94 Nanoseconds Memory Threaded 3812 MB/s --------------------------------------------------------------------------
Configuration: Raspberry Pi 4 Compute Module Rev. 1.0 1GB RAM Raspbian Bullseye
Note the difference in clock speed between the Compute Module and maker board! 🤔
The last of four boards I'm trying in this batch is the Orange Pi 4 LTS. I purchased a 3GB RAM + 16GB eMMC model from Amazon for $83, making it the most costly of the four boards tried, but still well under my US$100 limit.
This board is powered by a Rockchip RK3399-T processor, ARM-compatible with dual Cortex-A72 cores and quad Cortex-A53 cores at 1.6Ghz (1.8Ghz for the 4GB model); compare this to the RPi 3B+ with four Cortex-A53 and the RPi 4B with four Cortex-A72, this board is a hybrid that I would expect to stand in the performance middle between the two RPi models. It's available in 3GB and 4GB DDR4 RAM configurations, with and without 16GB eMMC storage. It has a MicroSDHC slot, gigabit Ethernet, WiFi and BT, two USB 2.0 type A ports, one USB 3.0 type C port, a mini PCIe ribbon-cable connector (requires add-on board for standard connector), two each RPi-compatible camera and LCD ports, HDMI type A, and can be powered (5VDC/3A) via USB-C or DC type C (3.8mm OD/1.1mm ID) jack (center-positive), an odd and perhaps unwelcome departure from the more common type A (5.5mm/2.1mm). A serial port for console/debug can be connected by using a (not included) USB-TTL adapter (3.3V) via pin headers like the Orange Pi Zero 2. The included dual-band antenna connects via U.FL connector to the board, so it's easy substituting for another if you prefer. The manufacturer recommends use of a heat sink (which was included in the box). A metal cooling case is also offered by the manufacturer (a bundle with the metal case and a power supply is sold on Amazon for $90 as of this writing).
The Orange Pi 4 LTS is somewhat longer than the RPi 4B, and although the boards are the same width, the mounting hole placement is different both in length and (oddly) width. Between this and the differences in connector locations, neither board is a drop-in replacecment for the other and their respective cases are not interchangeable. The 26-pin header is a subset of the RPi 4B's 40-pin header, so some HATs for the RPi may work (although the mounting hole differences will make securing them "interesting"), and some HATs will surely not.
Models with eMMC storage have an OS installed and boot immediately with SSH daemon running and ready for login. Mine was running Debian Bullseye, which would probably be fine for most users. It had clearly been on there a while, because it needed a lot of updates, but it's a current distro, so you're running out of the box with something that will last.
A different OS can be installed by downloading an image (once again I chose Ubuntu Jammy) and writing it to a MicroSD card, then booting the system from the SD card. You can either leave the system in that state (running the OS from the SD card), or copy the OS from the SD card to the eMMC. The latter is done by a script; documentation for the process is best described in the downloadable PDF User Manual. This took about 10 minutes and went smoothly, and I was able to boot the system without the SD card after the process completed.
I have lingering questions around the value of the eMMC storage. It's definitely faster than using MicroSD or USB-based storage (I got 311MB/s average on a 4GB write, compared to MicroSD performance around 15MB/s), but it would take a long-term test of this product to determine if the on-board eMMC option has the stamina to take the write counts typical of Linux systems, and if its wear-leveling and error correction are sufficient to assure a long, error-free life. Given the high premium apparently being paid for including eMMC on the board, it should be fast and durable, but only time and experience (perhaps painful) would tell the latter. A careful configuration with other Flash-friendly filesystems could be used to reduce wear, but this is an advanced configuration/cookbook topic and beyond the scope of this writing. This question is also not unique to eMMC — MicroSD cards are also known to fail with high write cycles, so the use of a "high endurance" product is recommended for any and all systems using MicroSD as primary storage. The board has Mini PCIe capability, and that may be a storage alternative, but read on...
Also bear in mind that the eMMC storage is fixed-size forever; it cannot be expanded, and 16GB can run out pretty quickly these days. Users of MicroSD cards for primary storage can upgrade to bigger cards, but when users of eMMC primary storage outgrow it, the only choice is to add a MicroSD card or other "external" storage to the system, move part of the filesystem to it, and then manage both storage devices and deal with the limitations and risks of both.
As I mentioned with the Orange Pi Zero 2, if you are going to use this board as a home automation controller/gateway or similar role, it should (IMO) have a battery-backed real time clock (RTC), and Orange Pi offers an add-on module that connects directly to the 26-pin header on the board. An available expansion board provides a standard Mini PCIe interface and SIM card slot (hmm...), but it connects to the main board via a short ribbon cable, and its mounting holes have no complement on the main board, so it seems like it would be a fragile dangly thing that's a nuisance to deal with.
I want to like this board more, and it's very capable, but I'm concerned about value. The limited options for eMMC (16GB or none), the question mark of the eMMC's longevity vs cost, the strange DC power connector choice, the lack of 40-pin GPIO on a full-size (plus) board, the inconsistent hole placement, and the fragile Mini PCIe arrangement, are all "cons" that devalue this board in my view. The price point is clearly driven by the additional capabilities of the board (camera support, ports, six core CPU, extra RAM, on-board eMMC storage), but unfortunately, a great many of these features may not be useful for home automation, and therefore potentially a waste of money.
In terms of overall value, I still believe the Libre "Le Potato" seems a better choice to me, and the Orange Pi Zero 2 (very) a close second, but I'll admit I'm focused on a particular application and your needs may be better suited to what this board offers than mine.
Passmark Results:OrangePi 4 LTS Cortex-A72 (aarch64) 6 cores @ 1200 MHz | 2.9 GiB RAM Number of Processes: 6 | Test Iterations: 1 | Test Duration: Medium -------------------------------------------------------------------------- CPU Mark: 583 Integer Math 12037 Million Operations/s Floating Point Math 2542 Million Operations/s Prime Numbers 4.5 Million Primes/s Sorting 3141 Thousand Strings/s Encryption 153 MB/s Compression 4049 KB/s CPU Single Threaded 154 Million Operations/s Physics 80.5 Frames/s Extended Instructions (NEON) 244 Million Matrices/s Memory Mark: 498 Database Operations 551 Thousand Operations/s Memory Read Cached 2524 MB/s Memory Read Uncached 2602 MB/s Memory Write 3182 MB/s Available RAM 1947 Megabytes Memory Latency 119 Nanoseconds Memory Threaded 6243 MB/s ---------------
eMMC storage write 311MB/s average for 4GB; MicroSD (Samsung 32GB class 10) storage write 15MB/s.
It uses an Allwinner H616 processor (quad core Cortex-A53 like RPi 3B+; clock speed not stated in specs but is reported elsewhere to be 1.5Ghz), has 1GB DDR3 RAM on board, MicroSDHC slot, gigabit Ethernet, WiFi (a/b/g/n/ac), BT, USB C, three USB 2.0 ports (one connector, two via pin header), and more.
Although Orange Pi calls this board "Zero", it is a very different form factor from the Raspberry Pi Zero/Zero 2 boards. The Orange Pi Zero 2 is 60mm x 52mm (2-3/8 x 2 inches), which is closer to two Raspberry Pi Zero 2 boards placed side-by-side, or about 2/3 the length of a full Raspberry Pi 4B. Power (5VDC/2A) is delivered to the board either by the USB C connector, or by connecting to either of the pin headers (the 13-pin header seems safest to identify the correct pins). If you decide to use the serial console/debug port, you'll need a USB-TTL adapter that is 3.3V (not 5V) compatible. There is an expansion card available for the 13-pin header to neatly add two USB 2.0 ports and the IR receiver (you can add these yourself with parts of your own sourcing as well). The 26-pin header is compatible with the 26-pin form of the Raspberry Pi GPIO header, but since it's not the 40-pin form, may not work with some HATs available for the genuine RPi. The included dual-band WiFi antenna connects to the board using the common U.FL connector, so it's easy to find and use an alternate antenna.
I started out downloading the available Ubuntu image (Jammy server) and writing it to a MicroSD card using my usual method: dd. This, however, failed to produce a valid filesystem on partition 1 of the card, and after two failed attempts, I used the Orange Pi-recommended method of using Win32DiskImager, which immediately produced a valid filesystem. I plan to investigate the reasons for this difference later, but for the moment, it's sufficient to say that following their instructions worked (i.e. reasonable expectation met). The Orange Pi then booted immediately from the MicroSD card with SSH configured and running, so I never had to connect a monitor and keyboard. I was able to log in using the default credentials (user orangepi password orangepi). I updated all OS packages, installed nodejs v18.12.1 and Reactor, and started Reactor with no problems. I went on to install mosquitto and then took a measurement of system memory utilization: 31%.
Orange Pi's startup documentation is very good and I didn't find any errors or big gaps in my straight-line shot to get it working (once I decided to follow them 😉). In addition, they have a lot of additional documentation in PDF form you can download, including full schematics and detailed mechanical diagrams.
Orange Pi offers an add-on board with a battery-backed real-time clock (RTC). I have always maintained that any "serious" home automation gateway/hub requires a battery-backed clock so it can boot up with the correct time even when Internet access is not available. Therefore, I recommend this add-on module, which connects directly to the 26-pin header on the board.
For price, availability, ease of startup, and documentation and support, I can recommend the Orange Pi Zero 2 1GB as a viable Raspberry Pi alternative, keeping in mind it is more in line performance-wise with the RPi 3B+ and Libre "Le Potato" than the current 4B.
Up next: Orange Pi 4 LTS
Edit: I want to add, although the price of the RPi Zero 2 W is very attractive at MSRP US$15 (if you can find one), it has half the RAM of this board, only single-band (2.4GHz) WiFi, fixed on-board antenna, and no Ethernet. Out of the box, you have to connect a monitor (with a special cable -- mini HDMI) and keyboard to the RPi to configure WiFi and enable SSH before you can start using it, where the Orange Pi comes up with SSH running and the system accessible via Ethernet. Although the Orange Pi Zero 2 is more than twice the price of the RPi Zero 2 W, the cost in the absolute is still so low and those differences so valuable that I'm thinking it's well worth it in any application where the small form factor of the RPi Zero isn't the driving requirement.
I purchased a GlobalScale ESPRESSObin V7 with case on Amazon for US$79. In its white case, the unit is 110mm x 85mm x 35mm (about 4-1/4 x 3-3/8 x 1-3/8 inches) on its rubber feet. It looks like a small router (because it is), with three Ethernet ports and two USB ports on the "front" side, a MicroUSB connector, power jack, and slot for MicroSD card on the "back" side, and three LEDs on top. The Ethernet ports are arranged in one-WAN two-LAN (switched) configuration (again, like a small router -- it would be perfect for running pfSense). The unit requires a 12VDC power supply with the ubiquitous 5.5mm center-positive male plug. The MicroUSB connector provides a serial console to the board.
The system has a Marvell Armada 3700LP dual core ARM Cortex-A53 processor at 1.2Ghz, so it's a little slower and has half the cores of an RPi 3B+ or my previously-reviewed Libre "Le Potato". Naturally, one can expect less performance as a result, but depending on the purpose, you may never notice.
Getting the thing up and running has a bit of a learning curve. The installation of an OS on the chosen media is well-documented, but not all of the docs are up-to-date, and they assume a few bits of knowledge that aren't obvious if you're not a bit of a techie -- you have to set parameters in the boot firmware manually to get it to look at the right storage device and load the correct kernel, etc. I tried both OpenWRT and Ubuntu 16.04 at first. I had no trouble getting OpenWRT up and running. Ubuntu 16.04 was a different story -- it would not start up, and right as I was about to give up on it, I tried overwriting the kernel on the provided Ubuntu image with another version they had available for separate download (not in the instructions, literally just a random kernel file and three data files). I got that to boot. Unfortunately, once 16.04 was up and running, I could not run a modern version of nodejs because the core libraries are too old. I could have run older versions of nodejs, but none that are current LTS, so why bother? The purpose is to build a lasting configuration! I then decided to try to get ARMbian Jammy (22.08) running, to push on it and see how modern I could go. That turned out to be the easiest of all: I downloaded the image from the ARMbian web site and wrote it to a USB Flash drive, stuck it into the ESPRESSObin, powered it up, set the firmware boot parameters, reset the system, and it booted immediately. I then got nodejs 18.12.1 installed and Reactor up and running in a couple of minutes after.
So it's not a quick startup like an RPi/Libre, but I attribute some of my time to the learning curve, and by the time I got to trying ARMbian, I understood better what the settings meant, and it was pretty easy to get it up and running. And once I "got" it, I also realized how bullet-proof that actually makes the thing, because you can, with sufficient know-how, get it to boot just about anything the ARM CPU will take. The serial console interface gives you a ton of useful commands, and it stays connected even when power to the board is removed -- the USB connection powers the serial interface separately, so you never lose the link to the board, even when power-cycling it.
As expected, it's not a speed demon, but it's not bad. With the case, the form factor is good and doesn't leave you with bare connectors and spaghetti wiring, and that, for some, may be a good trade-off for a little performance. The included case incorporates a heat sink for the memory and CPU, so you don't have to worry about that, either. It has two USB ports (one 2.0, one 3.0), so in theory you could run ZWave-JS UI and/or Zigbee2MQTT on it. The only issue I had with the hardware was that the case clearance for the MicroSD slot is a little tight, so I could insert a MicroSD card, but I could not get it to "pop out" without removing the board from the case. I fixed that by adjusting the slot size (somewhat inelegantly).
The unit I bought, which included the case, was the only ESPRESSObin configuration available on Amazon at the time, and was priced at US$79. On GlobalScale's web site, the bare board alone was priced much higher at US$99 at the time of this writing. So the Amazon package is a good value, but if you can't get it in that configuration, the benefits of the case are lost and that further devalues the ESPRESSObin, in my view.
My verdict: the ESPRESSObin works, but overall I would not recommend it over, for example, the Libre Computer "Le Potato". I think many users will find the ESPRESSObin a bit too technical to get running, and for less than half the price, Le Potato gives you better performance and easy setup.
Next up: Orange Pi (two models)
Just to start a new thread...
I received last week some kit (3) from Gazouta:techGazouta Technologies / Jul 14, 2018 Professional Wall Mount for Raspberry Pi Touchscreen (Black Anodized Aluminum) Professional Wall Mount for Raspberry Pi Touchscreen (Black Anodized Aluminum)
This kit will allow you to install a Raspberry Pi Computer and an Official Raspberry Pi 7" Touchscreen as a wall mounted touch controller.
I will work on that in the incoming days/week, the goal it's to put at least one in the main entrance to "replace" the alarm keyboard and they other one in the master bedroom to control "scene".
Will need to figure out some dashboard for that and will probably check also to send some IP camera feed too!
With the price of these little buggers dropping, I am finding more and more the nVidia Jetson nano attractive as a self contained platform to run openLuup/z-way/Home Assistant and all the HomeKit/Alexa bridges of course with a couple of sticks for zigbee and zwave. Because of the included GPU, it can do faster video processing and be a development platform for further ventures into AI and a potential alternative to the rPi4... Enticing for <$100?
Im very frustrated with my new pi. I have 2 pis running on ssds with no sd card great. But for the life of me I can’t get it to boot from the exact same model of ssd that works on my other pi. I also can’t get the new pi to boot from old known working sd card. I tried burning new image onto ssd, known working image, in fact the only way it will boot is with the noobs card it came with. I thought pi3s didn’t have any firmware it was all software, but thats all I can think of. I am stumped. No, I don’t want to boot off sd card. Is it a bad pi? I did every single step multiple times. I know how to do this, ive done it twice. What’s going on?
Yes, speed is not an issue, or anything else, really. I had openLuup running quite happily on a much-loved Arduino Yun board (Arduino + SOC running OpenWRT.) Ran all my stuff perfectly for many months. If you've seen any of the graphs of CPU / memory, you'll see it's a very small load. A basic openLuup system uses less resources than a single plugin on Vera.