Show Omega2 Battery Voltage in OpenWrt LuCI

Sometime ago, I bought an Onion Omega2 Pro and flashed it with OpenWrt 18.06. I plan to take my Omega on the road, so I installed a Li-Po battery on the device, so that it does not need to depend on USB power input. One big question is: what's the remaining power level?

Install power-dock2 to View Battery Voltage

The standalone Power Dock has a set of battery indicator LEDs that visually tells how much juice is left. However, the Omega2 Pro that I have does not have battery indicators. Instead, I need to use power-dock2 command to read battery level. Let me try it:

root@Omega2:~# power-dock2
-ash: power-dock2: not found

It does not work, because I flashed my Omega with OpenWrt 18.06, and power-dock2 command is not included in the standard OpenWrt distribution. The command comes from OnionIoT's OpenWrt feed (package source). I must add the OpenWrt feed before I can install the power-dock2 package.

How to Install OpenWrt 18.06 on Onion Omega2 Pro

I bought a GL-AR750 home router last year, and was very happy with the flexibility of its OpenWrt operating system. The base system has enough functionality as a home router: it has a web-based configuration interface; WiFi works out of box without fiddling hostapd.conf. On the other hand, the system is extensible that I can install additional packages to add VPN server, file sharing, etc. When I decide to start hacking, I noticed a problem: the GL-AR750 is now part of my "production" network, and I don't want to change it too much to affect my normal life. Thus, it's time for a second OpenWrt router!

After some online search and comparison, I chose the Onion Omega2 Pro. The strengths of Onion Omega2 Pro are:

  • The CPU is MIPS architecture, allowing me to gain some experience with this unfamiliar architecture.
  • It has 8GB eMMC storage, giving me plenty of space to install packages.
  • It has LiPo battery port, USB host port, and pin headers with SPI and I2C, leaving possibility of building battery-powered IoT projects.

Shipment arrived two months later. I plugged it in, and found that the Omega2 Pro runs OnionOS, a customized version of OpenWrt. Apart from GUI differences, it uses a custom WiFi driver wifi-warp-core that has several flaws. Most notably, my WiFi SSID is + (a plus sign), and the Onion would not connect to it.

screenshot of OnionOS on Omega2 Pro