A few lasercut pieces…

Did we mention we have a lasercutter? We have a lasercutter. It runs off the open source LAOS controller board, and couldn’t be simpler to get your designs into.

We’ve been getting to grips with it, and our members are turning out things like leather bookmarks
IMG_20160116_194938[1]

…project boxes, tensegrity balls…
IMG_20150926_170234[1]
Tensegrity Ball

…rubber stamps
SHHM Logo stamp

…and quite a few other bits and pieces. What do you want to build? Come along to one of our scheduled sessions and say hello!

Quadrant 3D Printer Cabinet

With the Hackspace having a collection of three different 3D printers and with them all being kept in one multi use workshop, it soon came apparent that we needed a way to keep the dust of of them all whiles also allowing us to gain easy access to them for maintenance. There was an ideal place in the workshop between the workbench and tool board where a cabinet would sit nicely.

With this in mind I took some measurements of the area and make a few rough sketches on paper. The cabinet would be 1200 x 600 x 2000 it would be divided up in to 6 quadrants, the top 4 quadrants will be where the 3D printers would be housed and the bottom two would

3D model of the cabinet

3D model of the cabinet

create storage space for reels of filament and other consumables. At the rear of each of the 4 printer quadrants there would be a 2G plug and RJ45 socket as each of the printers will run of OctoPi allowing the printers to be controlled remotely on the network. Once I had a feel for what the cabinet was going to look like on paper I drew up a 3D model using Free CAD.

 

The material of choice was 18mm construction ply, for the method of joinery I went for rebate joints. Each of the panels that the shelf’s and back would sit in had a rebate grove in the width of the ply routed down the width of the panel at the corresponding heights of the shelf’s the rebate was half the depth of the material. The cut away below shows half of the cabinet and how it is assembled. With the CAD design complete I got to work ripping all of the ply down to size ready for routing.

Cut away of the cabinet showing the rebate joints

Cut away of the cabinet showing the rebate joints


To ensure that all of the rebates where routed consistently I used a straight edge to guide the router on all the parts. By scoring each side of the rebate joints with a sharp knife before routing prevents tear out from the spinning cutter leaving a nicer and smoother finish. For routing the rebate on the perimeter of the back the router was used with it’s fens, the fens was set to the correct width from the cutter to the edge of the work piece and run down the edge.

To assemble the cabinet the shelf’s where first glued and nailed on to the two sides, this step was completed first because  you could only get a run of nails in one side of the middle. The middle and top where then joined the same way followed by the back. After a sand and coat of varnish the cabinet was ready to be moved in to the workshop.

The assembled cabinet in place ready for the doors to be hung.

The assembled cabinet in place ready for the doors to be hung.

Once the assembly was complete I decided to add some pull out shelf’s on rails, this would make it easier to remove things from the print bed and gain access to the back of the printer for maintenance.

door frame glued up

door frame glued up

To make the door frames I created a central groove using a table saw in several lengths of 20 x 35mm PSE timber. This grove would be where the perspex in the centre of the door would sit. The rails and stiles where cut to the correct length and a tenon was made on the end of both of the horizontal rails. The perspex sheet was cut to size and the frame was glued up using a pair of sash clamps. I used piano hinge to hang the doors, this was mounted on to the cabinet first.

The first door mounted

The first door mounted

All that was left to do now was install the rest of the doors, give them a coat of varnish, wire in the electrics and mount the pull out shelves. With the 3D printer cabinet approaching completion there where a few things that I could have done differently and some things that could be improved or even added on. One thing that could be different is the method of joinery, there are a multitude of different ways that it cold be done the other witch I looked in to was finger joints. Finer joints provide a larger surface area for glue to stick to but are more time consuming. I ended up using rebate joints because they where more suited to the design, not only that but would also give me more experience for the next job where I could attempt something a little more complex with the skills I have learnt.

The completed quadrant 3D Printer cabinet with pull out shelfs.

The completed quadrant 3D Printer cabinet with pull out shelfs.

Something else that would have helped during the build process is to have made a jig that could be set over the rebate and clamped down that the router would sit in and slide across, making the process of routing the rebates much more efficient and accurate quicker. A later addition that I intend on adding is a set of castor boxes for the bottom two quadrants witch will make it easier to retrieve consumables. Overall it has been a fairly successfully build. The cabinet itself is very sturdy and provides the purpose it was intended for it also provides more storage areas both on top of the cabinet and down below in the two quadrants.

