Battery Monitoring Circuits

Accurately monitoring lead-acid battery state-of-charge would help with the long-term sustainability of off-grid renewable energy systems. There are a number of ready-built products already available, mainly for the recreational vehicle market (eg. boats) and are relatively high cost (too high to include within a small off-grid power supply system). There are also a number of … more

Fast PWM on ATTiny85

This is a post about changing the PWM frequency of an ATTiny85 which has been programmed via the Arduino IDE. I wanted a faster PWM frequency to remove audible noise on a dump load controller I had been designing. This controls an output load using PWM and a FET. This produced audible noise when running. … more

TFT LCD display

This is a post about getting a graphical full colour LCD screen running with an Arduino. The sample screen was the ITDB02 1.8″SP unit from iTead Studios. It is based upon the ST7735 control IC which uses serial data for the display.   … more

OLED display

I recently helped fund a Kickstarter project for an Organic LED (OLED) display and breakout board. This was design and built by ILSoft, an electronics and software company based in Tyne and Wear, UK. I had been interested in using an OLED display for some time, as they have a good contrast ratio and quite … more

PCB trace width calculator

The next step with the open-source charge controller project is to design the printed circuit board (PCB). This circuit board has specifications that it will work with up to 20A DC, hence I need to ensure that the thickness of the tracks is able to cope with this current without any problems. Here I show … more

Enable Brown-out Detect on ATTiny

Continuing the work I have been doing on the open-source charge controller project, I needed to ensure that the microcontroller reset correctly when the supply voltage drops. The charge controller is powered from the renewable energy source and so the input voltage will vary (for example on a solar PV module at night the voltage … more

Heatsink Calculations

I’ve been designing some heatsinks for the open-source charge controller project. The circuit contains a diode and a MOSFET, which could potentially have up to 20A flowing through them. In this case they will get hot and will eventually fail. I need to ensure that they will be kept within their specific working parameters by … more

Voltage divider

Accurate Voltage Measurement

I’ve been trying to accurately measure voltage for my open-source charge controller project. This project relies upon accurate measurement of voltage as this is used to control the regulator. I have been having some difficulty getting reliable and accurate voltage measurement, so I wanted to figure out why that was. I am using a simple … more

Proportional-Integral Control

In trying to implement a battery charge algorithm I needed to use some form of control to maintain a voltage set-point. To do this with a good step-change response and stability is harder than you might think. I decided to implement a relatively simple Proportional and Integral controller to perform this task, as I have … more

Voltage measurement

A number of our projects require accurate monitoring of voltages. Here we explain the numerous techniques for measuring voltages, both DC and AC, highlight some of the multitude of integrated circuits available and list the pros and cons of various techniques. To measure power (and hence measure energy) within electrical systems, we need to know … more

Adding a logo to your KiCAD PCB

For PCB design I use the open-source schematic and PCB design software KiCAD. Its a great program and has gotten a lot better recently. It is unlimited in size, components and number of layers and has lots of the features of very expensive professional PCB layout software. But… there are times when its not so … more

Battery worksheet

This is an information and operation and maintenance worksheet for lead-acid batteries. It covers battery basics, the various types of batteries, battery safety and how to measure state of charge. This document is open source. … more