Meshtastic Does More Than Simple Communication

Meshtastic has been experiencing a bit of a renaissance lately, as the off-grid, long-range radio text messaging protocol gains a ton of new users. It’s been used to create mesh networks in cities, during disasters and protests, in small groups while hiking or camping, and for search and rescue operations. Although it’s connected plenty of people together in all of these ways, [GreatScott!] wanted to put it to work connecting some computing resources instead. He has a garden shed that’s too far for WiFi, so Meshtastic was used to connect it instead.

This isn’t a project to bring broadband Internet out to the shed, though; Meshtastic is much too slow for that. All he really wanted to do here was to implement a basic alarm system that would let him know if someone had broken in. The actual alarm triggering mechanism is an LED emitter-detector pair installed in two bars, one of which sends a 12V signal out if the infrared beam from the other is broken. They’re connected to a Heltec ESP32 LoRa module which is set up to publish messages out on the Meshtastic communications channel. A second module is connected to the WiFi at the house which is communicates with his Home Assistant server.

Integrating Meshtastic devices into Home Assistant can be pretty straightforward thanks to the various integrations already available, but there is some configuration to get these specific modules working as an alarm. One of the pins on the remote module had to be set up to watch the light bar, and although sending the alarm message out when this triggered worked well, the received signal never passed through to Home Assistant until [GreatScott!] switched to using the RadioLib library an an MQTT integration instead. But with perhaps more configuration than he planned for out of the way, [GreatScott!]’s alarm is up and running. Meshtastic projects often balloon into more than we had originally planned though, in more ways than one. You can follow along as our own [Tom Nardi] attempts to connect all of New Jersey with this new protocol.

Continue reading “Meshtastic Does More Than Simple Communication”

LEGO Orrery Gets A Real-Time Drive Upgrade

An orrery is a beautiful type of mechanical contrivance, built to demonstrate the motion of heavenly objects. LEGO happens to offer just such a device, built using its Technic line of blocks, shafts, and gears. Only, it has a serious limitation—it has to be cranked manually to make it spin the Earth around the sun. [Görkem] set out to fix this glaring oversight with some good old-fashioned hardware.

The setup removes just five LEGO pieces from the original design, eliminating the hand crank from the mechanism. In its place, [Görkem] installed a NEMA 17 stepper motor, paired with a custom PCB mounted on the back. That carries an ESP32 microcontroller and a TMC2208 stepper motor driver set up for silent drive. Rigged up like so, the orrery can simulate the motion of the Earth and Moon around the Sun in real time. There’s also a knob to track back and forth in time, and a button to reset the system to the correct real-time position.

