Occam’s Razor: Gardening Edition

While the impulse to solving problems in complex systems is often to grab a microcontroller and some sensors to automate the problem away, interfacing with the real world is often a lot more difficult than it appears. Measuring soil moisture, for example, seems like it would be an easy way of ensuring plants get the proper amount of water, but soil is a challenging environment for electronics and this solution often causes more problems than it solves. [Kevin] noticed this problem with soil moisture sensors and set about solving this problem with a much simpler, though indirect, method of monitoring his plants electronically.

Rather than relying on soil conductivity for testing soil moisture levels, he has developed an alternate method of determining if the plants need to be watered simply by continuously weighing them. The hypothesis that he had was that a plant that needs water will weigh less as the available water respirates out of the plant or evaporates from the soil. This means that using a reliable sensor like a load cell to measure weight rather than an unreliable one like a soil moisture sensor will result in more reliable data he can use to automate his plants’ watering.

[Kevin]’s build is based around an ESP32 and a commercially-available load cell which are all built into the base of the plant’s pot. The design hides all of the electronics in a pleasant enclosure and is able to communicate relevant info wirelessly as well. The real story here, however, isn’t a novel use of an ESP32 chip, but rather out-of-the-box problem solving by using an atypical sensor to solve this problem. That’s not to say that you can’t ever use other sensors to directly monitor your garden and automate its health, though.

Voice-Controlled Smart Home From The Foundation Up

Smart homes are becoming an increasingly popular way to automate one’s home, whether it’s turning on lights, closing blinds, or even feeding pets. But the commercial offerings often rely on an internet connection to reach servers in order to work, which invites a lot of privacy concerns for a large percentage of us as well as being inconvenient when the internet is down. Essentially the only way to have a privacy-respecting, self-sufficient smart home is to build one on your own from the ground up, which is exactly what [Xasin] has done with this project.

This build is based on ESP32 modules with a Raspberry Pi as a hub, but it’s not as simple as a MQTT implementation. Not only does the self-contained home automation setup not rely on any outside services, but a failure of the central Pi server will not impact the nodes either as they are configured to continue operating independently even without central control. This allows for a robust home automation implementation without a single point of failure, and also includes some other features that are helpful as well including voice control, all while retaining a core design philosophy that makes it relatively easy to build.

Not only is the build technologically impressive for its standalone capabilities and its elimination of privacy concerns, but [Xasin] also did an excellent job with the physical design as well, adding plenty of RGB and a hexagonal enclosure that gives it a unique look wherever its is placed. If you’re renting right now or otherwise unable to interface any automation with your current home, be sure to take a look at some projects that do home automation without making any permanent changes.

Continue reading “Voice-Controlled Smart Home From The Foundation Up”

Automate The Farm With Acorn

Farming has been undergoing quite a revolution in the past few years. Since World War 2, most industrial farming has relied on synthetic fertilizer, large machinery, and huge farms with single crops. Now there is a growing number of successful farmers bucking that trend with small farms growing many crops and using natural methods of fertilizing that don’t require as much industry. Of course even with these types of farms, some machinery is still nice to have, so this farmer has been developing an open-source automated farming robot.

The robot is known as Acorn and is the project of [taylor] who farms in California. The platform is powered by an 800 watt solar array feeding a set of supercapacitors for energy storage. It uses mountain bike wheels and tires fitted with electric hub motors which give it four wheel drive and four wheel steering to make it capable even in muddy fields. The farming tools, as well as any computer vision and automation hardware, can be housed under the solar panels. This prototype uses an Nvidia Jetson module to handle the heavy lifting of machine learning and automation, with a Raspberry Pi to handle the basic operation of the robot, and can navigate itself around a farm using highly precise GPS units.

While the robot’s development is currently ongoing, [taylor] hopes to develop a community that will build their own versions and help develop the platform. Farming improvements like this are certainly needed as more and more farmers shift from unsustainable monocultures to more ecologically friendly methods involving multiple simultaneous crops, carbon sequestration, and off-season cover crops. It’s certainly a long row to hoe but plenty of people are already plowing ahead.

Continue reading “Automate The Farm With Acorn”

Should I Automate This?

The short answer to the question posed in the headline: yes.

For the long answer, you have to do a little math. How much total time you will save by automating, over some reasonable horizon? It’s a simple product of how much time per occurrence, times how many times per day it happens, times the number of days in your horizon. Or skip out on the math because there’s an XKCD for that.

What’s fun about this table is that it’s kind of a Rorschach test that gives you insight into how much you suffer from automatitis. I always thought that Randall was trying to convince himself not to undertake (fun) automation projects, because that was my condition at the time. Looking at it from my current perspective, it’s a little bit shocking that something that’ll save you five seconds, five times a day, is worth spending twelve hours on. I’ve got some automating to do.

