E-Ink Calendar Paves A Path For All

[Martin Fasani] has set out to build a beautiful low power E-Ink Calendar he can hang on his wall. But perhaps more importantly, the work he has done makes it easier for everyone in the future to have a e-ink display. Many battery-powered e-ink projects connect to some server, download a bitmap image, display the new image, and then go into a deep sleep power mode. [Martin’s] project is no different, but it uses a handy microservice that does the conversion and rendering for you.

The firmware for this ESP32/ESP32S2 based calendar is open sourced on GitHub, with a version based on the Arduino framework as well as the native ESP-IDF framework. One particularly fantastic part of the firmware is a C++ component called CalEPD that drives e-paper displays. CalEPD extends the Adafruit_GFX class and is broken out in a separate repo, making it easy to consume on other projects. Since this supports dozens of different e-paper displays, this simplifies the process of building a calendar with different screens. The firmware includes a Bluetooth setup flow from a smartphone or tablet. This means you can quickly configure how often it wakes up, what it queries, and other important features.

The hardware shown in the demo video has a 7.5″ Waveshare screen with 800 x 400 resolution nestled inside a 3D-printed shell. There is also a 5,000 mAh battery with an ESP32 TinyPICO powering the whole system. The TinyPICO was picked for its incredible deep sleep power consumption. All this fits into a frame just 11 mm thick, for which STL files are available. [Martin] continues to work on this calendar display and has recently added support for FocalTech touch panel controllers. We’re excited to see where he takes it next!

This isn’t the first e-ink display project we’ve seen but this is a great reference to build your own. If you need another good starting point, this weather display might give you that little bit of inspiration you need.

Continue reading “E-Ink Calendar Paves A Path For All”

Micropython On Microcontrollers

There are plenty of small microcontrollers available for all kinds of tasks, each one with its unique set of features and capabilities. However, not all of us want to spend time mucking about in C or assembly to learn the intricacies of each different chip. If you prefer the higher planes of Python instead, it’s not impossible to import Python on even the smallest of microcontrollers thanks to MicroPython, which [Rob] shows us in this project based on the ESP32.

[Rob] has been working on a small robot called Marty which uses an ESP32 as its brain, so the small microcontroller is already tasked with WiFi/Bluetooth communications and driving the motors in the robot. Part of the problem of getting Python to run on a platform like this is that MicroPython is designed to be essentially the only thing running on the device at any one point, but since the ESP32 is more powerful than the minimum requirements for MicroPython he wanted to see if he could run more than just Python code. He eventually settled on a “bottum-up” approach to build a library for the platform, rather than implementing MicroPython directly as a firmware image for the ESP32.

The blog post is an interesting take on running Python code on a small platform, and goes into some details with the shortcomings of MicroPython itself which [Rob] ended up working around for this project. He’s also released the source code for his work on his GitHub page. Of course, for a different approach to running Python and C on the same small processor, there are some libraries that accomplish that as well.

ESP32 Adds New Features To 1990s Home Alarm System

Given how fast technology is progressing, some consumer gadgets lend themselves to being replaced every few years. Mobile phones are a particularly good example of a device that you probably won’t want to hold onto for more than 4 years or so, with TVs not far behind them. On the other hand, something like a home alarm system can stay in the fight for decades. As long as it still goes off when somebody tries to pop a window, what more do you need?

Well if you’re like [Brett Laniosh], you might want the ability to arm the system and check its current status from your phone. But instead of getting a whole new system, he decided to upgrade his circa 1993 Gardiner Gardtec 800 alarm with an ESP32. As it so happens, the original panel has an expansion connector which he was able to tap into without making any modifications to the alarm itself. If you’ve got a similar panel, you might even be able to use his source code and circuit schematics to perform your own modification.

Optocouplers link the ESP and alarm panel.

Now we know what you’re thinking. Surely there’s a risk involved when trusting an ESP32 connected to the Internet with the ability to disarm your home alarm system. [Brett] has considered this, and made sure that the web server running on the microcontroller can only be accessed from the local network. If he does want to connect from beyond WiFi range, he does so through a VPN. In other words, his code is never directly exposed to the wilds of the Internet and is always hiding behind some kind of encryption.

The WiFi connection allows [Brett] to arm and disarm the alarm system remotely, check if it’s been triggered, and reset it if necessary, all from his smartphone. But he’s also added in a 433 MHz receiver so he can use simple handheld fobs to arm the system if he doesn’t want to go through the phone. Even if you dropped out the Internet connectivity, this alone is a pretty nice upgrade.

For those not afraid to take the more invasive route, you could potentially reverse engineer and reprogram your old alarm panel. Or you could even so the full DIY route and create your own low-cost alarm system using the ESP32 and off-the-shelf modules.

Replace Your IR Remote With A Web Browser

