Jan 15

Pimped-Out DIY Alarm Bell Box

For reasons of general sensibleness and security I won’t go into much detail about exactly how my DIY Alarm Bell Box is configured to work in relation to actually keeping thieves away. Suffice to say: network of sensors indoors and out, differential siren sounds depending on alarm state, iPhone notifications and emails to neighbours (seriously, I will be doing the same custom install for them, they are very nice people. And big. Very very big. 7 foot. And they have dogs. Dogs that eat anything.)

So the thing pictured below looks like a dummy box, it’s sold as a dummy box, but it is far from a dummy box.

It’s sold on eBay for £9.10 including postage from a UK seller (that price is without “dummy LEDs” – I’ll be adding my own thanks), and it does rather fortuitously have a rather sophisticated plastic moulding design inside that allows the placement of alarm sirens, LEDs, internal housing boxes, and incoming cables.

Cheapo alarm sensor casement  £9.10 including postage

The box itself is not IP66 rated, but that’s not a problem because I have bought from Maplin an internal component box and some anti-mould silicon sealant which will do the job of making sure the electronics I’m about to pimp this thing up with stay nice and dry.

So what’s going into this puppy?

Arduino Nano, obviously. And a tiny red W5100 break-out board to provide networking. Oh and this cool super-tiny buck converter to allow me to power the thing over ethernet:



And the cool stuff? Why not:

  • Vibration sensor (for anti-tamper)
  • BMP180 Barometric pressure sensor (we always need to know outdoor pressure, right?)
  • BH1750FVI Ambient light sensor. This is mounted under the blue window, but it doesn’t matter because the serial output needs calibrating to some kind of meaningful scale anyway, so it’s all relative
  • DHT22 Temperature and Humidity sensor. Because it’s wrong not to
  • 4x ultra-bright red LEDs
  • 4x ultra-bright blue LEDs
  • 4x ultra-bright green LEDs
  • 2x cheapo very loud buzzers (Maplin and eBay – £2 each – different pitches)


The astute amongst you will notice I’ve already maxxed-out the pins on the Nano, but LEDs will be in groups of 2, meaning 6 pins. This still gives me Knight Rider options. More importantly it allows me to use a number of signals to would-be burglars.

I may even use these addressable LEDs with driver, if I can be bothered not to program individual LEDs myself.

Naturally the thing will report sensor values on their own individual MQTT topics back to my OpenHAB server which stores all data for historic purposes.

And naturally the thing will respond to commands such as:

  • Make discreet but audible warning beep to potential intruder in back garden when house armed
  • Make screaming noise when house security has been compromised (this of course along with iPhone notifications / emails sent to me and three other nominated contacts. I’m lucky, I have cooperative neighbours who will take care of these things)

Such commands will be triggered in OpenHAB from network of sensors inside and outside the house, including vibration sensors on doors etc.

Will I get a twitter notification when a cat / dog / fox moseys into the back garden? Probably.

And the fun stuff:

  • Using a series of fun flashing sequences, alert me when I walk down the road whether wife, child, or both are home. (FYI I’m not really married.)
  • Using a series of fun flashing sequences, alert me when I walk down the road that I should have brought an umbrella as the forecast shows it’s going to rain in the next 4 hours
  • Using a series of rather serious and angry flashing sequences alert me that I left the window open when I left the house
  • etc.


Jan 15

How Kerning Could Save Your Life

As someone who buys electronic goods from China on a regular basis, I am used to looking closely at the CE logo to check how close together the letters are.

For my buying habits it doesn’t matter. I’m dealing with low-voltage stuff. The worst that could happen is a component might overheat and cause a fire in my loft space melt a bit.


It’s not that the Chinese make dangerous electronics. It’s just that they (I should be specific; “they” means the Chinese Export regulatory bodies) don’t do a great job of checking whether the electronics they do make are safe, or whether they are likely to kill you.

I’m probably splitting hairs.

