My personal all-around blog
My personal all-around blog

HLW8110 – HLW8112

I’ve been working lately with this chip, the 8110 version with the 8 pins.

It is a nice, more capable unit than the company’s successful energy metering chips, namely HLW8012 and HLW8032. Those two are used in many devices, most notably in the Sonoff smart home range, for power and energy consumption monitoring. Manufacturer is Hiliwi (or maybe Hiliwei), a Chinese brand.
Those two, are relatively more easy to get and are also supported by libraries written by makers. There are 3 pages of results in Github.

I got my 8110 from LCSC, or rather on a board from JLCPCB. At the moment, there are a lot of pieces in stock.

Why didn’t I get one of the other solutions? Well, the first one, the 8012 works like many similar chips, by providing pulses whose frequency corresponds to the measured voltage or current (selectively by an input pin) and active power. Simple, but the actual negation of ‘flexible’. This one required some overhead and effort to be useful. The other one, the 8032, provides more information, and can be used by reading all available info it transmits by UART. It also has a pulse output for active power. What I didn’t like when skimming the datasheet, was that it transmits the whole lot of available data all the time. It has only 11 registers, 24 bytes all and all, but they are not buffered, they might be changing and transmitting at the same time. One has to check for special bits in order to determine if the values are valid. OK, it is not too bad, one can work with this, especially when only one optocoupler is necessary for the UART TX. The power pulse output is not required as one of the registers provides the active power data, and the RX line is NOT used for anything! I didn’t find a reason for it’s existence.

The main reason I didn’t go for any of these two, is that I am spoiled by the time I implemented another chip for a three phase instrument in another kind of device. That chip was the Atmel (now Microchip) ATM90E32AS that could do anything one could ask for. Not exactly a genie, but the equivalent for energy measuring chips. I had to learn a lot but it payed off. I liked that chip very much, the only gripe is with availability, one has to plan ahead in the chip shortage times we live in.

The 8110 has some features like the Atmel chip that are useful for my needs, and is cheap, just a tad more expensive than the other two. At the moment it’s around half Euro. For me the main features are:
Programmable Gain Amplifiers.
Output for bypass capacitor for VREF.
Can be used in 3.3 or 5V systems.
Calibration capabilities for more accuracy, especially since internal oscillator is used.
Flexibility, you can use it ‘easy’ or for more advanced projects.

It has more than 60 registers with various information you can read at any time by asking through UART for what you want.
The UART communication is MSByte first, with even parity and checksum to give you confidence that you are reading correctly, at 9600 baud fixed.

If this small one (SOP 8) is not enough, the larger (SSOP 16) HLW8112 adds more:
Can be used with SPI as well, not just fixed speed UART.
An external crystal can be used.
Programmable outputs can be used with pulses for external energy accumulation, interrupts when overvoltage, overcurrent, voltage sag or some other value triggers an event!
Another current channel can be used for leakage current detection.

I am still in the developing phase with the 8110, that project is not over yet. Unfortunately I cannot post here more info for the project, as it is for my day job. I will just tell you what I think about the chip, as so far I really think it is an IC that is worth your consideration, if you are looking for a something like that. It is not comparable with the ATM90E32AS, I am not trying to say it is any close. I mean it differentiates itself from the other similar small Chinese chips, like the other two I mentioned. It has a small form factor but works like the bigger chips we know already. Maybe not for charging energy meters, but it is seems suitable for many applications with not extreme dynamic range or accuracy needed. At the moment it looks just fine to me.

The only thing I found is that it seemed a little finicky with the UART speed. The truth is that at the moment I was using bit-banging to communicate, not hardware peripheral. My optocouplers are the cheap 817s which add some mild distortion. When I increased my microcontroller clock speed, even that configuration worked. With the peripheral used, I had no problems whatsoever.
It seems to do well what I have in mind. As for the accuracy, it claims pretty good numbers for my use case, I will check it sometime later. I really like it so far, if you want to use it and want to ask me anything, please do.

Have fun.

Leave a comment

Your email address will not be published. Required fields are marked *

Spam repellent: * Time limit is exhausted. Please reload CAPTCHA.