The final build looks great, combining the LEGO Technic parts with some chunky electronics and 7-segment displays that make it a wonderful techy desk decoration. Down the line, [Görkem] hopes to offer a plug-and-play kit to others who wish to duly animate their own LEGO orrery sets (set #42179).

We love a good LEGO build around these parts. We’ve featured everything from parts sorters to functional typewriters in the past.

Continue reading “LEGO Orrery Gets A Real-Time Drive Upgrade”

Storing Image Data As Analog Audio

Ham radio operators may be familiar with slow-scan television (SSTV) where an image is sent out over the airwaves to be received, decoded, and displayed on a computer monitor by other radio operators. It’s a niche mode that isn’t as popular as modern digital modes like FT8, but it still has its proponents. SSTV isn’t only confined to the radio, though. [BLANCHARD Jordan] used this encoding method to store digital images on a cassette tape in a custom-built tape deck for future playback and viewing.

The self-contained device first uses an ESP32 and its associated camera module to take a picture, with a screen that shows the current view of the camera as the picture is being taken. In this way it’s fairly similar to any semi-modern digital camera. From there, though, it starts to diverge from a typical digital camera. The digital image is converted first to analog and then stored as audio on a standard cassette tape, which is included in the module in lieu of something like an SD card.

To view the saved images, the tape is played back and the audio signal captured by an RP2040. It employs a number of methods to ensure that the reconstructed image is faithful to the original, but the final image displays the classic SSTV look that these images tend to have as a result of the analog media. As a bonus feature, the camera can use a serial connection to another computer to offload this final processing step.

We’ve been seeing a number of digital-to-analog projects lately, and whether that’s as a result of nostalgia for the 80s and 90s, as pushback against an increasingly invasive digital world, or simply an ongoing trend in the maker space, we’re here for it. Some of our favorites are this tape deck that streams from a Bluetooth source, applying that classic cassette sound, and this musical instrument which uses a cassette tape to generate all of its sounds.

A Simple Desktop Pomodoro Timer

Pomodoro timers are a simple productivity tool. They help you work in dedicated chunks of time, usually 25 minutes in a sitting, before taking a short break and then beginning again. [Clovis Fritzen] built just such a timer of his own, and added a few bonus features to fill out its functionality.

The timer is based around the popular ESP32-S2 microcontroller, which has the benefit of onboard WiFi connectivity. This allows the project to query the Internet for things like time and date updates via NTP, as well as weather conditions, and the value of the Brazilian Real versus the American dollar. The microcontroller is paired with an SHT21 sensor for displaying temperature and humidity in the immediate environment, and an e-paper display for showing timer status and other relevant information. A button on top of the device allows cycling between 15, 30, 45, and 60 minute Pomodoro cycles, and there’s a buzzer to audibly call time. It’s all wrapped up in a cardboard housing that somehow pairs rather nicely with the e-paper display aesthetic.

If Pomodoro is your chosen method of productivity hacking, a project like this could suit you very well. We’ve featured a few similar builds before, too. Continue reading “A Simple Desktop Pomodoro Timer”

BreezyBox: A BusyBox-Like Shell And Virtual Terminal For ESP32

Much like how BusyBox crams many standard Unix commands and a shell into a single executable, so too does BreezyBox provide a similar experience for the ESP32 platform. [valdanylchuck] ‘s system even includes a demo implementation that uses the ESP32-S3 platform as part of the Waveshare 7″ display development board.

Although it invokes the BusyBox name, it’s not meant to be as stand-alone as it uses the standard features provided by the FreeRTOS-based ESP-IDF SDK. In addition to the features provided by ESP-IDF it adds things like a basic virtual terminal, current working directory (CWD) tracking and a gaggle of Unix-style commands, as well as an app installer.

The existing ELF binary loader for the ESP32 is used to run executables either from a local path or a remote one, a local HTTP server is provided and you even get ANSI color support. Some BreezyBox apps can be found here, with them often running on a POSIX-compatible system as well. This includes the xcc700 self-hosted C compiler.

You can get the MIT-licensed code either from the above GitHub project link or install it from the Espressif Component Registry if that’s more your thing.

Continue reading “BreezyBox: A BusyBox-Like Shell And Virtual Terminal For ESP32”

These Ultra-Cute, Handsfree Walkie-Talkies Are Built For Cycling

Walkie-talkies are great fun, and [RealCorebb]’s bbTalkie project takes the concept a step further by adding some extremely cool features to make a highly refined, self-contained ESP32-based communicator. bbTalkie completely does away with a push-to-talk button by implementing robust voice detection that works reliably even in noisy environments. It was all designed with cycling in mind, so hands-free operation that stands up to noise is a big plus.

Hands-free, wireless, self-contained digital walkie-talkies that can connect in a group. What’s not to like?

The core of communication is done over ESP-NOW, which is Espressif’s own protocol for direct device-to-device broadcasting. This removes the need to involve any sort of external service like SIM cards or internet access to transmit voice. Performance is best with an external antenna, naturally, but ESP-NOW doesn’t actually require anything other than the existing on-board hardware.

We’ve seen ESP-NOW used to make digital walkie-talkies before, but bbTalkie is a really evolved take on the concept, not least of which due to its hands-free operation.

Because volume-based automatic triggers are highly susceptible to noise, voice detection is done with the help of VADNet, a neural network-based model implemented locally on the device. This system can reliably detect human speech, even in noisy environments. This lets bbTalkie switch between transmit and listen modes automatically and hands-free, without false triggers.

Even when doing all that, there’s still spare capability to play with. Further to the goal of making bbTalkie useful for cyclists in a group, [RealCorebb] added a system that can recognize specific voice commands (like “turn left” for example, or “wait for me!”) which trigger synchronized animations to play on the displays of all connected units. There’s even some experimental support for controlling a camera over Bluetooth, though currently it only supports hardware from Sony.

Watch a tour of it in the video below (Chinese language, English captions available). The OLED screens and animations are adorable, and are great visual feedback of what the unit is doing at any given moment.

Continue reading “These Ultra-Cute, Handsfree Walkie-Talkies Are Built For Cycling”

Make Your Own ESP32-Based Person Sensor, No Special Hardware Needed

Home automation with high usefulness and low annoyance tends to rely on reliable person sensing, and [francescopace]’s ESPectre shows one way to do that cheaply and easily by leveraging hardware that’s already present on a common dev board.

ESPectre is an ESP32-based open source motion detector that detects movement without any cameras or microphones. It works similarly to millimeter-wave (mmWave) radar motion detectors in the sense that when a person moves, wireless signals are altered slightly as a result. ESPectre can detect this disturbance by watching and analyzing the Wi-Fi channel state information (CSI) and doing some very smart math and filtering. It’s cheap, easy to deploy and use, and even integrates with Home Assistant.

Combining a sensor like this with something else like a passive infrared (PIR) motion sensor is one way to get really robust results. But keep in mind that PIR only senses what it can see, whereas ESPectre works on WiFi, which can penetrate walls.

Since ESPectre supports low-cost ESP32 variants and is so simple to get up and running, it might be worth your time to give it a trial run. There’s even a browser-based ghost-dodging game [francescopace] put online that uses an ESPectre board plugged in over USB, which seems like a fun way to get a feel for what it can do.