Recently I bought a job lot of COB – as in “corn on the cob”, or “Chip On Board” – LED light bulbs. Gladly mine were safe by design, but as this video shows I got lucky.


Jan 15

Home Automation PoE with Arduino – in praise of DIY PoE!


First up I’d say in any professional environment there’s no way I’d recommend anything but “proper” PoE, that is to say 802.3af or PoE plus.

For DIY home installations, however, we can do things differently. And I don’t mean “substandard” by any means. Rather we can do them in a more tightly-spec’d way, we can design our own system of distributing power that is equally efficient in terms of power loss, and equally reliable… but far cheaper.

(The reason you wouldn’t inflict this on a corporate environment is not because it isn’t as good, but rather the next guy / girl who comes along won’t spec the replacement power supply properly, and blow something up. Also DIY jobs tend to vary in quality, whereas using a PoE switch and device gives a standard of power distribution quality that can be relied upon. We DIY types do things properly, we are masters of our own home, and we know how to do basic maths, so it’s okay, right?)

DIY PoE with a buck converter - dodgy connections fine for prototyping but we can do better

DIY PoE with a buck converter – dodgy connections fine for prototyping but we can do better


I suppose I would sing the praises of DIY PoE for the home, because when it comes to electronics I love doing things myself.

This isn’t true with computers, I can’t be bothered to faff around swapping RAM out or upgrading motherboards for my own gear any more, although I used to love doing that. Perhaps that’s because in the 90s desktop PCs were the rage and to play better games you had to have the better video card, which required knowing how to change the video card, which meant knowing how to build a computer. I don’t play games any more and I certainly don’t remember the last time I used thermal paste on a CPU. Or maybe it’s because there are no cost gains to be had with DIY computers these days.

Not so with PoE!

Below is a little chat about PoE, and at the bottom of the post I’ll go into what I am using in my wall controller project.

Most computer / network techies already know the basics when it comes to PoE, but this post seeks to shed some light on the choices to be made when considering PoE for Home Automation.

Why PoE? (Skip this if you already get it.)

Most wired network devices also need some way of powering them. Wireless Access Points, network cameras, intercom systems, control panels, they all need power – but if you are already taking a network cable to them, why not use that cable to also deliver power to them as well? Here are two benefits: no need to hire an electrician to extend your ring mains to awkward places, no ugly extra cables on wall-mounted devices to compound the felony.

Certainly in the case of my uber wall control panels, they are being sited inside wall boxes at various points in the house that don’t require power. To bring power to each panel would be a lot of extra cables in walls, and the installation cost would increase hugely. There’s spare capacity in a CAT6 or CAT7 cable, why not use it?

Active vs. Passive PoE

“Passive PoE” is a bit of a misnomer, but that aside – here’s a comparison.

Active PoE is industry standard in business, and involves sending 48V down a network cable to the device. The power usually* comes from the network switch itself, and the device has some special electronics that talks to the switch on the other end of the wire and negotiates power using a series of signals (resistance detections and presentations of loads). It’s pretty complex, and in fact PoE isn’t really one standard at all. (“The thing I like about standards is that there are so many to choose from…”)

The other thing the device must do is step-down the voltage to whatever it requires.

* Many people use mid-span injectors, that’s where the switch doesn’t supply power but you can inject power using a separate device. This gets messy if you have very many devices requiring power, but as a general rule fine for the odd one or two.

Passive PoE is a system that simply splits your ethernet cable at both ends, allowing you to place your own power supply at one end, and then connect your device power to the splitter the other end. No power negotiation – no voltage step-down.

There are shoddy implementations of passive PoE, and there are lovely ones.

A common example is where, instead of hooking up a power supply directly to where your security camera is installed, you can install a splitter at both ends. On the camera end, your splitter has a little power plug that connects to your camera (sinking power), and on the other end your splitter has a socket that connects to the power supply (sourcing power).

