In this article I will try and explain how this little device came into being.
I have always been fascinated by numbers and measurement, including but not limited to time, humidity, temperature, and so on. As a programmer I work with numbers a lot anyway, but in 2009 I started work on an ebike battery monitor which coulomb counts both generation and load. It works pretty well and gives me a fair idea of what is left and for our users the best part is that it took out the guesswork making a vehicle with limited range a useful reliable one nonetheless. This is what I want to achieve with Wattmon as well.
Where I live, power cuts are part of every day life. Most people have a battery and inverter to bridge the gaps in supply for some if not all loads in a house or office. But, information on battery state is mostly unavailable. So people either underutilize or overextend their batteries which of course shortens their lifespan. In addition to grid charging, more and more people are hooking up solar panels or micro wind turbines to supply power to their batteries.
Definitely, monitoring all these inputs and loads greatly improves one's understanding and ability to manage energy better. But in addition, intelligent decisions based on the state of the battery and inputs can save money. For example, in a hybrid setup with a set of solar panels, grid charger and inverter, I may need to top up batteries once in a while but my loads could run mainly on solar. Wattmon can be programmed to switch on or off the charger based on certain preset conditions.
In another example, imagine you have an off grid system that runs a few lights and a solar fridge. On a cloudy day the batteries may not be charged, and the available amp hours in the battery would be less than normal. Wattwon could be set to switch off your fridge relay in case the battery drops below 70% thus ensuring that your lights and other essential loads stay on. You could even switch multiple devices on or off around the house based on such events, or on time.
This total flexibility and feature set is what I kept as my goal while extensively researching existing products on the market, and it turns out that I couldn't find anything like it. Software solutions exist but require a pc for data logging. The raspberry PI came out just before I started development and is of course a fantastic solution but still aimed more at hackers than end users. So, I decided to use the microchip pic32 which is pretty powerful but limited in memory and flash. Together with an interpreted language running off an sd card this solution provides the ultimate flexibility. The language and core os run off the internal flash while the entire application runs off the sd card. I will explain the workings of the system in greater detail in a future post.
I hope this helps you better understand my reasons for spending such a lot of time on such a little box :)