img_0294_23699572839_o

 

img_0297_23699569539_o

 

For more images please visit here.

The Hunt for J5

Pi Zero J5 Connections

Pi Zero J5 Connections

J5 is alive, and is definitely not called johnny or a robot in a kids sci-fi film. J5 is the mystery connector footprint on the bottom of the Pi Zero. I have been puzzling over what it was intended for since getting my Pi Zero from Pimoroni.  Asking around amongst those who would know more than me about it (Not difficult to find) the hot favourite was a JTAG port but no one was entirely sure and there was no pinout. An extensive google around was surprisingly information free.

Time then for some reverse engineering, first stop was a USB microscope and a look see for obvious pin functions, gotta tackle the low hanging fruit first. Taking pin 1 to be the pin nearest the J5 ID we can see the footprint is for an 8 pin connector and the body or screen is not connected. 1 is the Pi system reset or run pin as it is labeled, 4 and 7 are ground connections. OK that leaves 5 pins to go. I visually traced the connections and lost them in to the maze of CPU via’s. As other than the reset they did not go to the GPIO pins I could rule out an easy hit as to what they were. The up side is if they were JTAG, it would have to be dedicated pins, not GPIO pins, and therefore projects could be debugged even with a phat in place. Hmmm what were those other 5 pins for. Normally at this point I would start on in with a multi meter or a scope and see what I could find out next. But serendipity smiled upon me, in that way it never normally does.

B+ J5 Connections

B+ J5 Connections

Putting some time into a side project (building a Graphite graphing server) I was working with a Raspberry Pi B+. Purely as I tend to mostly use Pi2’s now and was using up any older ones that were lying around. Embedding them irretrievably into other things. Fiddling with the board during one of many mental luls, I noticed the same mystery footprint on the board directly under the HDMI video connector. In fact it is so much the same it is also labelled J5. Cross referencing the ground pin outs that we know from the Pi Zero we get a match. What is more the 5 pins we had not identified are broken out to pogo pin pads bang next to the footprint. All along with nice labels. Combining the data we have then gives us the following table:-

J5 Pin Information
Pin No Pi Zero Function Pi B+ Function Comment
1 Pi System Reset ? Pull low to reset the Pi
2 ? TRST_N TAP Reset pull low to reset the TAP
3 ? TDI Test Data In
4 Gnd Gnd Signal Gnd
5 ? TDO Test Data Out
6 ? TMS Test Mode Select
7 Gnd Gnd Signal Gnd
8 ? TCK Test Clock

Some further technical info on TAP & JTAG can be found here worth a look at to illustrate some of the concepts behind JTAG. OK, all well and good, what is left to do, identify what sort of connector J5 actually is and make up a JTAG lead for it then connect it up and see if we are right.

Simply Crochet Robot

CSFZeZfXIAACp0b
[Post by SHHM member Sarah Cullen]

I enjoy mixing traditional crafts with tech. A while ago I decided to teach myself crochet, mostly using YouTube and a couple of crochet books. I found a pattern for a crochet robot toy and decided that instead of just crocheting buttons and a light, I’d use sewable electronics instead.

The crochet pattern came from Issue 16 of Simply Crochet.

I used a CR32 coin cell battery holder, battery, sewable steel thread and a large red LED for the light on the robot’s head.
To sew the light on, I pushed the legs of the LED through the top of the crocheted head and then used round nose pliers to coil each leg out to the side, flat against the crochet. On the inside of the head, I stitched from the negative terminal of the battery holder, lightly through half of the thickness of the crochet (so the thread didn’t show on the outside of the robot) to the negative leg of the LED. When sewing through the coil of the leg of the LED, I sewed knots as I went, as the steel thread has a bit of spring to it, and so wants to open up, but this can break the connections in your circuit. I did the same thing, with a separate piece of steel thread, for the positive side of the LED and battery.

The buttons on the front of the robot are a bit more involved. They needed 2 battery’s worth of power and a LilyTiny circuit board to create the flashing. The batteries are connected to the LilyTiny and then the LilyTiny is connected to the LEDs. Although the LilyTiny is designed for 4 LEDs, I connected more, in parallel, as I had more than 4 buttons that needed illuminating. The default patterns programmed into the LilyTiny were fine, so I didn’t need to reprogramme it.

The end result is here:

More LED crochet
I followed that project up with some a monkey & ninja from the Creepy But Cute crochet book and a pirate pattern from the author’s website. Rather than sewing their expressions on, I gave them sewable LED eyes. These were added behind the felt patches that are their faces. The battery holder is under each creature, which has meant I’ve needed to add a ring of chain stitch to the base, to hide the holder and stabilise each creature.

More recently, I made the robot from the Creepy But Cute book. Gee made a small circuit with cyclon style red LEDs that I used for its eyes. As these aren’t sewable LEDs and they’re tiny, it needed the crochet cutting so that they’d show through the felt face. The felt face stops the crochet from unravelling, so no problems there. At some point I may remake this but use a Adafruit Gemma / Flora to control sewable LEDs for the cyclon effect but I’ll need to find the time first!
The complete set is here:

They get taken to Make Faires with Pimoroni and recently featured in Makezine’s photos of the Berlin Faire.

All sewable electronics parts for the various projects came from Adafruit / Sparkfun / Kitronik via Pimoroni.

Inertial Logger Prototype

Prototype Inertial Logger

Prototype Inertial Logger

The prototype hardware for my inertial logging project is built. Lovely you say, looks nice, fits in a small tin, and just like everyone else, you immediately follow it with “What does it do ??”.

This project follows on from a bunch of discussions in the SHHMakers mailing list. Basically the idea is that you can record or log a track that the tin has followed using only sensing of the movement of the tin. The movement of the tin is the inertia bit. Everything has inertia and sensors that can measure that can also infer how much and by how far something has moved. Inertial guidance works on the same principles and is used for quad-copter pilot electronics etc. This is the point at which, like everyone else, you interject “I just use my phones GPS”. But what about those instances where there is no GPS signal. Try Caving, UrbEx, SCUBA Diving, or just simply finding your car in a multi-story, when you have forgotten where you parked it. Maybe you want to know where the tube system really is under the map of a city rather than the schematic map most underground systems give you. These examples are where inertial navigation and logging have a part to play.

“OK” you say “I understand now. how do you do it ?”. If you put on a blindfold and someone manoeuvres you along a track you can, if you concentrate remember it, this is the logging bit. Each time you are turned this way or that you can feel being turned, this is what a gyroscope measures, rate of turning. If you are moved quickly or slowly you can feel that too, this is what an accelerometer measures, rate of acceleration. If you are in a lift as well as feeling the acceleration, you can feel the pressure on your eardrums change as you go up or down, this is what a pressure sensor measures. You can feel if you are outside or inside by temperature changes, this is what a thermometer measures. People who are blind are more sensitive to these things than the sighted, purely as they use these clues to navigate in a world they cannot see. They also count steps. I don’t think this project will be sensitive enough to count steps but maybe it will. It certainly can measure the passage of time against acceleration/rotation and therefore infer distance.

Zoom in to see the contents of the tin

Zoom in to see the contents of the tin

“So what’s in the tin?”. You are bored with explanations now and want to know about the techy bit. If we zoom in to the tin, we can see a 10 DOF inertial navigation board (GY-87) top left. Under that on the left is a micro SD card. In the middle is a Teensy 3.1 micro-controller. At the right top there is an Adafruit Power Boost 5oo Charger. To the bottom right is the coin cell battery backup for the Teensy’s RTC (real time clock). Underneath the board is a 2.5Ah LiPo. The power boost, LiPo and teensy were bought in from our local supplier Pimoroni. The 10 DOF (degrees of freedom, or number of things it measures) board came directly from china via AliExpress. The power supplying arrangements are a compromise that niggles somewhat. Whilst the LiPo has plenty of power, all the other components actually run at 3v3. the conversion from 5v to 3v3 is done locally on the boards using linear regulators so we are wasting nearly as much power again as they draw. Unfortunately linear regulators dump the surplus energy as heat, far from ideal in a closed tin. Particularly where we want to be able to measure the temperature as part of your logging. Altogether though an adequate first pass for prototyping and testing purposes. There is a bit of a learning curve to be climbed and this is a reliable way to do it. The 10 DOF board has 3 axes of Magnetometer, Accelerometer and Gyroscope on-board as well as an air pressure sensor for us as an altimeter, giving the 10 things or DOF it can measure.

