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

The Hidden Cost of the Raspberry Pi (and other “cheap” SBC’s)

The Raspberry Pi and other small single board computers have really taken off in the past few years, especially with the burgeoning wave of development, both commercial, but mainly hobbyist of the Internet of Things (IoT) arena.

Now Raspberry Pi (I am focusing on RPi here because it kicked off the whole shebang in a big way, small SBC’s existed before then but they were not as widely available or used) was never intended to be a IoT board, it was originally intended to be used to teach programming to children. The success of this original project (with over 5 million, yes that is 5,000,000 sold) has not only spawned a myriad of projects but a whole bunch of clones and similar devices looking to capitalize on the success of the project.

With the hobbyist community getting a hold of these devices and putting them into various projects one has to question the cost of these devices. The devices for those who do not know cost US$25 or US$35 depending on the board revision however you also need to add a SD card (either standard or micro depending on revision), power supply, case (enclosure) and if needed a USB wireless dongle and you are looking at getting towards US$100, not as cheap as it sounds to be, and that’s in a basic headless configuration.

The other side to this is the environmental cost, with all these devices (remember there are 5 million RPi’s alone) floating around that will at some point in there lives end up being thrown out, and mostly into landfill it is not overly environmentally cost effective with all those electronics leaching chemicals and other materials over time. What causes this, upgrades to newer models or migrations to other platforms, or even loss of interest, the result is the same.

Now don’t get me wrong, I am not saying these systems are all wasted, or all an issue. Many interesting projects and products are developed from them, not to mention the education that people get from developing on and for these systems. What I am saying is that their use should be more specialized to where the processing power is actually required or used to aggregate the data (done through a technology such as MQTT), cache it and forward it to a more powerful management system (home server anyone).

Further to this, the idea here merges nicely with my move to containers (Docker) and my continuing work with Virtual Machines. If we take the services the RPi runs for each function and put them into a container, and that container syncing through either MQTT or directly through the applications services to a micro controller which then carries out the functions.

Why is this more efficient, because the micro controller only needs to be dumb, it needs to either read the data on the interface and report it to the server, or turn an interface on or off (or perhaps “write” a PWM value) to perform a function. This micro controller does not need to be replaced or changed when changing or upgrading the server, and can even be re-tasked to do something else without reprogramming the controller and only changing the functions and code on the mother controller node.

Much more efficient and effective. It does however have the downfall of an extra failure point so some simple smarts on the micro controller would be a good idea to allow it to function without the mother controller in the event of a failure but the MQTT controls are agnostic so we can work with that, at least for monitoring.

Opinions?

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

Project: HomeMadeMonitor

Yes, yes I know I should finish other projects first, but I have yet another electronics project I want to start playing with, and this post is more for a reminder of what it was I was aiming to achieve more than anything else.

As I have been falling more and more down the self sufficient/home made produce rabbit hole, I have noticed that I need more and more data for certain things, so that I can then act upon it, or even better yet, have an automated system to act apon it for me.

The two things I am thinking of, are specifically the (dry) curing of meats such as salami’s and the aging of cheese. Both these are reliant on maintaining the right temperature and humidity within a certain range for a prolonged period of time, ranging from weeks to years depending on what your wanting to achieve. Now in the past this has been what I have been designing SafeDuino to do, and whilst that does other things in addition to monitoring temperature and humidity, some of those more advanced are not needed by the monitoring and control software.

Whilst it may be more benficial to “recycle” code from the SafeDuino project. I am finding myself drawn more and more to the Particle Photon system for these basic requirements as not only as it generally cheaper than the Arduino’s (Freetronics EtherTen and EtherMega) I have been using, but it does come with built in WiFi. Conversly I then have to supply power to the device, either through a paraciticle connection to something else, a dedicated connection to it, or a Solar/Wind & Battery solution, where as the EtherTen and EtherMega boards (with the use of a PoE module) can pull power from the PoE switching equipment I have in the house. A wired connection is always going to be more reliable and faster anyway, although the speed is irrelevent when your doing so little data transfer. Using wireless also means I need to ensure that I have wireless access at each point on the property where I want a monitor, which is easier said that done when we have a large property, much larger than any one or two wireless points can handle, although this is due mainly to the construction materials of the buildings on the property and the distances involved.

This leaves me wondering how to achieve this. Given the design of what I want to achieve, being able to control one or more chambers, through one or more devices I am thinking I need to build it as to make extensive use of 1 wire and I2C technologies, ideally linking back to a Paricle Photon (it has considerably more processing power than an Arduino) and then back to a server. Simular to what they have done with BrewPi, but this means as I said above power supply issues to due no PoE connector, and connectivity issues…

Anyway I will think on it further, but I will most likely end up using the Particle Photon.

What I need to achieve however is rather simple, as I said above monitoring one or multiple “cambers” from a single root node (the Particle Photon) and reporting the data back to a server, where it can be further processed and acted upon if need be. These “chambers” can be joined, or independent, and may or may not have one or more common components (think combo fridge/freezer where the compressor is common to both).

Each “chamber” must be capable of having unique settings (within reason, you cannot expect it to keep one chamber at 30 degrees Celcius and the other at 10, its just not going to happen if you have common components) and be able to work out how to handle this.

I guess it is time to start designing (and finishing off other projects)

Have Fun

Justin

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

%d bloggers like this: