DIY ESP32 Video Doorbell Locks Out Big Brother

There’s no question that being able to see who’s at your front door from your computer or mobile device is convenient, which is why the market is currently flooded with video doorbells. Unfortunately, it’s not always clear who else has access to the images these devices capture. Organizations such as the Electronic Frontier Foundation have argued that by installing one of these Internet-connected cameras on their front door, consumers are unwittingly contributing to a mass surveillance system that could easily be turned against them.

Luckily, there’s a solution. As [Sebastian] shows in his latest project, you can build your own video doorbell that replicates the features of the commercial offerings while ensuring you’re the only one who has access to the data by leveraging open source, community developed projects such as ESPHome and Home Assistant. At the same time, modern manufacturing techniques like desktop 3D printing and low-cost PCB fabrication mean your DIY doorbell doesn’t have to look like you made it yourself.

The project starts with a custom PCB that combines the ESP32, a camera module, a capacitive touch sensor, a relay to optionally trigger an electronic door lock, and a DC-DC converter that will let you power the device from a wide range of input voltages. The board even has a spot where you can solder on an additional 8 MB of external PSRAM for the ESP32, which will enable the chip to capture higher resolution video.

The electronics are housed in a minimalistic 3D printed enclosure that would fit right in alongside similar gadgets from the likes of Ring and Arlo; especially if you have access to a CNC and can cut the front panel out of acrylic. The lighted touch sensor looks phenomenal, and really gives the device a professional feel. That said, it doesn’t look like the case would last very long if exposed to harsh weather and there are some obvious physical security issues with this approach. But to be fair, we’ve seen the same problem with commercial hardware.

Naturally with a project like this, the hardware is only half of the story. It takes a considerable amount of software poking and prodding to get things like mobile device notifications working, and as a special added annoyance, the process is different depending on which MegaCorp produced the OS your gadget is running. [Sebastian] has documented the bulk of the process in the video after the break, but the finer points will likely need some adjustment depending on how you want to set things up.

This is an exceptionally impressive project for sure, but if the whole slick futuristic look isn’t your style, you could always opt to go with the DIY video door bell that looks like it came from an alternate reality version of 1986.

Continue reading “DIY ESP32 Video Doorbell Locks Out Big Brother”

A Bullet For The Digital You

Harkening back to a not-so-distant past where duels settled arguments, [Joris Wegner] put a twist on the idea of quarrels with a gun that damages your online persona rather than your physical one. The controversy of social media is nothing new, but most people today have a large percentage of their lives online. A gun that can destroy your social media by deleting your account feels far more potent than most would like to admit.

At the heart of this build, each gun contains a battery-powered ESP8266 that connects to another ESP8266 in the gun case, which in turn is connected to a computer. When a trigger is pulled, the computer deletes the Facebook account with the credentials stored on the gun. It offers a new look at the importance of one’s social media presence. While the concept of being attacked on social media is nothing new, the idea of digitally dying on social media is perhaps something new. This particular project was put on hold when [Joris] realized that Facebook accounts can be reactivated after 30 days, which renders the gesture less potent.

Playful and interesting twists on the idea of a gun are nothing new here on Hackaday. We’ve seen also [Joris’] work before with a MIDI-controlled video distortion box.

IRC Over LoRa, For When Things Really Go South

As a society, we’ve become accustomed to always-on high-speed data connections, whether we’re at home on the computer or out and about with a mobile device. But what happens if a natural disaster knocks out the local infrastructure? Sure some people will be able to fire up their radio if they need to reach out and touch someone, but even among hackers, hams are a minority. What we really need is a backup Internet.

The team behind the CellSol project hopes to show that building a volunteer-operated distributed communications network is not only within the capabilities of the hacker community but probably much easier and cheaper to do than you might think. Each node in the network, known as a Pylon in CellSol parlance, can shuttle data between the LoRa backbone and WiFi-enabled devices like smartphones and computers. Once the network is up and running, users don’t need any special hardware or software to use it.

