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.

Justin

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;

RJ12

RJ12

RJ45

RJ45

Fritzing Files

RJ12Connector

RJ45Connector

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.

SafeDuino – Part 02: (Partial) Parts test

I have now got some of the equipment for my SafeDuino, as has been mentioned previously I have selected Freetronics for much of my kit for this, sure I could make most of it manually, but I do prefer it being on a circuit board to make it that bit easier to mount.

So far I have obtained the following from a local Jaycar store

  • Freetronics EtherMega
  • RGB LED, This may yet be changed, as something I would like to do would be easier if I just had the RGB LED itself without the board, well rather easier without the IC on it, the board is prefered however.
  • Humidity sensor, Freetronics board mounted, however it is a “common” DHT22
  • Reed Switch, this came from my stash of components, but was originally from Jaycar as well
  • 2000 Ohm and 8000 Ohm resistors to make a voltage divider
  • NDriver Transitor relay, this is to allow me to turn on/off the LED light strip

Good news is all parts have so far passed testing, now its just a matter of waiting for the rest of the items to arive, in the mean time however I will not be slacking I will be using a simulator  (Simulator for Arduino from Virtronics) and the components already at hand to start work on this project.

Whats worse is I have already decided on my next project, several (as we have several locations on the property that require it) water tank level sensors, based upon the Freetronics EtherTen, this one has been chosen for that project as I can use the Cisco POE switches I have at home to power it from the network, meaning no external power requirements

SafeDuino – Part 01: Down The Rabbit Hole

Arduino, an easily programmable microcontroller has been around the traps for several years now, but having been out of this “game” since high school I have not given it a second thought until recently when I have wanted to start doing a little home automation, or rather monitoring (for now at least) for my own purposes. Out of this has been born my first Arduino project, SafeDuino (cliché, sure but hey).

As the project name may have led you to believe, it is to keep things safe, but in this case I am not talking about physical security, I am talking about things that need to have temperature and humidity controlled, recorded and alerts sent when needed. Whilst there are commercial products that can do this, and probably by the end of it, will have been cheaper than building my own, the ability of the Arduino to do other things as well is where my interest lies.

Currently what I am planning on achieving with the setup is as follows;

  • Monitoring
    • Temperature
    • Humidity
    • Dewpoint (as its a calculation based on humidity and temperature
    • Magnetic Reed Switch (Door to the cabinet where it is house opening so I can track changes in humidity relative to the door opening)
    • 2 Buttons, used in conjunction with LCD Panel
  • Outputs
    • Turn on 12vdc LED Strip Lights upon the door opening (hey I might as well put the action of door opening to good use to use)
    • Turn on a 240VAC Dehumidifier (Ultimately)
  • Displays
    • RGB LED
    • RGB LCD panel

I am also determined to output the data to an web feed, either private or semi-public so I can log it and do long term analysis on the data., to this end I have determined to use the EtherMega from freetronics for the base Arduino board, as well as their humidity sensor, perhaps there RGB LED, their N Channel Transistor to drive the LED array, the reed switch is a Jaycar special, the LCD panel and a LCD shield will be coming from makershed.

Let the fun begin….