Controller for Multi-Pump Irrigation System Water Distribution

Pictured below is a diagram of an irrigation system comprising three water tanks located on three terraces. The lowest tank contains a bilge pump which will pump water up to the next terrace, and the tank on that terrace has a pump to send water up to the top tank.
Irrigation system diagram - multi tank, multi pump, multi terrace

The bilge pump has its own float switches and will, when powered, start pumping when its upper float switch detects water (full tank) and will stop when its lower float switch does not detect water (empty tank).

The two higher tanks have float switches so that their water level status can be monitored. Pictured below is the controller we built to manage the two pumps in order to best distribute the stored water across the three tanks while minimising overflow wastage. Ideally no tank should ever be completely empty, and no tank should be full and overflowing if the next higher tank is not full.

irrigation system pump controllerThis controller, built around an Arduino Pro Mini monitors the status of the float switches of the two upper tanks to decide when power should be supplied to a pump or pumps. If for example the middle tank is full, and the top tank is not, the Tank 2 pump will be run until either the middle tank is empty or the top tank is full. If the bottom tank is full, and Tank 2 is not, then the bilge pump will fill up Tank 2.

In order to prevent multi-switching (a pump being turned on and off rapidly and repeatedly) timers are built into this controller so that a pump will always overrun by 10 seconds when it is to be turned off. This will ensure that the state of the float switch which called for the pump to be turned off will be stable and unaffected by turbulence in tank.

If you need any type of pump controller, please email with details of your requirements.

Controller for Heater used to Prevent Condensation on Telescope Mirror

A common problem for amateur astronomers is condensation forming on the mirror in their telescopes. During the night the mirror cools down, and then in the morning as the air warms up, condensation forms on the mirror which is colder than the surrounding air. The same thing happens to the surface of a bottle when you take it out of a fridge, but for a telescope it is problematic as condensation deteriorates the reflective coating on the mirror, and of course a foggy coating reduces the quality of the star images obtained by the telescope.

One solution to this problem is to warm up the mirror so that it remains 2 to 5 degrees Celcius above the ambient air temperature – something which can be achieved using a heating element and a thermostatic controller. If the mirror gets too cold, it will be covered in condensation. If the mirror gets too hot, it could warp. Therefore accurate control of the heating element is essential.

telescope condensation prevention controller with heater

Pictured above is one such thermostatic controller we recently prepared for a customer loosely based around our 2013 Solar Water Heating Pump Controller.

This device has two ds18b20 digital temperature sensors – one which attaches behind the mirror of the telescope and the other which measures the ambient air temperature. When the temperature at the mirror falls to within 2°C (or any other user programmable value) warmer than ambient, the heating element is switched on (via the onboard relay). The heating element stays on until the mirror has heated up to be at least 5°C (or any other user programmable value) warmer than ambient.

We used a non-waterproof sensor at the back of the mirror as this area remains dry and that sensor needs to respond to quick temperature changes. (The protection on waterproof temperature sensors slows down their response to temperature change.) We did however use a waterproof sensor to measure ambient air temperatures because that sensor is exposed and ambient air temperatures change relatively slowly.

The heating cycle continues automatically ensuring condensation does not form on the mirror, and the mirror is not over heated. This is a 12VDC powered controller managing a 12VDC heating element so that it can be battery powered when used at remote locations.

If you need a user programmable thermostatic controller for your telescope heating element, please email with details of your requirements.

Triple Independent Repeating Timer for Lighting Control

Pictured below is a bespoke timer we recently made for a customer which includes three user programmable independent repeating on/off timers for controlling LED lighting.

three independent timers with a single master controller

This device built around an Arduino Pro Mini has three 12V outputs each of which can be set to turn on for from 0.5 to 15 seconds (in 0.5 second steps) and then turn off for from 0.5 to 15 seconds (in 0.5 second steps). This is a repeating timer, so each of the independent on/off cycles continues for as long as the timer is powered.

The user’s programmed settings are stored in non-volatile memory, so whenever the device is disconnected and then reconnected to the 12V power source, the timers continue as previously set.

If you need any kind of timer, please email with details of your requirements.

24V Battery Charging Control Circuit

Pictured below is a 24V battery charging circuit which we recently made based around our more standard low voltage disconnects.

24V low voltage connect circuit for battery charging