Now to be clear, nobody is talking about surfing the web here. When a user connects to one of the ESP32 Pylons, they’ll be able to access a simplistic chat system through their browser. If the Pylon has an active Internet connection the chat can be bridged to an IRC channel. Without Internet connectivity, the pylon will simply give users on the CellSol network a means to communicate among each other. To keep things simple there’s no user names, private messages, or encryption. This is bare-bones, end-of-the-world style communication.

Want to join the CellSol revolution? All you really need is an ESP32, a LoRa radio, and the open-source firmware. If you get something like the Heltec LoRa 32 development board, you don’t even need to solder anything together. Just flash the board and go. Once you have a few Pylons going, you can also put together a cheap repeater node using a LoRa equipped Arduino. Both devices are small and energy efficient enough that they could easily be battery or solar powered. As you can see in the video after the break, the team even envisions a future where they could be dropped off in public areas via drone.

This isn’t the first time we’ve seen the ESP32 used to establish an off-grid LoRa communications network, and like those previous attempts, it’s usefulness will largely depend on how many people you can convince to set up their own nodes and repeaters. But if you’ve got some open minded friends who live relatively close by, this could be a great way to have a little chat.

Continue reading “IRC Over LoRa, For When Things Really Go South”

ESP32 Spectrum Analyzer Taps Into Both Cores

We probably don’t need to tell the average Hackaday reader that the ESP32 is a powerful and extremely flexible microcontroller. We’ve seen some incredible projects using this affordable chip over the last few years, and by the looks of it, the best is yet to come. That’s because it always takes some time before the community can really figure out how to get the most out of a piece of hardware.

Take for example the Bluetooth audio player that [squix] was recently working on. Getting the music going was no problem with the esp32-a2dp library, but when he wanted to add some visualizations the audio quality took a serious hit. Realizing that his Fast Fourier transform (FFT) code was eating up too much processor power, it seemed like a great time for him to explore using the ESP32’s second core.

[squix] had avoided poking around with the dual-core nature of the ESP32 in the past, believing that the second core was busy handling the WiFi communication. But by using the FreeRTOS queue system, he wrote some code that collects audio data with one core and runs the actual FFT magic on the other. By balancing the workload like this, he’s able to drive the array of 64 WS2812B LEDs on the front of the Icon64 seen in the video after the break.

Even if you’re not terribly interested in running your own microcontroller disco, this project may be just the example you’ve been waiting for to help get your mind wrapped around multitasking on the ESP32. If you want to master a device with this many tricks up its sleeve, you’ll need all the help you can get.

Continue reading “ESP32 Spectrum Analyzer Taps Into Both Cores”

The Macro Keyboard Is On Deck

The idea of a reconfigurable macro keyboard is a concept that has been iterated on by many all the way from custom DIY keypads to the polarizing TouchBar on MacBooks. The continual rise of cheap powerful microcontrollers with Wi-Fi and 3D printers makes rolling your own macro keyboard easier every year. [Dustin Watts] has joined the proverbial club and built a beautiful macro pad called FreeTouchDeck.

We’ve seen macro keyboards that use rotary encoders to cycle through different mappings for the keys. FreeTouchDeck has taken the display approach and incorporates a touch screen to offer different buttons. [Dustin] was inspired by a similar project called FreeDeck, which offers six buttons each with a small screen. FreeTouchDeck is powered by an ESP32 and drives an ILI9488 touch screen with an XPT2046 touch controller. This means that FreeTouchDeck can offer six buttons with submenus and all sorts of bells and whistles. A connection to the computer is done by emulating a Bluetooth keyboard. By adding a configuration mode that starts a web server, FreeTouchDeck allows easy customization on the fly.

[Dustin] whipped up a quick PCB that makes it easy to solder the ESP32 and the TFT together, but a breadboard works just fine. Gerbers for that are available on GitHub. To wrap it all up, a nice 3D printed shell encloses the whole system in a clean, tidy way. The code, documentation, and case designs are all on his GitHub.

