I’ve worked a lot with these platforms. Here’s a brain dump.
- If you want to do cellular to wifi / ethernet on a module, Quectel is probably where you should look, instead.
- AR3991 platforms tend to run standard OpenWRT. Make sure whatever board you buy has support in OpenWRT mainstream.
- Onion Omega2 boards are based on a slightly different chipset (but very similar), the MediaTek MT7688
- Onion Omega2 uses a modified version of OpenWRT. Maybe that’s old information, maybe they’ve aligned it upstream, but when I was using it, their Onion distribution was OpenWRT + a lot of Onion-specific add-ons.
- You can get AR3991 or MT7688 modules from Alibaba for as little as $3/unit in volume. With Omega2/2+ specs, and in low-ish volumes, more like $7.
- Both of these devices use single-channel 802.11n @ 2.45 GHz only. I wouldn’t recommend them as a router, these days, because the throughput is slow. Realistically, 150KB/s aggregate is the best you can expect over TCP. I would recommend it as an IoT endpoint or edge device, which is where you’ll find them used heavily. For example, a budget smart camera.
OK, now to go into the weeds.
Both of these chips are 32bit MIPS24k, IIRC. MT7688 is MIPS24kec, which has a VPU that you’re unlikely to get any use out-of. The AR3991 is generally 400 MHz, and the MT7688 generally 580MHz. Neither have hardware FPU, so it’s far from a “general purpose computer” circa 2021. It’s not going to run OpenCV.
The Omega 2 can run python3-light, which is how I would recommend writing software for it. If you want to run C apps, it’s very doable, but it requires a lot more setup effort. You’ll need to setup the cross compiler and environment, and you’ll need to cobble-together all the extra libraries, etc. It takes some time.
The Omega 2+ has 128MB RAM, which is good if you are doing anything much beyond the demos. Both of these devices (Onion, AR3991 boards) use SquashFS, which copies the FS from a serial flash into the RAM at bootup. So the RAM needs to store the FS as well as the system memory.