Archive for the ‘Home Control’ Category
Home Control September 2014 Update
Streuth.. I’ve just realised I’ve been running this blog since 2005! Doesn’t time fly. My interest in using Atmel technology for home control started with an article I wrote back in 2012 simply called “Home Thermostat”. At that time I was just playing – but messing with prototypes really isn’t much fun so shortly thereafter I design the “UberBareBoard”. That article was followed up by my first attempt at home control over the Internet and part 2 by which time I was starting to see some real potential for not only my home but our holiday cottage business and for our place in Spain. Then came more updates as I got to grips with the more powerful Atmega1284p chip and started to develop my own PC-based test tools. By July I had it all figured out – or so I thought – using RF24NETWORK software providing a mesh-type network of radios still using the NRF24L01 radio.
Amazing how things change. The NRF24L01 boards which – I’ll grant you are cheap, continue to function poorly –they do not like stone walls and the RF24NETWORK is not a true mesh – you have to specify every node in the mesh which makes replacing boards a lot of fun.. and it really cannot handle one of the boards going offline. Finally, no-one has yet made effective use of interrupts when using these radio boards in a network – which puts further limitations on what you can do – as you spend your time constantly polling the radio network.
Over the summer, my pal Aidan and I have been working hard – we now have a decent Atmega 1284-based board to work with – you’ll see it below. Late July I discovered the Radiohead library – the nearest our little processors have come to seeing a proper mesh network.. but that now pushes the 328 chips out of the window – as the library takes them near the limit of their available program memory and as for the tiny 2K of RAM – just not enough. For boards at the end of the chain, perhaps – and I have 3 working installations using these – but for the master board, the 328 is no longer an option.
In August while enjoying the sun, it hit me – the NRF24L01 chips don’t have the ability to know how strong the incoming radio signal is – so how the hell can a network possibly know which is the best unit to route the signal through – and that started me on the hunt for alternatives – which brings us neatly into this post.
If you’ve been following my blogs you’ll know about my on-going work on home control but firstly you’ll see the phrase “Arduino” bandied around. I use this merely for convenience as I use a lot of the Arduino libraries out there – but my boards are home-grown. I’m particularly fond of the Atmega1284p chip because, unlike the standard Arduinos you see our there, this has 4* the RAM – which means it’s less likely to run out. It also has 4* the FLASH memory – so just when Arduino sketches are running out of room, the 1284p is just getting started.
I used to use hand-made boards and there are plenty of those lying around, but these days I’m using a design we put together called the “Aiduino” – so-called because my pal Aidan did the board layout. This particular design has stood the test of time and I use these on everything. It has space for both 3v3 and 5v regulators, the chip, the usual support components and that’s about it.
You’ll see a typical Aiduino above with edge connectors for all the port pins and an SPI connector near the middle. I don’t bother putting the programming interface on the board as the low-cost FDDI interfaces do that all for you – why waste valuable board space. I simply allocate a 6-way connector on the edge of the board for programming.
Armed with these boards, I have LCD display controllers (for wall mount displays), a master controller with Ethernet card and “slave” units to control lighting etc. All of these units talk to each other using NRF24L01 radios which are very cheap 2,4Ghz popular radio modules. There are two problems with these radios – firstly they are very low power and secondly they are on the same radio broadcast range as just about everything else including WIFI – and they DON’T like stone walls.
I’ve looked at the cheap FSK units as used in radio remotes – no-where near powerful enough.
Aidan and I are investigating some Atmel chips with on-board radio – these look promising but getting all of that running in the Arduino IDE and hence keeping access to the Arduino libraries – is proving a challenge but watch this space as he’s working on this right this minute. We’d like to produce (where others have failed) a tiny radio module which runs on SPI and which internally handles all the mesh coding and massive buffering – as well as offering other functions to take the load off the main boards.. Meanwhile…
I’ve looked at the RF22 modules – but these come from the USA and hence are a little expensive (inc. postage).. but only in the last few weeks have I discovered even cheaper Si4332-based radio boards from China which are compatible with the RF22 modules and hence can work with the likes of the Radiohead library for Arduino – a simple but fully functional “mesh radio” library. Not only that but these radios and library combined, unlike the slightly less expensive (but only just) NRF24L01 units, make good use of interrupts to ensure you can actually do something else while the radios are working!!
See the radio on the right – that’s one of them. They are tiny which poses a problem for prototyping as the edge connector is 0.05” pitch – but it’s do-able with care.
Below you’ll see one of my bodged Aiduinos which has the radio board mounted on top of the 1284P chip. If this all pans out I’ll make a board that incorporates the radio… and in the process of research I’ve found out some interesting things about these little radios.
I can say that I’ve had 3 of these running in mesh mode and the range covered by 3 equally spaced units (the centre one acting merely as a message relay in this case) covers from my garage, to my greenhouse – through 4 stone walls and an intermediate lightweight wall – which is WAY better than the NRF24L01 chips can manage.
At first I managing a couple of message round trips a second – I needed to get the speed up to dozens of round trips a second in order to allow me to, for example round-robin poll several units to update the mobile phone.
Well that worked too thanks to some help from the designer of the Radiohead library – a change from the library defaults brought me to 100 package round trips a second – when I say package – we’re talking about, say a 20 byte package going there and back – and with additional maintenance bytes (from, to, ID etc.)
The chip used in these radios, the Si4332 is supposed to handle a maximum +20db output – I managed +17db – but I’m convinced the little spring aerials are now the limiting factor – with full power I can now get through 2 stone walls but not right across the house.. but WAY better than the NRF24L01 chips even when the latter have stub aerials.
To run these radio boards, they need 3v3 power. Our Aiduinos run on 5v but have 3v3 out. You can feed the one output from the radio directly but the inputs to the chip might be damaged by direct connection to 5v logic – one option is a level convertor, another is a resistive divider. I found that for the 3 inputs that need it, 470r series resistors do the job just fine (The NRF chips work off 3v3 but will accept 5v signals directly). Why don’t I just run everything off 3v3? Speed and driving other devices, that’s why.
I’ve now modified the Radiohead library so that I can also get a flag when data is passed THROUGH the unit so it’s now possible to indicate the success of not only incoming packets but those passed on elsewhere – very handy for debugging and there’s nothing wrong with pretty lights anyway.
So there it is – what looks like a reasonably inexpensive radio solution for home control and with a tiny mod, the standard Ethernet library handles the Atmega 1284 chips no problem – it’s detailed in here somewhere but boils down to adding the chip to one of the library conditionals for the Mega boards. I did notice when these radios are running constantly, a slight decrease in range of my plug-in-the-wall mains controller handsets as they are on the same frequency range – but in my application, such all-out non-stop transmission would only occur when say the mobile phone is actually polling the units – otherwise it’s just about occasional updates and checks. As for the handsets interfering with the network – they don’t – maybe thanks to the frequency-hopping technology embedded in the boards. Incredible technology for such a low price.
Far more to come in the future. I plan to add moisture detection for our plants, gas monitoring for the home, I already have lighting and heating control working in 2 of the properties. I also have IR remote control and radio mains control underway. Do look in.
This is the latest to date in my series of articles on home control which started with my original article on a cottage thermostat in which I envisaged a very simple controller. Then came the UberBareBoard article about an Atmega328-based Arduino clone, initial attempts to master the NRF24L01 radio. The next article was the first item entitled home control and after this – then part 2 and then the winter update – then the April 2014 update and then things really started to move as I discovered better networks – then came the full mesh article – by this time I had everything starting to run the way I wanted things but for the radio network – as you’ll realise by now, that issue is starting to disappear.
The Return to Rain
After several weeks of flawless weather in Spain, it’s been a struggle getting back into the swing here in the UK where it is raining more often than not. Still I can always look over there using my cameras to remind me of the sun.
Meanwhile, after months off due to a death in the family and then a broken foot (you can’t make this stuff up) Maureen is now back to work and meanwhile I’m about to embark on a series of meetings taking me from Blackpool to Crewe and onto London. It’s going to be a busy week.
Over the weekend I’ve been catching up with emails, finding out what’s going on at work – and doing a little more research into my home controls as well as catching up on episodes of “Cosmos” – which I intend to continue this week as I’ve loaded up the tablet with remaining episodes to catch late at night in my hotel (well, it beats hotel TV). Got the Bluetooth headphones all charged up and ready.
While we were in Spain I ordered a pair of cheap SI 4432-based 4.33Mhz transceivers and I had high hopes for these after the abysmal results I’ve been having with 2.4Ghz radios thanks to interference from WIFI, cordless phones and a thousand other sources of radio crap.
This weekend I tried the PA-enhanced version of the NRF24L01 radio to help me expand my home control setup – one worked – the others failed as they often seem to do – I can’t get to the bottom of it other than to suspect there is an issue with SPI (communication) speed and these radios – as the cheap ones work every time. Others have said similar. Having abandoned the more expensive types, I used my air gun to remove the aerial from one and grafted it onto one of the cheap versions. As you can see in the image below, it looks ok – simply a matter of cutting the original aerial track – 5 mounting holes and a couple of VERY short wires.
I can say for sure that the aerial-enhancement modification is robust and improves range – but I doubt it it even doubles the range which still remains pitifully short in a stone building – and of course the cost to buy these adaptors and aerials individually far exceeds the cost of them as part of a radio!
I then tried the 433Mhz units which came complete with a coiled spring aerial. I carefully put two of these units together using our Arduino look-alike boards. These are not easy to use as the edge connector is 0.05” centres – you really need a fine soldering iron which I just so happen to have. Despite all that, I ended up with one board (apparently) working – it the code was working – but the other remained defiantly dead. So many things could be wrong – the code, the wiring, the interfacing… these are 3v3 boards and my Arduino clones are 5v. I fed the boards with 3v3 and ran the inputs to the radio via resistors. I’m pretty sure that part is correct.
In the process I found a bug in the Radiohead library I’ve been using and the authors fixed it almost immediately which is nice.
The end result looked a little messy due to wiring and resistors – but actually I was quite pleased with the overall fit for a first attempt – not so pleased with one unit apparently dead.
When I checked, the other board had 2 pins shorted – no matter what I did I could not find the short – I can only imagine it was under the 0.05” connector – even a magnifying glass showed no issues – and attempting to remove the connector with the air gun resulted in the board’s destruction. I now have a 2 week wait before I can progress this one (not that it matters as I’m in meetings for over a week). The hope is that these 433Mhz units will have a better chance of going through thick stone walls – I’ll have to wait and see. Next time I’ll nix the connector. I’m also interested in the new cheap WIFI embedded units which can be bought from Ebay as low as £8 – for now however both the embedded software and the instructions are in Mandarin so that will have to wait a while.
In a couple of weeks I’m going to spent time with a friend as we examine the powerful Atmel radios, not in the same price class but it’s worth exploring all avenues.
Enjoying the Summer of 2014
Lots of info on Facebook and the blog over at www.bedrock.es – right now, Maureen is off with her bad foot to Pilates down in Galera village – we managed a nice trip to Lake Negratin yesterday and last night I did the usual G8 thing, meeting the Brits down at the bar in the village – we had a very nice evening.
Today I’m sitting here catching up with emails, organising websites (I have them all over the place and I’m consolidating to eventually get to one provider) and working on my home control system so it is reliable over the winter.
I’ve had more than my fair share of problems with the home controller kit here…
1. The heat is generally far more than you’d see in the UK so it’s no unusual to see my office here at 28c – way higher than the UK – this and less than perfect mains power has taken out a number of cheap power supplies. Now I’m using higher rated supplies with success.
2. It seemed like a good idea at the time – as we have wireless Internet here (by which I mean a dish pointing down to the town centre) and the cave is not well suited to drilling holes for wires – I put in an over-the-mains setup with little TPLink units plugged into the mains. Turns out they are not AT ALL reliable and the quality varies for numerous reasons including the amount and type of data you send over them. So – I’m putting everything back onto either WIFI where sensible or hardwired. Thankfully network cable and connectors are dirt cheap here in Spain. Just a matter of drilling holes.
3. My home control coding took a leap forward a little while ago with proper wireless networking – unfortunately like many others I’d not realised quite how sensitive my little NRF radios are to interference, especially from cheap Chinese switched power supplies. That is now resolved and the radio network is working a treat.
I now have the control unit sending me TWEETS reliably when certain events occur – and that’s great. Just need now to get a whole boatload of supplies from the UK
Home Control – The Full Mesh
I’ve been working on home control now for many years on and off both professionally and today as a hobby (for now). This blog documents the latest state of play.
My first attempt at home control years ago took the form of a bunch of boards talking to each other around a building by cheap telephone cable. Simple as that may be it can be a deal-breaker when it comes to wives who don’t like wires! Today this needs to be handled as far as possible, wirelessly.
Talking to a home controller via mobile phone is a no-brainer – simply fit Ethernet capability to an microprocessor board and there are solutions out there for talking to mobile phones, one which takes some work but which yields one of the best visual interfaces to date is NETIO. I’ve developed my own Android software and that works well, but for now, visually, NETIO remains my tool of choice – though lack of updates from the designers is starting to grind a little – such is the way of Apps.
To get instructions delivered around the building, for the last year I have been struggling with a low-cost radio called the NRF24L01 – these are readily available on Ebay and are small and cheap – however they do not suffer stone walls gladly and have somewhat restrictive range, due mainly to their choice of operating frequency – 2.4Ghz which just happens to be the same range as everything from WIFI routers to cordless phones and more. Their advantage – cheap.
Within that restriction they are quite reliable – I’ve sent hundreds of thousands of data packages in a row without error. In order to get past the stone wall issue, it’s no good having a controller simply talking to radio units (which is how you avoid wires all over the house), you need some kind of network so that units can pass message from one to another. Because the Atmel Atmega328 processors I use (custom variations on the basic “Arduino” theme) are limited in capacity, as is the NRF24L01 radio, up to now it has been impossible to to manage anything more than a limited form of hopping network where certain “nodes” or slave units act not only independently but also as “relay” nodes, passing messages on to others and hence increasing the range of the system.
What has always been needed was some kind of full mesh where all units can act as gateways to others and where the failure of one unit results in the mesh re-adjusting itself automatically to handle that. Up to now that’s been a dream but the software now exists to do this – called RadioMesh. The nearest anyone has come up with until now was RF24NETWORK, a simple network but not a mesh – in this network up to 6 units could each talk to 6 others and so on – the limitations included the need to specify exactly who would talk to who – so if one unit went down it could bring the whole network down. Accordingly I’ve been spending my evenings and weekends gutting my software to try to accommodate some new software which forms a “mesh”… and the work has paid off – I now have a rig up and running.
As you can see from the above, I’ve used the Atmel 1284p for the “master” unit – I long since gave up on the 328s for this – just not enough RAM or storage memory – and I’m now about 2/3rds through the 128K memory that comes with the 1284. On the other hand, “slave” boards which have no Ethernet can JUST about handle a range of functions and the mesh at the same time.
Each “slave” board has an output to control serial LED strip (which needs a separate 5v supply), 1 Infrared output, 3 normal digital outputs, 3 PWM outputs (again handy for LEDS), 2 general purpose analog (or digital) inputs and 2 temperature sensors. I’ve also incorporated an inexpensive 433Mhz transmitter to replace wireless remote controls – but that’s not 100% yet. The main board has an Ethernet Connection and also an optional output to an LCD display – the slaves also have similar outputs to an LCD display and in each case I made the decision to give the display it’s own intelligence – i.e. it’s own processor – so that I end up using the serial out on the slave boards and the SECOND serial out on the master for this purpose – hence the displays are optional without any software changes.
The master board is able to update Google Docs spreadsheets, send emails and Tweet – I’m currently still experimenting with the above as the email tools have a tendency to take too long to operate (but still work).
If you look up “Scargill home control” on Google you’ll find a host of earlier articles including some in-depth stuff and on YouTube I’ve detailed my experiences with the NRF24L01 radio units. Amazingly this has had well over 20,000 views! https://www.youtube.com/watch?v=VgmVYdSCNLs
Next steps – I’m working with a pal and we’re going to take a look at Atmel’s own mesh software for a chip they do with radio built in – we’ve a very tiny PCB on the way from China to test this out – also I’m pondering putting the radio part on it’s own 328 chip with a slave SPI interface in order to allow it to concentrate on radio reliability while taking a whole load away from the main board. It sounds over the top but given the very low potential cost of a 328 chip and crystal, such a solution would leave more memory and MUCH more program space in the main board for improvements and new features. Watch this space.
This all sprang up from my original article on a cottage thermostat in which I envisaged a very simple controller. Then came the UberBareBoard article about an Atmega328-based Arduino clone, initial attempts to master the NRF24L01 radio. The next article was the first item entitled home control and after this – then part 2 and then the winter update – then the April 2014 update and then things really started to move as I discovered better networks – and better radios in the the September update where I discovered Radiohead, the Si4332 and RF22 radios.
Home Control April Update
The home control system is coming along nicely and after a “weekend of code” has some nice new facilities, not the least being a new test desktop PC program and some new radio error checking. Add to that the recent work on week/weekend temperature program and it’s just about ready to roll to both the cottage, our house and Spain. One of the guys helping me has gone off with the first model to play with.
Firstly the Android/IOS App has been tidied up and some new screens put in the place – the first is shown on the left here and shows temperature monitoring, +-adjustments and hold-off (in days) which puts it on standby – useful for the cottage if it’s not in use. Dusk and dawn times are automatically calculated on a daily basis and any of the on-off controls can now include on from dusk until midnight, on from dusk until dawn etc.
The second page shows some demo NRF24L01 remote units and similar on-off controls with these.
The new internal additions allow for momentary radio failure and will temporarily log out and failed unit and it’s siblings to prevent slowing everything down. This was a major pain before as constant polling of units could slow things down. That is all now history.
The third page here can control serial LEDS – the new type with individual serial control. I’ve not yet implemented a simple means to change the lengths of these LED strips but that will come shortly. There’s no reason I can’t store this in EEPROM.
Note the various colour controls and sliders. The very bottom is just an experiment area.
Below right you’ll see the heating controls which allow setting main and fall-back temperatures as well as weekday and weekend timing controls. You should be able to enlarge these images by clicking on them incidentally.
Below all of that is a glimpse of the new PC testing software – just finished working on that and not yet turned it into stand-alone compiled code but that will come this week hopefully. It works perfectly and includes the ability to save profiles for testing different board scenarios.
What has made a bit of a difference is the discovery of the ease of extracting mains control PCBs from some of the low cost plug-in-the-wall Chinese USB supplies – the newer ones have very small boards capable of giving out over 0.5amps at 5v very efficiently.
So now it’s possible to make plug-in-the-wall radio units and masters no longer needing separate power supplies. Added a nominal level of security
Some way to go before I’ll be satisfied with this but it’s starting to look ok. I now have TWITTER alerts kind of running on the larger boards but the low-cost version still won’t have them – I’ve written off to the guy who designed the Ethernet library to see if that can be fixed.
All of this has come a long way from my early experiments with the NRF24L01 radio boards – which seems to have been a popular video https://www.youtube.com/watch?v=VgmVYdSCNLs but documenting this lot could take quite some time.
The only problem with the NRF24L01 boards is range – they are atrocious. Firstly they are very susceptible to noise and many people recommend putting an electrolytic capacitor on the board at the connector. I suspect this has to do with current spikes when transmitting. This does seem to make a difference. Secondly - they are in the same radio spectrum area as WIFI etc. Thirdly there is no way to gauge incoming signal strength and therefore when used with any mesh network software, it can’t tell which is the best connection to use – and finally – just because of the frequency band they operate in combined with low output, they won’t go through thick walls easily – I’ve seen their range reduced to a few feet in certain circumstances. On the plus side, they ARE cheap and though they need 3v3 to operate, the data lines happily work with 5v logic – most other cheap boards out there need level convertors which at the very least means a bunch of messy resistors.
On the right you see a little stand-alone Ethernet-driven board which is dirt cheap to put together.. that too has possibilities though of course it still needs an Ethernet lead to run. I’ve sent off for some inexpensive plug-in-the-wall mains USB supplies so I can rip them up and get the supply PCB out of them to power these units.
Somewhat frustrating that they are way too expensive when sourced in the UK but hey, at least they’re available.
That’s it for now, got a lot of work to get through before I can devote more time to this and awaiting feedback from various people to fix some minor library issues… but no doubt about it, the next house will be the one to watch for home automation…
Update July 2014: I’m in Spain and working with controllers here – the range of the NRF24L01 boards (or lack of it) is getting to be a severe problem. Investigating alternatives such as the Atmel processor with built in radio and some 800Mhz and 433Mhz transceivers.
This all sprang up from my original article on a cottage thermostat in which I envisaged a very simple controller. Then came the UberBareBoard article about an Atmega328-based Arduino clone, initial attempts to master the NRF24L01 radio. The next article was the first item entitled home control and after this – then part 2 and then the winter update – all the time learning more and more. And after this… July and the full mesh.
Home Control Winter Update
I’m spending some spare time right now working on the home control. My first system is working at home in the UK with a nice little 2-line LCD giving out useful information (as well as accessing that information on the mobile phone of course) but a little while ago we spotted some inexpensive colour LCDs from China – somewhat under £3 each – well you can’t let an offer like that go.
These displays need 5 resistors to work and some software – the library to drive them took some finding and it was originally quite slow but my friend Aidan changed it to work with SPI and I did some more and eventually we got these cheap displays to work perfectly. They look really neat but for some reason my camera just won’t capture the sharp and vibrant colours so you’ll just have to take my word for it. Nice displays.
And so – as of a little while ago – my first working MK2 is ready to go. As well as peak and standby heating control I’ve added a frost setting – up to 255 days hold-off during which time the heating will only come on if the temperature gets below 5c… handy for the cave in Spain perhaps.
The LCD display shows the current humidity, the date, the inside and outside temperatures, the set and fall-back temperatures along with the number of hold-off days. Below that is the current time (updated every second) and then the dusk and dawn times which are automatically calculated every day. The internal and external temperature displays along with humidity also have trend indicators not shown here.
All working and the phone displays you see are as they appear on my Samsung S4 smartphone… though I’m not currently actually controlling the heat in Spain but once back in the UK I’ll adapt this to work with the controller in Wark.
The main controller, having moved to the larger 1284 chip – now has all the I/O of the radio slaves and so can function as a stand-alone unit if necessary, simply plugged into the router to give remote control. I played around for a while with adding the display onto the main board but that was slowing things down and ultimately I’ve gone with sending a package out of the serial port so that a separate board, if needed, can handle the display. For my first shot I’ve done a colour LCD board with infra-red remote input – the idea being to add temperature up and down via infra-red for the rental cottage.
I did have 4 fader (PWM) outputs on each of the boards but in the latest update I’ve added a library to both to handle the new serial LEDs – the ones that can be individually programmed and I’ve added commands to change colour and brilliance on these.
The two diagrams below show the main controller utilising a 1284 chip (for extra memory and I/O) which in addition uses a standard Ethernet card and an NRF24L01 radio board…(getting 3v3 from the Ethernet card to feed the NRF)
Below that is a slave board which merely uses a 328 chip and again the NRF24L01 board (with 3v3 regulator onboard) for communications. The master is just cluged on breadboard for now.
This all sprang up from my original article on a cottage thermostat in which I envisaged a very simple controller. Then came the UberBareBoard article about an Atmega328-based Arduino clone, initial attempts to master the NRF24L01 radio. The next article was the first item entitled home control and after this – then part 2 and after this… the April update!
DIY Arduino–the “UberBareBoard”
Ok, so I’ve rekindled my interest in electronics with a vengeance. I’ve a load of gadgets I’ve been wanting and not finding anything reasonably priced out there I decided to get the soldering iron out and make them myself.
And so it was that I started looking at processor boards out there to make use of the popular Arduino design. I say design, the basic Arduino is really very little more than a manufacturer’s minimum setup – but the important thing is the volume of support software out there – in particular Ethernet software making it possible to create Internet-enabled devices such as my “EtherStat” Ethernet-and-infra-red-controlled unit which has now been on test for the past couple of weeks without a hitch and which will soon end up running Hollyberry Cottage.
None of the boards out there are without issue and so three of us collectively decided we’d have our own board and I took on the design job.
Armed with Eagle PCB package with which I’m well familiar (though I had some catching up to do) and a little imagination I set off putting this together from scratch - I should at this time thank friends Jonathan and Aidan for the encouragement and also the latter for checking my work and generating the “Gerber” files etc.
The result – here it is..I nicknamed it ”UberBareBoard” as it has everything except the kitchen sink in it (feel free to zoom in on any of these images which should expand or “lightbox” if you click on them).
The board follows the same form factor as the original Arduino though that was only by chance as I spotted an open-source version of the board outline and connectors. Having put several commercial boards together into various test projects, I came across the same problems every time – not enough power connectors, regulator getting hot, parts too close together, same pins used multiple times- and so what you see here is fairly simple but with sufficient extra pins to make life easy for lash-ups.
In the bare-board image above you’ll see on the front-left a 10-way connector – that’s for the cheap Chinese radio boards. Lower left there’s a 6-way connection – that’s pretty standard as are the outer connectors giving access to the 19 I/O pins and power and ground. Note top left the regulator is mounted flat on plenty of copper board (both sides) to dissipate heat and there’s room for a standard power connector (standard that is unless you’re Maplins who have a HOPELESS and hopelessly over-priced selection of connectors).
At this point it’s probably better to look at the populated board. Front right you’ll see a LED which is attached to D13, a far better place than making a power led as you can see the board working on power up (it flickers). Over on the right I’ve left room for a 3-pin infra-red receiver and a LED to go with that. Top right is the reset button, left from there the standard programming connector and left again (ie upper middle) you’ll see a power (+5 and GND) connector and a 2-pin battery connector. Relevant diode and charge resistor are fitted. The empty socket is for a 24c256 chip (64K EEPROM) and centre front you’ll see 2 diodes, they’re to drop the 5v supply sufficiently to use with the radio or Ethernet modules.
Mass production? No, we scoured the web for cheap UK prototype suppliers and ended up sending off to China for a set of 10 prototypes at a reasonable price – somewhat over a fiver each – and this for fully tinned, masked, cut to size prototypes of production quality. I’ll be using these guys again – turnover was little over a week.
I’m happy to say that apart from not having sufficiently small 1k resistors to mount them horizontally (that’s what I get for using standard library parts and not checking) and getting the mounting hole layers wrong (hence no mounting holes, quickly corrected with a drill) the boards work perfectly – and I have lots of plans for them.
This article was written as a follow-up to the original cottage thermostat article – and the first follow-up to this is here – NRF24L01 transceiver and Arduino.