Continue reading “The Macro Keyboard Is On Deck”

Templateize Your Timetable With EPaper Templates

To date, e-paper technology has been great for two things, displaying static black and white text and luring hackers with the promise of a display that is easy on the eyes and runs forever. But poor availability of bare panels has made the second (we would say more important) goal slow to materialize. One of the first projects that comes to mind is using such a display to show ambient information like a daily summary weather, train schedules, and calendar appointments. Usually this means rolling your own software stack, but [Christopher Mullins] has put together a shockingly complete toolset for designing and updating such parameterized displays called epaper_templates.

To get it out of the way first, there is no hardware component to epaper_templates. It presupposes you have an ESP32 and a display chosen from a certain list of supported models. A quick search on our favorite import site turned up a wide variety of options for bare panels and prebuilt devices (ESP32 and display, plus other goodies) starting at around $40 USD, so this should be a low threshold to cross.

Once you have the device, epaper_templates provides the magic. [Christopher]’s key insight is that an ambient display is typically composed of groups of semi-static data displayed in a layout that never changes. The only variation is updates to the data which is fully parameterized: temperature is always integer Fahrenheit, train schedules are lists of minutes and hours, etc. Layouts like this aren’t difficult to make, but require the developer to reimplement lots of boilerplate. To make them easy to generate, epaper_templates provides a fully featured web UI to let the user freely customize a layout, then exports it as JSON which the device consumes.

The sample layout configured in the video below

The web UI is shockingly capable, especially for by the standards of the embedded web. (Remember it’s hosted on the ESP32 itself!) The user can place text and configure fonts and styles. Once placed, the text can be set to static strings or tied to variables, and if the string is a timestamp it can be formatted with a standard strftime format string.

To round out the feature set, the user can place images and lines to divide the display. Once the display is described, everything becomes simple to programmatically update. The ESP can be configured to subscribe to certain MQTT topics from which it will receive updates, or if that is too much infrastructure there is a handy REST API which accepts JSON objects containing variables or bitmaps to update on device.

We’re totally blown away by the level of functionality in epaper_templates! Check out the repo for more detail about its capabilities. For a full demo which walks through configuration of a UI with train arrival times, weather, both instant temperature and forecast with icons, and date/time check out the video after the break. Source for the example is here, but be sure to check out examples/ in the repo for more examples.

Continue reading “Templateize Your Timetable With EPaper Templates”

Open Hardware GPS Tracker Works On Your Terms

These days, there’s plenty of options if you want to get a GPS tracker for your vehicle. Unfortunately, they come with the sort of baggage that’s becoming increasingly common with consumer tech: subscription fees, third-party snooping, and a sneaking suspicion that you’re more commodity than customer. So [Viktor Takacs] decided to take things into his own hands and create an open GPS tracker designed for privacy minded hackers.

As [Viktor] didn’t want to reinvent the wheel, his design leverages several off-the-shelf modules. The core of the tracker is the ESP32, which gives him plenty of computational power while still keeping energy consumption within reasonable levels. There’s also a NEO-6M GPS receiver which works at the same 3.3 V level as the ESP32, allowing the microcontroller to read the NMEA sentences without a level shifter. He decided to go with the low-cost SIM800L GSM modem, but as it only works on 2G networks, provisions have been made in the board design to swap it out for a more modern module should you desire.

For the code to glue it all together, [Viktor] pulled in nearly a dozen open source libraries to create a feature-complete firmware that uses MQTT to create a database of location data on his personal server. From there the data is plugged into Home Assistant and visualized with Grafana. This is enough to deliver core functionality, but he says that more custom software components as well as a deep-dive into the security implications of the system is coming in the near future.

We’ve seen custom built GPS trackers before, as generally speaking, it doesn’t take a whole lot to spin up your own solution. But we think the polish that [Viktor] has put on this project takes it to the next level, and ranks it up there among some of the most impressive bespoke tracking solutions we’ve seen over the years.