I am NOT an electronics hobbiest

People call me many things, some polite, some not, some to my face and I am sure, some behind my back. One thing I have been accused of being, and that I am most certainly not, is an electronics hobbyist.

Certainly I use electronics, and my extremely limited electronics knowledge in many of my projects, but I certainly am not interested in the electronics, for the sake of the electronics, in fact I cannot think of much of less interest to me, and whilst I can understand the point of building electronics to test and build something so you can increase your knowledge, this is simply not me. I learn what I need to know to complete a project.

This has come about as at one client they are utilising Arduino’s in an educational setting, and on numerous occasions I have been asked to help out due to my knowledge surrounding them, now this is fine whilst they are doing some basic functions, you know, hello world kind of things, but so far for example I have had no need to learn how to control or manage servo’s so when that comes up, I am of little use.

What I DO build with electronics, are things that I cannot purchase off the shelf, yes I know its lazy, but like so many others I am time poor, I only build things that I have to build to achieve an outcome that I have decided I need, often times this is with the goal of some kind of automation, or reporting on certain states to conserve time on often wasted tasks that I would have to otherwise do.

One example of this, is the Particle Phone and electronic scales I am working on for the measurement and ultimate reporting of weight of a container of hydrochloric acid that is attached to the pool. The automated systems we have in place around the pool control PH, Chlorine to Salt conversion (through the use of ORP) and temperature on the solar controller. What it does not do however is tell me and report on the weight of the remaining hydrochloric acid, meaning constant checking of this one component. This project is simply to use a particle photo (or perhaps ultimately a ESP8266) to simply read with weight from a scales and report it back, and then either generate a push message or e-mail when the weight drops to a certain percentage(s) of the original (minus the approx weight of the container obviously). This reduces my need to check the system.

What this does not make me, is an electronics hobbyist, it makes me a maker, or perhaps an assembler, cobbling bits of off the shelf hardware and code together to make a task work. A true electronics hobbyist, would design the circuits, test them and go for a far greater efficiency than I am trying to achieve, as the photon is most definitely overkill for the task at hand in this case, and perhaps an ESP8266 is as well, I do not know, I do not care, I am after a working “product” at the end that can achieve my rather simple goals.

As I said, I am not an electronics hobbyist.


Smarter Sprinkler System

Irrigation (sprinkler) systems have come a long way since their inception, and even further since the advent of modern electronics, and with the modern Internet and the beginings of the Internet of Things (IoT) revolution they are getting smarter and are able to do more. One example of this is that where a “modern” controller can tell if it is raining, or has rained in the past period through the use of a rain guage, IoT devices such as the OpenSprinkler can now use forcast weather from the internet to make a decision about the watering. Linking this with things such as moisture sensor data can make these systems even smarter. This is however one thing that seems to be missing, the “smart” solenoid.

I am not a gardener by choice per-sey but more by nececcity, wanting to take more control of the food I and my family eat requires growing our own, which whilst easy in some respects, does chew up a lot of time.

Solonoids themselves are quite simple devices they use a magnetic coil to retract a metal (normally iron) core against a spring (which opposes the coil so the solonoid goes back to “rest” when the electrical current is no longer applied) to open or close a gate, if the gate is closed, water does not pass, open the gate, and the water flows through. Nice and simple.

What is not so simple however is the current requirement to run an entire cable pair, yes there are ways of theoretically doing n+1 (n being the number of solonoids) but in general its one solonoid its one cable (pair).

Now with cheaper, smarter, more capable electronics what is to stop us moving the “smarts” that for so long have been intergrated with the controller, on to the solonoid itself, you could then program it over the cloud, a RTC would allow it to turn on/off on a schedule, a hard link to a moisture sensor could allow it to turn on if the soil gets to dry, and cloud computing, or a local weather station could stop it watering if it has rained or is predicted to rain within the next allocated period, say 6 hours.

That gives you more smarts than are most old control boards are capable of, almost as much as modern ones are capable of.

But what if, now we have this connected to the cloud, and we can group them, in one or more groups to control when things are watered. Got tomatos that need watering twice a day but are at opposite ends of the garden, not a problem just create a group of two or more solonoids to control, put in the times and off you go, what about 3 areas, just at another solonoid, 4 areas so on and so forth.

But we are talking the cloud here…. it’s all seeing, all knowing. You could in theory not only control based upon groups, but what about plant types, if you could TELL the system that you were growing tomato’s and you could tell it how much water you want to give them, and when. If you wanted to you could even attach a flow meter to measure the amount of water delivered rather than base it on the arbitary value of time where the pressure and therefore amount of water could vary, with a flow meter you KNOW how much as been delivered.

What I am thinking is a bit light your LifX bulbs, but for solonoids. What about data, well that is easy you can do it through standard 802.11 Wireless, or how about XBEE back to a controller station, or even use a three cable wire to tap in to, using an addressing system such as I2C. In the end it does not matter so much about the how it works technically, so long as I can walk up, plug in the power (or power & data) and connect to the water piping, program it how I want and boom, it works.

Ah well we can all dream

SafeDuino – Part 05: First Released Part Sketches

Further to my last post on the subject I have had a little time, or rather made a little time and created two boards for use in the movement of power and data from the EtherMega to where it’s needed. The first is a RJ12 connection so 4 data pins are possible, the second is a RJ45 connection so 6 possible data connections.

