Talking to Laptop Batteries with the ESP8266

It’s not something you often give a lot of thought to, but the modern consumer laptop battery is a pretty advanced piece of technology. Not only does it pack several dozen watt-hours of energy into a relatively small and lightweight package, but it features integrated diagnostic capability to make sure all those temperamental lithium cells are kept in check. Widely available and extremely cheap thanks to the economies of scale (unless you try to get them from the OEM, anyway), they’re a very compelling option for powering your projects.

Of course, it also helps if, like [teliot] you have a bunch of the things lying around. For reasons we won’t get into, he’s got a whole mess of Acer AL12x32 battery packs which he wanted to use for something other than collecting dust. He had the idea of hooking one up to a solar panel and using it as a power supply for some ESP8266 projects but wanted to be able to talk to the battery for status and diagnostic information. After studying the Smart Battery System (SBS) protocol the batteries use, he was able to come up with some code that lets him pull 37 separate fields of information from the pack’s onboard electronics using his ESP8266.

Battery consumption over time

It took some fiddling with a multimeter to figure out which pin did what on the eight pin interface of the battery. Two of the pins need to be shorted to enable the dual 12 VDC pins to kick in. Technically that’s all you really need to do if you want to utilize the battery in a low-tech sort of way. But to actually get some information from the battery, [teliot] had to identify the two pins which are for the System Management Bus (SMBus) interface where the SBS data lives.

Once he knew which pins to talk to the battery on, the rest was fairly easy. SBS is well documented, and the SMBus interface is very similar to I2C. Like all the cool kids are doing these days, his code publishes the battery info to MQTT where he can plot it and get finely grained info on the performance of his solar power system.

This isn’t the first time we’ve seen a hacker wrangle laptop batteries through SMBus, but it’s always nice to get multiple perspectives on a topic. If you plan on making this kind of thing part of your standard bag of tricks, you might even want to take the time to build a dedicated SMBus scanner.

[via /r/esp8266]

It Keeps on Going and… Arduino Edition

How long can you keep an Arduino circuit running on three AA batteries? With careful design, [educ8s] built a temperature sensor that lasts well over a year on a single charge of three 2250 mAH rechargeable cells (or, at least, should last that long).

Like most long-life designs, this temperature sensor spends most of its time sleeping. The design uses a DS18B20 temperature sensor and a Nokia 5110 LCD display. It also uses a photoresistor to shut off the LCD display in the dark for further power savings.

During sleep, the device only draws 260 microamps with the display on and 70 microamps with the display off. Every two minutes, the processor wakes up and reads the temperature, drawing about 12 milliamps for a very short time.

Along with the code, [educ8s] has a spreadsheet that computes the battery life based on the different measured parameters and the battery vendor’s claimed self discharge rate.

Of course, with a bigger battery pack, you could get even more service from a charge. If you need a refresher on battery selection, we covered that not long ago. Or you can check out a ridiculously complete battery comparison site if you want to improve your battery selection.

Continue reading “It Keeps on Going and… Arduino Edition”

A Mobile Radio Power Controller

[Pete], a.k.a. [KD8TBW] wanted to install his Yaesu radio in his car. From experience, he knew that having a radio in a car inevitable led to leaving it on once in a while, and this time, he wanted a device that would turn his rig on and off when the key was in the ignition. He ended up building a mobile radio power converter. It takes the 12V from the car when the alternator is running, and shuts everything off when the engine has stopped.

The Yaesu radio in question – an FT-8800 does have an automatic power off feature, but this is a terrible way of doing things. There is no way to turn the radio back on, and the radio must be left in a non-scanning mode.

In what he hopes to be his last design in EagleCAD, [Pete] whipped up a board featuring an ATtiny85 that measures the voltage in the car; when it’s ~14V, the alternator is working, and the radio can be switched on. When it drops to ~12V, it’s time to turn the radio off. It’s a great project, and with the 3D printed case, it can easily be shoved inside the console. Video below.

Continue reading “A Mobile Radio Power Controller”