Simple Pogo Programmer For ESP8266 Modules

ESP8266 development boards like the Wemos D1 Mini and NodeMCU are an excellent way to get a one-off project up and rolling quickly, but their size and relative complexity mean they aren’t necessarily a good choice for even short-run production hardware. On the other hand, programming the bare ESP modules can be something of a pain. But thanks to [Greg Frost], flashing those tiny little boards just got a lot easier.

His 3D printed design uses pogo pins to securely connect to the board’s castellated edges, which also holds it in place during the programming process. On the back side there’s just a few jumper wires and a couple of resistors, which ultimately lead to the FT232R FTDI board that actually connects the chip to the computer so you can program it.

We’d like to see a back panel that encloses the wiring, and perhaps an alternate version that deletes the space for the FTDI board in favor of a row of header pins. Both easy enough modifications to the basic design should [Greg] or anyone else feel so inclined. But even as it is, this is a great little programmer that can be sourced and assembled easily and cheaply.

This isn’t the first 3D printed ESP8266 programmer we’ve seen, and there are some improvised versions which are even cheaper to put together, but this design has a certain professional look that we think will be right at home on your bench.

Automated Cat Feeder Leaves Little To Chance

We often like to say that if something is worth doing, then it’s worth overdoing. This automatic cat feeder built by [krizzli] is a perfect example of the principle. It packs in far more sensors and functions than its simple and sleek outward appearance might suggest, to the point that we think this build might just set the standard for future projects.

The defining feature of the project is a load cell located under the bowl, which allows the device to accurately measure out how much feed is being dispensed by weight. This allows the feeder to do things such as detect jams or send an alert once it runs out of food, as well as easily adjust how much is dispensed according to the animal’s dietary needs. To prevent any curious paws from getting into the machine while it’s doling out the food, the lid will automatically open and close during the filling process, complete with optical sensors to confirm that it moved as expected.

All of the major components of the feeder were printed out on a Prusa i3 MK3S, and [krizzli] says that the feed hopper can be scaled vertically if necessary. Though at the current size, it’s already packing around a week’s worth of food. Of course, this does depend on the particular feline you’re dealing with.

In terms of electronics, the feeder’s primary control comes from an ESP8266 (specifically, the Wemos D1 Mini), though [krizzli] also has a Arduino Pro Mini onboard so there’s a few more GPIO pins to play with. The food is dispensed with a NEMA 17, and a 28-BYJ48 stepper is in charge of moving the lid. A small OLED on the side of the feeder gives some basic information like the time until the next feeding and the dispensed weight, but there’s also a simple API that lets you talk to the device over the network. Being online also means the feeder can pull the time from NTP, so kitty’s mealtime will always be on the dot.

Over the years we’ve seen an incredible array of automatic cat feeders, some of which featuring the sort of in-depth metrics possible when you’ve got on onboard scale. But we can’t help but be impressed with how normal this build looks. If nothing else, of all the feeders we’ve seen, this one is probably the most likely to get cloned and sold commercially. They say it’s the most sincere form of flattery.

Simplified AI On Microcontrollers

Artificial intelligence is taking the world by storm. Rather than a Terminator-style apocalypse, though, it seems to be more of a useful tool for getting computers to solve problems on their own. This isn’t just for supercomputers, either. You can load AI onto some of the smallest microcontrollers as well. Tensorflow Lite is a popular tool for this, but getting it to work on your particular microcontroller can be a pain, unless you’re using an Espruino.

This project adds support for Tensorflow to this class of microcontrollers without having to fuss around with obtuse build tools. Basically adding a single line of code creates an instance, all without having to compile anything or even reboot. Tensorflow is a powerful software tool for microcontrollers, and having it this accessible now is a great leap forward.

So, what can you do with this tool? The team behind this build is using Tensorflow on an open smart watch that can be used to detect hand gestures and many other things. They also opened up these tools for use in a browser, which allows use of the AI software and emulates an Espruino without needing a physical device. There’s a lot going on with this one, and it’s a bonus that it’s open source and ready to be turned into anything you might need, like turning yourself into a Street Fighter.

A Printed Case For Your ESP Environmental Sensors

We’ve said it before but it’s worth repeating: rolling your own hardware solution is ridiculously easy these days. If you want to make a network attached environmental sensor, you wire a DHT11 up to an ESP8266 and you’re done. Time to move onto the software. In fact, it can take longer to come up with some kind of suitable enclosure for your hardware project than it does to assemble the thing.

