It is truly amazing how how connected our homes are. Having electronic devises and digital assistants control items in your home on demand is a technological marvel. So much so that it becomes slightly irritating to have something that can’t be digitally controlled; until now.
This project starts in the same place that most engineering projects start, with someone being mildly inconvenienced. That person was me and the task was preparing a laser cutting job on my Glowforge. The Glowforge is an amazing machine that I love and Josh and I used it constantly. But, in order to set up a job to cut we would have to;
- Go out into the garage and turn on the machine in order to scan the material that we want to cut
- Come back in the office to digitally prepare the cut job
- Go back out to the garage just to push the glowing button.
- Cut starts
Again, I realize that this “problem” is extremely first-world, but hey, it can’t irritate if you innovate and this solution is pretty simple and can be used for many more IoT solutions.
1. Get an ESP8266 Microcontroller
You may be familiar with the Arduino micro-controller that I’ve used many times, but this project demands a few more capabilities. The ESP8266 micro-controller is wifi equipped and uses the same IDE programing language as the Arduino. This board mimics a WeMo IoT device that the Amazon Echo already communicates with. After a clever naming convention and coming up with some quippy voice dialogue, we can use this inexpensive micro-controller to talk with Alexa by pretending it is another device.
2. Setting up an Alexa Routine
Using the Alexa Routine functions, you can design a specific command that Alexa will listen for and then program a series of functions that she will do once those words are heard. In this case, we will program the phrase, “Alexa, push the button.” and then we will establish her response, “Sure thing Bob” and trigger a hit-torque servo with a fake finger attached to push the Glowforge’s start button.
After downloading the fauxmoESP library to the ESP8266 and disguising it as a WeMo IoT adapter, we just had to “name” the device. This process is just like setting up a new IoT gadget in your home by naming it, “Kitchen” or “Bedroom Lamp.” In this case, I’ll name it “Button.” Now this is where the Alexa Routine comes in. You can establish a routine by setting up a series of actions when Alexa hears a specific command. As we established earlier, I’ll say, “Alexa, push the button” and the routine will be to turn on Button and respond, “Sure thing Bob.” When the ESP8266 receives the Turn On-Button signal from Alexa, it will execute the code we entered and actuate the servo to push the Glowforge’s start button.
3. Making a Finger
Because Glowforge wants users to physically press the start button before a cut, I decided to make a proxy. In the absence of my actual finger pressing the start button, I decided to make a silicone mold of my index finger and cast it in resin. This began with a trip to a craft store to get a small batch of molding silicone. I cut a small plastic cup so that my bent finger could comfortably rest in it while the silicone cured. I mixed all of the kit’s silicone which was the perfect amount for a small mold.
It was time to dunk my finger in the silicone, which was really strange. Although the package said that it sets in 30 minutes, it took more like an hour and a half. Once the mold was stable, I popped my finger out and mixed up some West Systems Epoxy to fill the void. I added an aluminum bracket inside the epoxy so I had a flat surface to mount the servo.
4. Assembling the Pieces
With the finger cured, the micro-controller programmed, and a beefier servo installed on a piece of scrap MDF, it was time to connect all the components. The bent finger had to mounted in a way that applied pressure straight down when actuated. After a few placement tests, I screwed the finger bracket to the servo arm and connected it to the ESP8266. In order to maintain pressure when the finger pressed the button, I decided to stick the whole assembly to the Glowforge with some Command strips that could easily be removed without damaging anything.
I positioned the robot-finger on the Glowforge, stuck it down, and hooked up power. After telling Alexa to turn on the Glowforge and the exhaust fan, which were both already hooked up to IoT devices, it was time to test the new system. I was so excited that the crazy finger robot actually worked. It was positioned perfectly and applied just the right amount of downward pressure to press the button before returning to its lifted position!
The Possibilities Are Endless!
I know this application is kind of silly, but it really does improve our productivity when we laser cut projects. The point of this is to introduce you to a simple device that may solve a problem in your home. If you are new to programming, this is a fun introduction. The components are inexpensive, the code is very easy to understand and manipulate, and it can work with a virtual assistant you may already have. I’ve linked all of the articles and tutorials that I used to make the ESP8266 work as well as the Github link to download the code for this project. I can’t wait to see what you do with this board!
(purchasing via these affiliate links supports ILTMS)
Finishes & adhesives I like:
- Glowforge (laser)
- Amazon Echo
- Amazon Echo Dot
- ESP8266 Micro-Controller
- jumpers (Male to Female)
- Soldering iron
- Third hand kit
- Wire strippers (not the ones I have, but good ones)
- Thin solder
- Anti static mat
- Fiskars cutting mat
- Plastic parts cabinet (24 drawer)
- Plastic parts cabinet (64 drawer)
- Precision Screw driver kit