Rather than a low voltage disconnect, this is a low voltage connect with the output used to control a relay which in turn connects a battery charger to the 24V battery bank. For this particular unit, the charger will be a hydraulic turbine generator, but everything would work the same if a plug-in battery charger was being used.

When the voltage from battery bank is measured to be below a user set value continuously for 10 seconds, the output turns on which starts battery charging. Charging continues until the battery bank is measured to be above a second (higher) user set value continuously for 10 seconds.

If you need any kind of low voltage disconnect/connect or anything to monitor an charge 12V or 24V batteries, email with details of your requirements.

28 Day Timer

Pictured below is a device we recently made to turn any typical 24 hour 7 day timer into a 24 Hour 28 Day Timer.

28 Day Timer

This particular unit was designed to run a pump for 20 minutes once every 28 days to supply an unattended irrigation system header tank with water. The user simply has to programme their existing programmable 7 day timer to turn on for the desired duration once per week. Our add-on board detects when that timer’s internal relay closes, and every fourth time (i.e. fourth week), it closes its own relay which turns on the pump.

Red LEDs on the board are used to show which week it currently is out of the four weeks that make up 28 days, and those LEDs also flash whenever the timer is on to give visual confirmation of the status of the system.

Programmable digital timers have a back up battery which ensures that time is kept accurately during a power cut. Our board stores the current week in memory, so that in the event of a power cut, it will remember which week it was in when power is restored.

If you need any kind of special timer, please email with details of your requirements.

Morningstar EcoPulse PWM Solar Charge Controllers

Pictured below is one of the new range of EcoPulse solar charge controllers from Morningstar Corp (makers of the ever popular SunGuard Solar Controller). EcoPulse controllers are a part of the new Essential Series™ of consumer rated products designed for residential and off-grid use including the leisure market.morningstar ecopulse metered version

There are six different versions of the EcoPulse: 10A, 20A, and 30A rated with an interactive meter display as pictured above (EC-10M, EC-20M, and EC-30M), and 10A, 20A, and 30A rated with no display (EC-10, EC-20, and EC-30M) as pictured below.morningstar ecopulse non-metered version

EcoPulse controllers are designed for 12V and 24V solar systems with DIP switches used to select either 12V, 24V, or auto-detection.

These controllers are suitable for marine use as they are rated up to 100% humidity, the electronics have a protective conformal coating, and all connection terminals are corrosion resistant. The case is made from durable polycarbonate, and passive cooling is provided by an aluminium heatsink.morningstar ecopulse charging algorithmEcoPulse controllers have a 4-stage PWM battery charging algorithm – bulk charge, absorption, and float, with equalization available (automatic or disabled on non-metered models, manual or automatic on the metered models). The PWM frequency is 300Hz by default, but can be set to 1Hz if there is a problem with system noise.

EcoPulse has a built in adjustable dusk ‘til dawn lighting controller with the solar array being used as the ambient light detector.  (See our article Solar Panel as Darkness Detector for a simplified version of this technique.) A built in low voltage disconnect prevents the battery from being overly depleted by connected loads.

ecopulse pwm solar charge controller connection diagramEcoPulse has a built in sensor for temperature compensation, but an optional remote temperature sensor is also available if the controller is to be positioned more than 3 metres from the battery bank. There is also protection against short circuit, over current, and high voltage etc with fault indications displayed with coloured LEDs.

To find out more about EcoPulse, click here for the official Morningstar EcoPulse page where you will find links to the full operation manual and datasheet for the EcoPulse range.

The MSRP for the products in US Dollars are as follows and they are sold with a two-year manufacturers warranty:

  • EC-10 $65 EC-10M $101
  • EC-20 $78 EC-20M $129
  • EC-30 $104 EC-30M $156

μduino Smallest Arduino Compatible Board – ATMEGA32U4

Pictured below are photographs of the top and bottom of prototypes of the new μduino, an Arduino-compatible board with dimensions of just 12x12mm making it probably the smallest Arduino every built – just a little bigger than a microSD card.

uduino smallest arduino compatible board

The μduino is smaller in size than the Digispark (with its ATTiny85 chip and 6 I/O pins), but uses the same ATMEGA32U4 microcontroller found on the much more powerful Arduino Leonardo offering 20 I/O pins including 6 analog and 14 digital I/O ports, 7 PWM channels, and a lot more memory.