Active PoE – pros and cons for home use


  • Higher 48V transmission over cable means lower voltage drop-off = decreased power loss (saving money on bills).
    • NB Passive PoE allows you to supply whatever voltage you like, but more often than not it’s used with existing 12V or 9V device power supplies
  • Power negotiation is great because it means that a device is only allocated the power it requires; where there are more than a few PoE devices, this quickly becomes a sensible idea for all aspects of a system (cooling, conserving energy, etc.)


  • PoE switches are usually expensive (£350+)
  • PoE switches are usually very noisy (bad for the home environment). You can find cheap fanless switches such as the Cisco 2960C-12PC-L or D-Link DGS-1008P/B, but most smaller switches tend to have PoE capability only on half the number of ports (e.g. 8 port switch has PoE on 4 ports).
  • PoE requires your Arduino project OR your network device must support it. Network devices supporting PoE are usually far more expensive.

Re the last point, it’s possible to include some electronics that will supply your Arduino project with PoE but they cost £16 on top of the network shield:

From Sparkfun: a network shield with PoE module (the black board that sits vertical on the shield)

From Sparkfun: a network shield with PoE module (the black board that sits vertical on the shield)

£160 for 10 units, not including the network shield!

Or you could get an Arduino with built-in network and PoE, such as the excellent EtherMega. These are wonderful, but this is even more expensive.

Finally you could get your own chip and include this in a project but it’s still about £6 per unit, see Silvertel Ag9800 themal protected 12vDC module.

Passive PoE – pros and cons


  • Reduced complexity for your project. No inherent need for power negotiation electronics, or step-down converters (unless you want to)
  • Far cheaper. PoE passive injectors cost £20 for 8 ports. You supply your own power supply. Of course, no extra electronics at the device end, so it will support most things that come with their own power supply. Your Arduino project may need no special electronics, depending on how you implement it. In my case I added step-down voltage at the other end, read on for more info.


  • Most devices want to run at 9, 12, 15, 18v DC. At these lower voltages, the power loss over cables is significantly higher. This requires thought about two things:
    • Electricity bills – are you wasting money?
    • Power tolerances – will your device work reliably if running from a slightly lower voltage?
  • An extra hub in your comms cabinet = double the number of patch cables = more mess

Which is best?

So which is better for Home Automation? Looking at the Passive PoE cons, I can live with the extra mess, but really how much power is lost over a CAT6 cable?

Joule’s Law

If we can minimise power loss, perhaps we can justify the cheaper option as our cable runs in the home won’t be so long. Let’s take a closer look.

According to Joule’s Law, if we keep the voltage high then DC electrical transmission power line loss will be low. So the first thing we want to do with passive PoE is get the voltage as high as we can (within reason – we are talking low voltage systems here!)

On the other hand, the higher the voltage on your Arduino, the less efficient the conversion down to 5V will be, this is because your Arduino has a linear voltage regulator which is not wonderfully efficient. Also the harder you drive that voltage reg, the hotter it gets. And don’t forget the acceptable voltage input range that your particular Arduino can handle – check the data sheet!

As you can see it’s a trade-off. The best option is to use a non-linear voltage regulator, aka a switch-mode power supply or buck converter. Obviously this is places at the same end of the CAT5/6/7 as your Arduino, so you can benefit from lower power loss over the cable.

Pros of using a separate buck converter to power your arduino over ethernet:

  • Doesn’t get as hot = safer for home installations
  • Doesn’t waste as much power in the conversion down to 5V. Buck converters are typically 95% efficient. Linear regs’ efficiencies depend on a number of factors such as how hard you drive them, but they are generally 50-70% efficient. (I’ve pulled these numbers from the air!)
  • Means you can put a far higher voltage down the line, e.g. some small buck converters can take 30V down to 5V without getting too hot. This in turn means less wasted power because of Joule’s Law.