Which is why [Pixel Hawk] has come up with this elegant 3D printed enclosure for the ESP8266 and ESP32. It’s designed to hold the microcontroller in the bottom compartment, while the environmental sensor (either the DHT11 or DHT22) is mounted to the top so it’s exposed to the outside. The case snap fits together so you don’t have to worry about gluing it, and there’s even an opening so you can keep the USB cable plugged in.

In the notes for the design, he mentions that in testing it was determined that the heat of the ESP itself can skew the temperature readings. So he recommends putting the microcontroller to sleep whenever possible, and keeping reads short so the enclosure doesn’t have time to heat up. He’s also created an alternate version of the case with more openings which should help combat this issue if you need to keep the chip awake.

If you’re looking for a complete solution, [Pixel Hawk] has included the source code he personally used to get his ESP32 sensor talking to Blynk, but you certainly don’t have to go that route if you don’t want to. There’s no shortage of existing projects out there that will help you get started with whole-house environmental monitoring. Our very own [Elliot Williams] happens to be partial to MQTT when he wants to get all his gadgets to play nice.

In Case You Cannot Make It To An Escape Room

Escape rooms are awesome for people who like to solve puzzles, see how things work, or enjoy a mystery. Everyone reading this falls into at least one of those categories. We enjoy puzzles and mysteries, but we have a fondness for seeing how things work. To this end, we direct your attention to [doktorinjh]’s “Bomb Disarming Puzzle in a Suitcase” Game, which is a mysterious puzzle box he built himself. I guess the mystery is mostly in the gameplay, which you can watch below because he shows us his build photos and describes the hardware inside.

At its heart is an Arduino Mega, a wise choice since our back-of-the-napkin estimation puts his I/O count over forty-five and the Mega can handle them all with a few pins to spare. Working inside the confines of a briefcase came with its own challenges, but we adore the way he used the hexagon theme in the top panel to allow for knob clearance. It was so subtle that we almost missed it.

The escape room theme is delightful, and we appreciate the mix of games, aesthetics, and techno-trickery in many forms.

Continue reading “In Case You Cannot Make It To An Escape Room”

How To Run ML Applications On Particle Hardware

With the release of TensorFlow Lite at Google I/O 2019, the accessible machine learning library is no longer limited to applications with access to GPUs. You can now run machine learning algorithms on microcontrollers much more easily, improving on-board inference and computation.

[Brandon Satrom] published a demo on how to run TFLite on Particle devices (tested on Photon, Argon, Boron,  and Xenon) making it possible to make predictions on live data with pre-trained models. While some of the easier computation that occurs on MCUs requires manipulating data with existing equations (mapping analog inputs to a percentage range, for instance), many applications require understanding large, complex sets of sensor data gathered in real time. It’s often more difficult to get accurate results from a simple equation.

The current method is to train ML models on specialty hardware, deploy the models on cloud infrastructure, and backhaul sensor data to the cloud for inference. By running the inference and decision-making on-board, MCUs can simply take action without backhauling any data.

He starts off by constructing a simple TGLite model for MCU execution, using mean squared error for loss and stochastic gradient descent for the optimization. After training the model on sample data, you can save the model and convert it to a C array for the MCU. On the MCU, you can load the model, TFLite libraries, and operations resolver, as well as instantiate an interpreter and tensors. From there you invoke the model on the MCU and see your results!

[Thanks dcschelt for the tip!]

A Tiny Terminal For Your Serial Access Needs

Some pieces of computing equipment have faded away without a trace, for example a modem is not a device that detains many hackers as they strive for that perfect emulation of a venerable Hayes on an Arduino. But there are some other devices that continue to hold a fascination, even years after they departed from the professional arena. A great example is the serial terminal. Once to be found on many a desk as it provided a way into a minicomputer, it has long ago been supplanted by terminal emulators or simply other portals into computing services such as the web. But in our community there are still plenty of serial terminals to be found, for example [RedHog]’s little emulated VT220 on an ESP8266 platform.

If you were hoping for a full-green screen and keyboard to plug into a hefty D-connector serial port then you’ll be a bit disappointed, as with a tiny screen and only a few buttons on a dev board or an Arduboy it’s not going to allow any 1337 vi mastery even with its on-screen keyboard. Take a look, we’ve placed a video below the  break. But despite all that it shows promise, with ability to use either the logic-level serial port or the USB serial interface. We can see that it might find a use as a serial display though, but it would fascinate us to see what could be done were it to use the 8266’s on-board WiFi in some form. If you’d like to experiment you can do so with the code on GitHub.

This isn’t the first such terminal we’ve seen here before of course, some of them have been extremely practical, while others we just want to own because they’re cool.

Continue reading “A Tiny Terminal For Your Serial Access Needs”