“If you were doing this again what would you do different ?” you ask. Well bearing in mind that I acquired the parts for this a bit back and they have been gathering dust the purchasing decisions would be different. I would be replacing the hand wired SD card holder and Teensy with a Pi Zero. But have to add an RTC. Also I would get rid of the linear regulator on the 10 DOF board and power it form the Zero’s 3v3. Just to move the self heating away from the air pressure sensor which relies on an internal temperature measurement for air density compensation. I would probably add a press button on the outside of the case so that way-points or events could be marked in the track log. Useful for overcoming cumulative errors. One last thing, inertial navigation chips and managers are a field of rapidly advancing technology, many of our smart phones already have them inside. The inertial sensor chips themselves are becoming ever more integrated placing it all on one chip together along with local processing to make them ever more accurate. So something to watch out for and periodically check the current state of play.

The firmware for this prototype is available from my git hub repository https://github.com/AndyKirby/Firmware/tree/master/InertialLogger please note it is a work in progress rather than a finished item.

MAKE:SHIFT:DO

On Friday October 23rd we took part in MAKE:SHIFT:DO. A creative open day run by the Craft Council. Also taking part at Portland Works was James Wallbank who was doing Laser Cutting tutorials.

We displayed a number of our ongoing projects and had a few interested parties. Photos below.

Portland Works was the only location in Sheffield to be taking part in MAKE:SHIFT:DO this year and 1 of only 4 locations in Yorkshire as a whole.

We hope to run a similar (if not much, much better) event next year.

Quite a a set up here with @shhmakers and @portland #MakeShiftDo

A Tweet mentioning us from the Craft Council.

A number of projects running including a 3D printer and pirc running in the background.

A number of projects running including a 3D printer and pirc running in the background.

A handful of our visitors.

A handful of our visitors.

3D Printing Examples

3D Printing Examples

A poster advertising the day.

A poster advertising the day.

Links…

DigiStump DigiSpark Arduino and Debian 8 64bit

UPDATE 2016-02-02: There is an updated version of the script below which also works with the DigiSpark Pro. See below.

In the space recently we’ve been playing with the super low cost Digistump Digispark 16.5MHz boards and the Arduino 1.6.5 environment.

Unfortunately there are some issues with these working out of the box with 64-bit versions of Linux (we use Debian 8 64-bit) as one of the attached binaries is compiled for 32bit only. However, after some major head scratching, I have managed to get them to work reliably.

To get them to work. You need to install the Digispark hardware library as normal and then follow the steps below.

Installing the DigiSpark library

Add the following line to the Additional Boards Manager URLs in File –> Preferences. If you have previously added boards to this list, you will have to separate them with a ; or use the button to edit it in list form. If you need an in-depth guide, there’s one in the links at the bottom from everyone’s favourite Adafruit.
http://digistump.com/package_digistump_index.json

Fixing the missing bits

Once you’ve done that, you will need to download the following script (I’d of included it as a downloadable file, but someone disabled it on our server)…

#!/bin/bash

# Adds necessary libraries and UDEV rule for using the Digistump DigiSpark boards in Arduino 1.6.5 on Debian 8 64-bit
# Written by James Muirhead. 2015-10-12

# This works on the 16.5MHz original Digispark. Has not been tested on other varients.

# Checks if you are root, as this is required.
if [ $(whoami) == "root" ]
then
# Updates apt then installs 2 necessary libraries and their dependencies
apt-get update
apt-get -y install libusb-dev lib32stdc++6

# Adds UDEV rule which adds the DigiSpark device to the dialout group, same as required by Arduino IDE.
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="0753", MODE="0660", GROUP="dialout"' > /etc/udev/rules.d/99digispark.rules

# Restarts UDEV to enable the above.
service udev restart

echo "DONE!!!"31
else
echo "You need to be root to run this script, use su / root to try again."
fi

Right, once you’ve got the above copied into a file called e.g. digispark.sh you will need to make it executable. To do this, you will need to log in as root (type su at the command line and type your root password). Then type the following to make the file executable.

chmod a+x digispark.sh

Ok, once the file is executable, stay root and run the following…
./digispark.sh
This may (or more likely will) take some time, so leave it till it’s done what needs to be done.

Once finished, close and re-open the Arduino IDE.

DONE!!!

Once this is all done, you should be able to upload a sketch to your DigiSpark without problems.

Links

Update 2016-02-02

I’ve written a new version of the script above which also works for the Digispark Pro. Follow the same instructions as above, but use the script below instead. It is longer, but does a few more things.

And, just because I’m feeling nice, I’ve put it on GitHub to make life easier.
DOWNLOAD NOW

#!/bin/bash

# Digispark installer.
# Written by James Muirhead.
# 2015-10-12
# http://www.sheffieldhardwarehackers.org.uk