To whit: I use pass as my password manager because it’s ultimately flexible, simple, and failsafe. It stores passwords on my hard drive, and my backup server, encrypted with a GPG key that I have printed out on paper in a fireproof safe. Because I practice good cookie hygiene, I end up re-entering my passwords daily. Because I keep my passwords separate from my browser, that means entering username and password by cut-and-paste. There’s your five seconds, five times per day. Maybe two seconds, ten times, but it’s all the same. It shouldn’t take me even as long as twenty minutes to whip up a script that puts username and password into selection and clipboard for one-click pasting. Why haven’t I done this yet? I’m going to get on it as soon as I’m done with this newsletter.

But the this begs the question. If you spend up to twelve hours on every possible 25-second-per-day savings, when will you ever get your real work done? Again, math gives us the answer. One eight-hour workday * 25 seconds * 12 hours (pessimistically) of labor = 1.58 years before everything that needs automating will be. Next week’s newsletter might be a little bit delayed.

What do you see in the XKCD “Is it worth the time” table? Automate more, or step back from the cliff edge?

Garage Door Controller Gets The IoT Treatment

[TheStaticTurtle] built a custom controller for automating his garage doors. He wanted to retain the original physical button and RF remote control interfaces while adding a more modern wireless control accessible from his internet connected devices. Upgrading an old system is often a convoluted process of trial and error, and he had to discard a couple of prototype versions which didn’t pan out as planned. But luckily, the third time was the charm.

The original door-closer logic was pretty straightforward. Press a button and the door moves. If it’s not going in the desired direction, press the button once again to stop the motor, and then press it a third time to reverse direction. With help from the user manual diagrams and a bit of reverse-engineering, he was able to get a handle on how to plan out his add-on controller to interface with the old system.

There are many micro-controller options available these days when you want to add IoT to a project, but [TheStaticTurtle] decided to use the old faithful ESP8266 as the brains of his new controller. For his add-on board to work, he needed to detect the direction in which the motor was turning, and detect the limit switches when the door reached end of travel in either direction. Finally, he needed a relay contact in parallel with the activation button to send commands remotely.

To sense if the motor was moving in the “open” or “close” direction, he used a pair of back-to-back opto-couplers in parallel with the motor terminals. He connected another pair of opto-couplers across the two end-limit switches which indicated when the door was fully open or closed, and shut off the motor supply. Finally, a GPIO from the ESP8266 actuates a relay to send the door open and close commands. The boards were designed in EasyEDA and with a quick turnaround from China, he was able to assemble, test and debug his boards pretty quickly.

The code was written using the Arduino IDE and connects the ESP8266 to the MQTT server running on his home automation computer. The end result is a nice dashboard with three icons for open, close and stop, accessible from all the devices connected to his home network. A 3D printed enclosure attaches outside the original control box to keep things tidy. Using hot melt glue as light pipes for the status LED’s is a pretty nifty hack. If you are interested in taking a deeper look at the project, [TheStaticTurtle] has posted all resources on his Github repository.

Your Plants Can Take Care Of Themselves Now

One of [Sasa]’s life goals is to be able to sit back in his home and watch as robots perform all of his work for him. In order to work towards this goal, he has decided to start with some home automation which will take care of all of his house plants for him. This project is built from the ground up, too, and is the first part of a series of videos which will outline the construction of a complete, open-source plant care machine.

The first video starts with the sensors for the plants. [Sasa] decided to go with a completely custom module based on the STM32 microcontroller since commercial offerings had poor communications designs and other flaws. The small board is designed to be placed in the soil, and has sensors for soil moisture as well as other sensors for amount of light available and the ambient temperature. The improvements over the commercial modules include communication over I2C, allowing a large number of modules to communicate over a minimum of wires and be arranged in any way needed.

For this build everything is open-source and available on [Sasa]’s GitHub page, including PCB layouts and code for the microcontrollers. We’re looking forward to the rest of the videos where he plans to lay out the central unit for handling all of these sensors, and a custom dashboard for controlling them as well. Perhaps there will also be an option for adding a way to physically listen to the plants communicate their needs as well.

Continue reading “Your Plants Can Take Care Of Themselves Now”

Automated Balcony Shade Uses NFC

[Udi] lives in an apartment with a pleasant balcony. He also has three kids who are home most of the time now, so he finds himself spending a little more time out on the balcony than he used to. To upgrade his experience, he installed a completely custom shade controller to automatically open and close his sunshade as the day progresses.

Automatic motors for blinds and other shades are available for purchase, but [Udi]’s shade is too big for any of these small motors to work. Finding a large servo with a 2:1 gear ration was the first step, as well as creating a custom mount for it to attach to the sunshade. Once the mechanical situation was solved, he programmed an ESP32 to control the servo. The ESP32 originally had control buttons wired to it, but [Udi] eventually transitioned to NFC for limit switch capabilities and also implemented voice control for the build as well.

While not the first shade controller we’ve ever seen, this build does make excellent use of appropriate hardware and its built-in features and although we suppose it’s possible this could have been done with a 555 timer, the project came together very well, especially for [Ubi]’s first Arduino-compatible build. If you decide to replicate this build, though, make sure that your shade controller is rental-friendly if it needs to be.

Continue reading “Automated Balcony Shade Uses NFC”