Both boards are double-sided, and have multiple power inputs/outputs and are designed in such a way as to be stackable either vertically, horizontally or both to allow a layer cake effect for these connections, there is a row of single header pins at the “back” for the board and you can mount either horizontal or vertical pins in it, or as I intend to do, pins at an approximately 45 degree angle, but we will see how that works.

As the boards use standard header pins for all instances it is possible to integrate them into your own circuits, however where possible I would recommend integrating the RJ12/RJ45 part directly just to eliminate un-neccicary connections and components.

Anyway eithout futher adu;





Fritzing Files



SafeDuino – Part 04: Further Afield – A Complete Redesign?

After having not had much time to work on this project in the past few months, with a major half-million dollar project going on at one of my clients, which was/is the implantation of a new computer system of my own design that will be serving them for the next 20 years or more (well the physical infrastructure will be, the PC’s wireless, network, servers etc won’t they are replaced on a 3 year cycle, again on my insistence) and with one of the suppliers delivering critical components in excess of week late it has pushed back the final deployment for a couple of months as now I can only do core works on weekends and after hours, I have not had much time for this project.

What I have been doing/contemplating is two things however, firstly is whether I need an LCD screen/buttons interface, and I have decided that I do need one, this has become evident so that I can set up the system “in place” when it is finally deployed.

The other thing I want to do is be able to deploy some sensors and control circuits remotely, including some in hard to access places, well ones that once they are in they will not be easily accessible. To this end I have come up with the idea of using network cable for limited power (5VDC for system power) and command and control signals, and where required I will use Flat-Flex Cables’ (FFC’s)  to get into those tight spots that I cannot otherwise support sensors in. 

 What this leaves me with is a system that is essentially divided into three distinct parts, the main controller (the Freeduino EtherMega) the distribution node which is connected to the EtherMega via network cable, and the sensors and control points are connected to the distribution nodes via CAT3 (telephone) cabling or via FFC’s (which are limited to 18″) where required.

This now leaves me of working out how to select which pins go to which distribution point via the network cabling, this I am still trying to solve, however jumper wires are looking like the best option at this point

More Arduino Project Stuff

Just thought I would make a quick entry in a couple of spare minutes to state that I have decided to “split” the Arduino system, well rather the PCB’s as I was simply trying to do to much on one PCB so what I have done is split the power supply onto one board, and as I am splitting it I have taken the opportunity to add a second regulator to the design for 3.3volt along with its associated smoothing capacitors so I can integrate 3.3v electronics into the system in the future if I want, besides I can then intergrate the powerboard design into other projects making the extra PCB’s I will purchase usefull as most places have a minimum run of 4 or 5, which means that for the once of projects its not paticuarly useful, but if I design it right the first time I can use the board on other projects as well. On this board as well will be the two OPAMP’s and the linear optocoupler to allow for the monitoring of the power via a plug in lead to the board, meaning that in total there will be 2 leads to the board, the first one carrying power (12VDC, 5VDC, 3.3VDC and ground) and the second one being the voltage monitoring.

I will release the designs for it once I have built it and tested it

SafeDuino – Part 03: The goalposts change

Ok, I admit it… feature creep has officially set in on this project.

After doing the basic designs and working out I needed the EtherMega (from Freetronics) for the SafeDuino project, and consequently purchased some (I say some as I keep changing the design) of the components I decided that it was a “waste” of a mega to only use the small number of I/O’s I needed (but more than I could get from an ethernet connected UNO), and this is where the feature creep began.

So, now what I have is more of an environmental monitor not only for the cabinet it was to maintain originally, but also for the room/building it is housed in, this will allow me to do differential monitoring for parts of the building vs the areas I am going to monitor/control individually.

So far I have determined, that beyond the original cabinet it was going to monitor, the following are going to be monitored;

  • The building itself, this is to allow for differential comparisons and fluctuations in temperature and humidity to see if the things I am putting in place to control humidity are in fact working
  • Two other cabinets, including one humidor, just because I can 😀
    • Turn on/off humidification/dehumidification equipment and fans to allow for circulation in the closed environments based upon readings
  • Possibility of wine/beer fridges
  • External temperature/humidity
  • Solar Radiation (for estimating solar panel power generation)
  • Background radiation, this is more of another because I can thing, being able to monitor radiation (Alpha, Beta, Gamma) in the background of the environment long-term will be useful in the future just to see the changes over time, I will be connecting it to one of the sensor networks that have popped up after the Fukushima accident
  • Internal and External light sensors, again to see how it affects temperature/humidity in the closed environments/building
  • Same goes for door/window openings

I am sure there is more to come, in fact I know there is, I have 40 odd pins to fill up :D.

In addition to these added features, I have decided to add some protection to the arduino itself through the use of optocouplers/optoisolators to isolate the external electronics from the device itself, where possible anyway, this will also take some of the current loading of the arduino board. So far I have confirmed that the 4N25 optocouplers work, and I have tested those which I have purchased to ensure they operate correctly.

I am still to get a few linear optocouplers for use the with the voltage divider to allow me to monitor the voltage in the battery system.

Considering ultimately that the EtherMega will be powered via POE (supplied by the switch, so a proper 801.11af regulator, which is being done to ensure monitoring will continue even if the batteries for the lights etc fail) there will be no load on the batteries apart from a few mA for sensors and alike for the most part, but I will be configuring the reed switches for example to be Normally Open (NO) so that there is no power going through them when they are not activated (apart from what is used by the resistors to keep a proper ground) I should be able to maintain this for a long period with just the batteries, and with a solar charger, I should be able to maintain this use of the system indefinitely.