Cons of using a separate buck converter

  • Introduces another component that takes up space on your circuit board or project board
  • Can introduce EMI (electric noise) to your circuit, which means you need to be careful about how you design your circuit, and how you lay out your circuit board.

For an excellent introduction to buck converters, check out the videos of Julian Ilett or Afrotechmods on Youtube.

For the sake of answering my own question above, “how much power is lost over a CAT6 cable”, I measured 12V down a 20m cable sinking 400mA at the end of it, and the power had dropped 0.9V. This is fine, but it will vary for cable runs, so let’s run at a higher voltage and not use the Arduino’s in-built linear regulator.

In the end I found this lovely little device on eBay. You can pick them up for £8.30 for 5 = £1.66 each including shipping. Search for “Ultra Mini DC Buck Converter”.

Cheap as chips. (Actually cheaper.) Ultra mini buck converter.

Cheap as chips. (Actually cheaper.) Ultra mini buck converter.

Strangely the auction says “12V to 5V Power Supply 7-22V to 5V”. I think that means you can get them in various flavours outputting anything from 12V to 5V. Lower down on the auction it says “Output Voltage: DC 5V”, so that’s okay. I tested them before I hooked them up and the voltage was a very reliable 5V… although I didn’t test with different current draws, only about 550mA.

Incidentally if anyone with an oscilloscope has used these before, let me know how clean the output is.

They also come in 1A and 2A flavours, I plumped for the 2A versions of course. I’m sceptical about driving 2A from it and I don’t plan to do that ever!

This “Fulree” branded cheap buck converter seems like the same thing as one you can get from Sparkfun:

Sparkfun Buck Converter - tiny

Sparkfun Buck Converter – tiny

I’ve no doubt the “Traco Power” branded one, also available from Farnell, is superior in quality, shielding, and design. But it’s £5 and I’m a complete cheapskate. (i.e. I’m making 20 of these things and every little saving will reduce my total project cost from thousands to hundreds.)

You could also buy another type of buck converter, even cheaper but not as compact. It exposes the whole circuit on a board of its own and is based on the LM2596 switching regulator. If you do, make sure to watch Julian Ilett’s warning video on not getting a dodgy version:

The other alternative is to include your own buck converter circuit in your project using components from scratch, but there are some design challenges you must be aware of and the components stack up to be more like £3-4 – not worth it. See this beautiful Youtube vid from Afrotechmods for more info.

What cable to use with DIY PoE?

We don’t normally bother about cable gauge when it comes to CAT6, as performance is more about minimising cross talk, shielding, and data transmission speed – not wire thickness. Well, of course the latter does affect the former, but either way for the pursuit of low cost PoE, we must consider this.

Do get good quality CAT5/6/7 cable – preferably CAT6 minimum for PoE. I measured a single strand of my CAT6 cable. The cable measured 0.6mm diameter on my Vernier scale, which is approximately equal to 23AWG. I’m using LSZH (low smoke zero halogen, aka LS0H) infrastructure cable, that is, rigid non-stranded cable that can bend a few times but is not designed for regular movement. Good for home installation if a little rigid. It cost £100 for 305m reel from a local electrical reseller.

My wall controller project

After a whole load of price checking and electronics research, I decided on this solution for powering my Arduino over ethernet:

  • Standard network switch
  • Cheap 8 port PoE injector (£20 each)
  • Re-use old Dell power supply (free if you have them already)
    • 19.5V = perfect for longer runs
    • High power (90W or 60W), high quality
      • 90W split 8-ways is 11.25W per port
      • Almost certainly enough for your project, unless you are powering motors or lights
      • P = VI. My project uses max. 450mA at 5V, so that’s 2.25W.
      • 2.5W. Don’t forget to do a back-of-fag-packet calculation for power loss and include a lot of headroom. Include line loss, and assume 5-10% loss in the buck converter
    • Chop connector off and replace with 2.1mm connector
  • Fulree buck converter at Arduino end. Connect both browns to GND and both blues to IN (check wiring standards and verify this yourself!)
  • Split ethernet cable at Arduino end and use PCB block connectors. I may develop this to route power through the W5100 board in the future, but right now this works for me.
  • Connect output of buck converter to Arduino’s 5V connector.

