Saturday, October 4, 2014

Wireless Power Consumption and ESP8266

I've been in touch with the folks at Bogart Engineering, who makes the "Trimetric" battery monitor used to monitor the 48V lead acid battery pack at the house.  I've been able to successfully read the streaming data out of the device, and have been trying to figure out an easy way to gather and store that data.

Trimetric Battery Monitor
The battery monitor is powered directly by the 48V and is down-converted to 5V.  The conversion is done with a linear regulator, so the main limit is the heat dissipation.  Unfortunately, this means available current at the 5V rail is low tens of mA, which basically rules out running anything that communicates over Wifi, including the ESP8266 module.  I knew there was about a magnitude difference in power consumption between Bluetooth and Wifi, but it really didn't hit me until I was reading through the different datasheet to figure out what would actually work in this case.

Given the power budget, I'm back to looking at Bluetooth serial dongles, and probably get a low end NUC running Linux which will give me more flexibility in case I wanted to add something like a weather station or run a server in the house.

The ESP8266 board finally arrived, and I've turned it on to make sure that it works - and it does seem to really work! :-)  I've also found a fairly active forum with people trying to do exactly what I'm trying to accomplish.  I've been lurking due to lack of time, but it seems like the main issue is that the IoT development kit's precompiled bits are compiled in Tensilica's proprietary compiler in an ABI that's quite different from the one supported in gcc.  Apparently there's a VirtualBox machine image floating around with all the required bits installed, but a lot of people's focus seems to be on trying to figure out how to compile and run code on fully open development stack.  At least on the firmware download side, it doesn't seem like flash chip twiddling is required - someone reverse engineered the flashing tool and created a documented open version of it!

ESP8266 Board
Some random notes about the ESP8266 board that I have - it's running firmware version 00160910 and communicates at 115200 baud instead of 57600 baud reported elsewhere.  The board layout also requires the chip enable to be held high on top of connecting the tx/rx pins and power and ground.

Even though my intended use for this part is gone due to power consumption (seems to be 200~300mA), I'm hoping I can at least help out in the effort to get open stack toolchain working.  Even with the different ABI, it might be possible to create a glue layer that would allow gcc complied code to talk to the precompiled binaries.  Should be an interesting puzzle to try to figure out.

No comments:

Post a Comment