# CHANGE LOG
# 2015-10-16 - Only installs 32-bit extensions if 64 bit OS detected.
# 2015-11-04 - Now creates UDEV rule for DigiSpark & DgiSpark Pro.

if [ $(whoami) == "root" ]
then
apt-get update

# Installs required library.
apt-get -y install libusb-dev

# Checks for 64-bit environment and installs required 64-bit extensions.
uname -a | grep x86_64
if [ $? == 0 ]
then
apt-get -y install lib32stdc++6
fi

# Creates UDEV rule for DigiSpark
echo "# Rule to allow use of the basic DigiSpark (ATtiny85) board in the Arduino IDE 1.6.3+" > /etc/udev/rules.d/99digispark.rules
echo "# Written by James Muirhead (@PhantomFreak), 2015-10-12." >> /etc/udev/rules.d/99digispark.rules
echo "# http://www.sheffieldhardwarehackers.org.uk" >> /etc/udev/rules.d/99digispark.rules
echo "" >> /etc/udev/rules.d/99digispark.rules
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="0753", MODE="0660", GROUP="dialout"' >> /etc/udev/rules.d/99digispark.rules
# Creates UDEV rule for DigiSpark Pro.
echo "# Rule to allow the use of DigiSpark Pro (ATtiny167) board in the Arduino IDE 1.6.3+" > /etc/udev/rules.d/99digispark-pro.rules
echo "# Written by James Muirhead (@PhantomFreak), 2015-11-04." >> /etc/udev/rules.d/99digispark-pro.rules
echo "# http://www.sheffieldhardwarehackers.org.uk" >> /etc/udev/rules.d/99digispark-pro.rules
echo "" >> /etc/udev/rules.d/99digispark.rules
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="0753", MODE="16d0", GROUP="dialout"' >> /etc/udev/rules.d/99digispark-pro.rules

# Restarts UDEV
service udev restart

echo "All done, please close all open Arduino IDE windows & reopen before attemptting to upload code."
exit 0
else
echo "You are not root, please use sudo or su to continue."
exit 1
fi

Mam Tor Kite Aerial Photography

Several members of the group attended Geeks in the Peeks recently (4th-6th September 2015). As part of this on the Saturday, we decided to take my Kite Aerial Photography rig to the top of Mam Tor to see if we could take some photos. I brought along my Raspberry Pi based system (A model A with a camera module, air pressure sensor, USB wifi card (for the web UI preview and start/stop/shutdown buttons) and LiPo battery) which takes images every 7 seconds, on average while airborne.

The wind was nice and smooth and resulted in the Kite flying very stably. This helped produce some very clear and well focused images with little smearing effect (common in gustier winds). See below for some examples…

008

Image 8

022

Image 22

051

Image 51

066

Image 66

067

Image 67

Relative Altitude data for period of use.

Relative Altitude data for period of use.

NB: In the graph above, you can see that towards the end of the flight, the camera appears to be below the starting altitude. This is caused by the kite camera taking the initial reading on altitude (based on air pressure) while it is already some way up above it’s ground level starting point (it takes a little while for the Raspberry Pi to actually boot up to the point it can run the code to control the camera). However, as you can see the highest image was taken at 40m above the start altitude. From the spreadsheet the Pi makes, I can tell you it was image 29.

Image 29, highest in the series.

Image 29, highest in the series.

Kite and camera in flight above Mam Tor

Kite and camera in flight above Mam Tor

From the above you can see the Kite clearly in the sky as well as a brown spec hanging from it, this is the Raspberry Pi kite camera hanging from a Picavet device (this allows the camera platform to always be level while in flight suspended below the kite’s string).

Andy restraining AJ to prevent him being pulled away by kite.

Comedy moments… Andy restrains AJ to prevent him being pulled away by kite.

For more information of Kite Aerial Photography, start with Wikipedia and see how you get on. However, if you have any questions or a desire to see a full & in-depth article on KAP, please leave a message below and I’ll be sure to start work on it. There is also a great YouTube video from the folks at Make Magazine here, this was in fact the original inspiration for me to get into Kite Aerial Photography after I left University.

For more information on Geeks In The Peaks, please see their Twitter & attending.io pages.

Salvaging Lead Acid Batteries

Working on a previous project to make a prototype Pi UPS I pulled a number of salvaged lead acid batteries out of the scrap bin.

Battery Resuscitation through Desulfation

Battery Resuscitation through Desulfation