While more and more consumer products are rushing to include WiFi and Bluetooth connectivity, the simplicity and reliability of infrared has kept it in the game in the game far longer than many might have thought. Despite being thinner and sleeker, the IR remote control that comes with your brand new smart TV isn’t fundamentally different than what we were using in the 1980s.

But that doesn’t mean IR devices can’t enjoy some modern conveniences. Sick of misplacing his remote, [Sasa Karanovic] decided to come up with a way he could emulate it to control his TV over the network. Now with nothing more exotic than a web browser on his phone or computer, he can tap away at a visual representation of a remote to control the TV from anywhere in the house. As you might expect, this project could readily be adapted to control whatever IR gadget you might have in mind.

Assembling a simple IR transmitter dongle.

Admittedly, this isn’t exactly breaking any new ground. We’ve seen plenty of people come up with similar IR gateways in the past with varying levels of complexity. But what we really like about this project is that not only has [Sasa] shared the source code that turns an ESP32 into a network-controlled IR transmitter, but he’s put together a concise video that demonstrates how easy it is so spin up your own version. The 3D printed enclosure that looks like a traditional IR remote was a nice touch too.

The hardware for this project is little more than an ESP32 development board and an LED, but if you’re looking for something a bit more built for purpose, we recently saw a very slick open hardware IR gateway that might fit your needs.

Continue reading “Replace Your IR Remote With A Web Browser”

Small Spotify Remote Broadens Musical Horizons

When was the last time you tried listening to a new genre of music, or even explored a sub-genre of something you already like? That’s what we thought. It’s good to listen to other stuff once in a while and remind ourselves that there’s a whole lot of music out there, and our tastes are probably not all that diverse. As a reminder, [sorghum] made a spiffy little Spotify remote that can cruise through the musical taxonomy that is Every Noise at Once and control any Spotify-enabled device.

There’s a lot to like about this little remote, which is based upon a LilyGo TTGO ESP32 board with on-board display. The circuitry is basically that and a rotary encoder plus a tiny LiPo battery. Can we talk about the finish on those prints? Yes, those are both printed enclosures. Getting that buttery smooth finish took two grits of wet/dry sandpaper plus nine grits of polishing cloths.

As you can see in the brief demo after the break, there are several ways to discover new music. [sorghum] can surf through all kinds of Japanese music for example, or surf by the genre’s ending word and listen to metalcore, deathcore, and grindcore from all over the globe. For extra fun, there’s a genre-ending randomizer so you can discover just how many forms of *core there are.

Want everyone in the room to know what you’re listening to? Behold the Spotify split-flap display.

Continue reading “Small Spotify Remote Broadens Musical Horizons”

TTGO ESP32 Module With Multiple Personalities

Volos Projects educator [Danko Bertović] had a TTGO ESP32 board looking for a project, so he implemented a surprisingly functional weather station for such a small screen. Presumably that was too boring for him, so he decided to write a version of the classic Atari game Breakout instead. [Danko] prefers using the Arduino IDE for ESP32 projects, and has made the Breakout software available as an Arduino sketch. We hope the weather station sketch will be released soon, too. The TTGO is a small ESP32 board with an ST7789V 1.14 in (29 mm) TFT color display, available from your favorite Shenzhen market supplier. This platform is perfect for all kinds of niche applications. We’d love to hear how you are using, or plan to use, these modules in your projects.

We wrote about one such project last summer, where a similar TTGO module was used to display 50-year broadcast delayed transcripts of the Apollo 11 mission. [Danko] is no stranger to Hackaday — he has made several Arduino-based calculator projects.  Perhaps the most remarkable being the circuit sculpture binary number calculator from last year, another project that morphed into a computer game (Pong).

Continue reading “TTGO ESP32 Module With Multiple Personalities”

Building An Internet Radio Is Quick And Easy With The ESP32

Terrestrial radio is all well and good, but it limits you to listening to local stations. [Nick Koumaris] lives in a small town in Southern Greece, and his favorite stations sadly don’t transmit in his area. Thus, an internet radio was the natural solution.

[David Watts] did a similar build, throwing the hardware inside a stunning Roberts RM20 radio from the 1970s.
While a Raspberry Pi is a common way to go in these situations, an ESP32 has enough grunt to do the job without the long boot times that come with running a full Linux distribution. Combined with a VS1503 MP3 decoder board and a PAM8403 amplifier, it’s more than capable of tuning in streams online. [Nick] went with a retro-look interface on an LCD, using a Nextion part for its onboard controller and in-built GUI tools. Taking inspiration from the project, [David Watts] executed a similar build, but instead used an Arduino Nano to interface the controls on a vintage Roberts RM20 radio instead.

While we’ve all got smartphones we can use to listen to content online, it can be nice to use a device that allows us to put on some music without constant notifications and chimes every time an email comes in or a government scandal erupts in a nearby country. When building your own radio, you can tailor the interface to suit your tastes – like this build that lets users scan the globe for a station to listen to. Video after the break.

Continue reading “Building An Internet Radio Is Quick And Easy With The ESP32”