μduino is now (early August 2017) fully funded on Crowd Supply (a crowd funding website similar to Kickstarter and Indiegogo), easily reaching and exceeding its funding goal with 11 days to spare.

μduino can be set up to operate at either 3.3V or 5V depending on the requirements of your project and any connected sensors.

The tiny size of µduino was achieved using a smaller hole separation (1.27mm vs 2.54mm) relative to standard boards, and packing the components tightly together on both sides of the board.

For full details and/or to place an order for a µduino @ US$18 (shipping on or after September 20th 2017), click here for µduino on the website.

μduino Specs

ATMEGA32U4 microcontroller
6x Analog I/O ports
14x Digital I/O ports (including Rx/Tx)
Status LED
Dual-power modes for 3.3V and 5V operation (accepts up to 16V)
1x Power output (3.3V or 5V depending on what mode is selected)
3x Ground ports
1x Analog reference voltage port
Reset button
16 MHz precision crystal oscillator
MicroUSB port for easy programming and prototyping

Raspberry Pi Pinout Command with GPIOZero

raspberry pi gpiozero pinout commandPictured above is a screen capture showing a new (late July 2017) feature of GPIOZero for the Raspberry Pi – pinout – which shows the status of the general purpose input/output pins of the Raspberry Pi and additional useful information about your Pi.

Simply enter pinout at the command prompt. If the command is not recognised, do a sudo apt-get update; sudo apt-get upgrade to update your Raspberry Pi and GPIOZero software to the latest version, and it will then work.

Click here for full details from the command-line tools section of the GPIOzero docs.

Rainwater Toilet Pump Controller with Display and Timer

Pictured below is another of our rainwater toilet pump controllers  which we recently built and supplied.rainwater toilet pump controller with display and timer

This particular unit will be used in a system configured as follows:
There is a large water butt with 2000 litre capacity (to which a further 1000 litre capacity will soon be added). There is a 210 litre header tank which gravity feeds the toilets in the property. The header tank has a float switch near the top to detect when it is full, and a float switch near the bottom to detect when it is nearly empty. The pump chosen can fill the header tank from empty in around 6 minutes, and the pump has its own float switch protection (so that it will not run dry if the water butt is empty). Finally there is a solenoid valve fitted to a mains water supply which when turned on, will fill the header tank.

header tank not full display rainwater toilet pump controllerThe controller has a display which is used to show the status of the header tank – full, not full, or empty – and also the status of the pump and solenoid valve.

solenoid valve on water butt empty display

Once an hour, the controller will turn on the pump if the upper float switch indicates that the header tank is not full. The pump will run until the upper float switch floats on a full tank OR for 8 minutes since if the pump runs that long, the water butt must be empty or there is a problem with the pump.

If at any time (except while the pump is running) the lower float switch indicates that the header tank is empty, the solenoid valve will open sending mains water into the header tank until the upper float switch indicates the tank is now full.
After another hour has passed, the controller will attempt to top up the tank with rainwater as normal, and will only top it up with mains water if the tank is empty.

If you need a rainwater toilet pump controller, email with details of your requirements. Take a look at some of our previous controllers here: rainwater.

Target Shooting Lights Controlling Timer

Pictured below is a timer for use in competitive target shooting. Usually we make turning target controllers which turn the target to face and away from the shooter at the required times. This controller instead is for use with a fixed target, using a red and a green light to tell the shooter when to shoot.

shooting target lighting controllerThe red light starts off on. The start/stop button is pressed and the range master gives a vocal command for shooters to load. After 30 seconds, the red light turns off and the green light turns on – shooting commences. After a user programmable timer period has elapsed, the red light turns on again, the green light turns off, and shooting stops.

With this particular controller, the available timing options are fixed as 4, 6, 8, 10, 20, or 150 seconds. The timer option button is used to cycle through those options with red indicator LEDs used to show which option is currently selected. (We also make timers like these with a physical display and the ability for the user to change the values of the timing options instead of having a fixed selection – see here for details of some of our other shooting timers.)

The type of bulb to be used with controller is pictured below: a low current 12VDC powered 22ds LED bulb from Onpow.22ds 12vdc LED bulbIf you need any type of shooting range timer, please email with details of your requirements.