It quickly became apparent that the batteries were all flat and as each had a terminal voltage of around 0.5V they appeared to be beyond life ever again. Not surprising considering the number of years they had lived in the scrap bin without ever having a charge.

Initial attempts to put a charge into them and get them going again were without success. Even over voltage-ing them a little to get them started failed miserably. The best of them was taking around 10 micro amps. After leaving them on charge for 5 days or so the situation had not improved. So what were we looking at ? Maybe they had dried out, maybe the plates had fallen apart and were now mush or maybe being overly discharged the plates were caked irretrievably in insoluble hard lead sulphate crystals.

There are plenty of miracle cures for dead lead acid batteries and desulfation. Frankly I am rather sceptical of most of them. But for some reason I thought although slightly implausible desulfation was a fun hack to try. Chemical means to reverse the crystal build up were out as the batteries are sealed units. So it was time to rummage through the internet for ideas and then hit the scrap bins again for parts. The circuit I settled on is here Pulse Desulfator Doc. This formed the basis and the prototype as shown in the photo was a derivation of this.

Having nothing to loose other than a bit of time constructing and debugging it I set too to build it. The inductor was a hand wound approximation, the logic inverter shown in the schematic was replaced with a simple transistor based inverter using a 2N2222 NPN transistor and the mark space ratio of the 555 astabel circuit needed adjusting. Probably because the inductor value was a touch lower than it should have been. But in the end it appeared to be working.

Now the acid test (see what I did there….). From the picture you can just see the ammeter on the bench PSU showing the battery taking a charge of 200 milli amps. So success. It took 2 days of float charge plus the desulfator pulsing away to get this recovery. Over this period the input current could be seen steadily increasing, whereas before with a stable DC supply it had just sat there and done nothing. The open circuit voltage of the battery at the time of writing now shows 4.5 volts so there is a way to go yet. It could be a couple of weeks or so before the battery is as recovered as it ever will be. In reality I can’t see them ever being “as new” however a trick worth knowing about and trying when salvaging neglected lead acid batteries.

Not to self if trying this with an old car battery check the electrolyte levels first and be prepared to except that the plates could just be mush and the battery beyond recovery.

Prototype Pi UPS

After advocating for a while that it is worth running up services on Pi Servers one at a time as needed. It occurred to me that we have no UPS to keep them going when the mains electricity drops out. We also have no way to prompt services to shut down in an orderly manor under the same circumstances. This gets to be more critical when we are running infrastructure services like RfID door access and a space automation MQTT broker.

An uninterruptible power supply for the Raspberry Pi

An uninterruptible power supply for the Raspberry Pi

Being as I am also running similar services at home I needed a similar solution for home. Sounds like a call to hack then, first stop was the junk and scrap bins, then a quick rummage through the spare bits left over from Chinese AliExpress shopping trips.

I found an ex UPS maintenance free lead acid battery that had sat in the scrap bin for too many years and a couple of these tiny 3A SMPSU DC-DC switcher modules that are incredibly cheap. The SMPSU modules can cope with up to 28V input and the output voltage is set by a small potentiometer. I also found a scrap laptop PSU that had a decent current delivery at under 24V. All in all the most expensive bits were the screw terminals that you can see from the picture I used to make conections to the board.

Lead Acid batteries have the useful property of being low maintenance and they will take a float charge providing you supply them with a constant voltage at the maunfacturers reccomended value. They will sit there on this float charge for as long as the battery will live. So after a quick rummage on the internet the first switch module was adjusted to provide a constant voltage at the manufacturers reccomended float value of 6.85V for the battery shown. The battery and input to the second switch module were conencted in parralel across the output of the first switcher. The ouput votlage of the second switcher was set to the 5.1V that is best to feed Pi’s with.

That then was the prototype UPS finished. When the supply to the UPS fails the battery takes over and supplys the Pi. When the mains supply comes back on the battery goes straight onto float charge and the Pi is running from the mains. Providing that the battery float voltage is less than the supply voltage and the Pi voltage is less than the battery voltage it all works. At 6V these thresholds are all a little close together and the UPS could do with a 12V battery and then adjusting to charge at that voltage instead. But this does work and the concept is proved.

The next task is to scale this up to run a whole shelf of Pi’s, with a mains high current SMPSU to drive the float voltage and supply the Pi’s, a salvaged car battery for the uninteruptible bit and one of these cheap tiny DC-DC SMPSU’s per Pi. But that is another article for another day.