I do have a PoE switch at home, but given the amazing cost benefits of the above option, and the fact it makes a big noise, I’m not going to use it for my project.


Jan 15

The spec for the ultimate home control panel

A number of months ago I became obsessed with the idea of controlling my room lighting using knobs in the wall. Crazy, I know 😉

Seriously though, most lighting automation systems do not use rotary controllers (i.e. knobs), but rather you have to keep your finger on a button until the desired light level is reached. Isn’t that so 1990s? Knobs are the way forward. Worse still, many only let you select “scenes” without even controlling individual light level. So I set about making my own digitally controlled lightswitch. The process has been one of research and learning new skills. Soon enough I stumbled upon the ultimate way for things within the home to communicate with other things: MQTT.

Here are my design goals for the ultimate home control panel for each room.


Use physical buttons and lights NOT touchscreen. I find touchscreens great for web browsing but when I want to control lights and volume I need an accuracy and responsiveness that can only come from;

  • tactile switches with visual feedback
  • rotary controller knobs
  • display screen showing levels as percentage (i.e. numbers) for fine adjustment

Look sexy. DIY metal faceplates with push buttons conjure-up images of 1970s style control panels. Disabled toilets. Hobby aeroplane remotes. I’m going with brushed stainless steel faceplates with no visible screws, smaller LED-integrated tactile buttons, matching brushed steel knob.

Use numbers on the display. In the increased sexification of home automation, things have become too touchy-feely. Having controlled lights and music from my iPad, I get annoyed if you press in slightly the wrong place, or need to make that super-fine adjustment. Also I get annoyed by the ubiquitous slider and the lack of information it provides the user.


  • The faceplate must run at low voltage, requiring no special electrical certification
  • Connected with ethernet (CAT5, 6, or 7)
  • Powered over the same ethernet cable
  • Fit within a back-box readily available in shops: 47mm depth max


  • Use “Scene” buttons to quickly select the lighting mood in a room
  • Dim individual lights in a room to create your own scene
  • Quickly cycle between different lights in a room
  • Control music volume and see what’s playing (track title and artist)
  • Similar to light scenes, there should be audio “favourites” (i.e. radio channels, playlists, shuffle mode for a given genre, etc.)


  • The unit is designed for a range of functions, but can be expanded later to incorporate more. e.g. lighting and audio modes have their special uses and displays. As it’s based on Arduino, the sketch can be updated by USB later.
  • “Thing” settings (i.e. how many lights in a room, the name of a light in the room, the name of a scene for a given room) should be queried from a server and downloaded to volatile memory at startup. These things are not stored in the unit.
  • We should be able to press an “update” button to pick-up the latest settings. Home automation installers and users change their minds all the time!


  • “WAF” is an offensive phrase used in #homeautomation talk. It stands for “wife adoption factor”. Maybe “GAF” – grandparent adoption factor? No – that’s swapping one prejudice for another. “HAF” will do nicely – human adoption factor. The controller must be the perfect balance between powerful and usable. I don’t mean “powerful for the geek, usable for the granny”. I mean “equally powerful and usable for both”.
  • This means: consistency of display and immediate access to primary functions. No menus, no prompts! Placement of buttons should be intuitive.
  • All light should cease when it hasn’t been touched for a while. No lights in the middle of the night!

The solution I’ve settled for is a “mode cycle” one. Like old digital watches. The mode button is set apart from other buttons and placed near the icon displaying the current mode. All other physical controls depend on the mode in question, and their function is intuitive given the placement.

Consistency comes from the unit defaulting back to a “primary” mode after x seconds of not being touched. The display dims appropriately.

Here’s a brief demo of the progress so far – January 2015: