Tactility; The ESP32 Gets Another OS

Doing the rounds this week is a new operating system for ESP32 microcontrollers, it’s called Tactility, and it comes from [Ken Van Hoeylandt]. It provides a basic operating system level with the ability to run apps from an SD card, and it has the choice of a headless version or an LVGL-based touch UI.

Supported devices so far are some Lillygo and M5Stack boards, with intriguingly, support in the works for the Cheap Yellow Display board that’s caught some attention recently. The term “ESP32” is now a wide one encompassing Tensilica and RISC-V cores and a range of capabilities, so time will tell how flexible it is for all branches of the family.

We find this OS to be interesting, both in its own right and because it joins at least two others trying to do the same thing. There’s [Sprite_TM]’s PocketSprite mini console, and the operating system used by the series of Netherlands hacker camp badges,  We’ll be trying to get a device running it, in order to give you a look at whether it’s suitable for your projects. If it runs well on the cheaper hardware, it could be a winner!

RISC-V Microcontroller Lights Up Synth With LED Level Meter

The LM3914 LED bar graph driver was an amazing chip back in the day. Along with the LM3915, its logarithmic cousin, these chips gave a modern look to projects, allowing dancing LEDs to stand in for a moving coil meter. But time wore on and the chips got harder to find and even harder to fit into modern projects, what with their giant DIP-18 footprint. What’s to be done when a project cries out for bouncing LEDs? Simple — get a RISC-V microcontroller and roll your own LED audio level meter.

In fairness, “simple” isn’t exactly what comes to mind while reading [svofski]’s write-up of this project. It’s part of a larger build, a wavetable synth called “Pétomane Ringard” which just screams out for lots of blinky LEDs. [svofski] managed to squeeze 20 small SMD LEDs onto the board along with a CH32V003 microcontroller. The LEDs are charlieplexed, using five of the RISC-V chip’s six available GPIO lines, leaving one for the ADC input. That caused a bit of trouble with programming, since one of those pins is needed to connect to the programmer. This actually bricked the chip, thankfully only temporarily since there’s a way to glitch the chip back to life, but only after pulling it out of the circuit. [svofski] recommends adding a five-second delay loop to the initialization routine to allow time to recover if the microcontroller gets into an unprogrammable state. Good tip.

As for results, we think the level meter looks fantastic. [svofski] went for automated assembly of the 0402 LEDs, so the strip is straight and evenly spaced. The meter seems to be quite responsive, and the peak hold feature is a nice touch. It’s nice to know there’s a reasonable substitute for the LM391x chips, especially now that all the hard work has been done.
Continue reading “RISC-V Microcontroller Lights Up Synth With LED Level Meter”

A Low Effort, Low Energy Doorbell

Bluetooth is a good way to connect devices that are near each other. However, it can drain batteries which is one reason Bluetooth Low Energy — BLE — exists. [Drmph] shows how easy it is to deploy BLE to make, in this case, a doorbell. He even shows how you can refit an existing doorbell to use the newer technology.

Like many projects, this one started out of necessity. The existing wireless doorbell failed, but it was difficult to find a new unit with good review. Cheap doorbells tend to ring spuriously due to interference. BLE, of course, doesn’t have that problem. Common BLE modules make up the bulk of the project. It is easy enough to add your own style to the doorbell like a voice announcement or musical playback. The transmitter is little more than a switch, the module, a coin cell, and an LED.

It is, of course, possible to have a single receiver read multiple doorbells. For example, a front door and back door with different tones. The post shows how to make a remote monitor, too, if you need the bell to ring beyond the range of BLE.

A fun, simple, and useful project. Of course, the cool doorbells now have video. Just be careful not to get carried away.

More Things To Do With Your Cheap Yellow Display

The Cheap Yellow Display (CYD) is an ESP32 development board that’s been making the rounds for a while now, thanks to its value and versatility. For around $10 USD, you get a nicely integrated package that’s perfect for a wide array of projects and applications. Toss a couple in on your next AliExpress order, and all you need to do is come up with an idea. [Craig Lindley] had two ideas, and maybe they will help get those gears turning in your head. Even if you don’t need a network-connected MP3 player or GPS information display, we bet browsing the source code would be useful.

Continue reading “More Things To Do With Your Cheap Yellow Display”

Button Debouncing With Smart Interrupts

Debouncing button or switch inputs on microcontrollers can be a challenging problem for those first starting to program these devices. Part of the reason for this difficulty is that real-world buttons don’t behave like the idealized textbook components we first learn about, and therefore need special consideration to operate like one would expect. There are simple ways to debounce inputs like adding a delay after a button is pressed, but for more efficient use of computer resources as well as adding some other capabilities to inputs you might want to look at this interrupt service routine (ISR) method from [Lee] aka [stockvu].

The strategy with this debounce method is not simply to use a single ISR for the button input, but to activate a second timer-based ISR at that time that runs at a certain interval which timestamps any button press and checks the amount of time the button has been active. If it’s under a certain threshold the ISR assumes it’s caused by bounce and blocks the bounce. If the timestamp ages past another longer threshold it knows the button has been released. This method allows on-the-fly adaptation between long button presses and rapid button presses and is capable of debouncing both types.

For those wanting to try this out, [stockyu] has included some example Arduino code for others to use. It’s an interesting take on a solution for a common problem, and puts very little load on the microcontroller. There are about as many ways to debounce inputs as there are microcontroller platforms, though, and you can even use a 555 timer to get this job done which frees up 100% of the microcontroller’s CPU.

Front and rear views of a lander circuit sculpture that retrieves weather data and displays it on a screen.

Landing Soon: This Beautiful Weather Display

All wiring is beautiful, except when it isn’t. But is there anything more lovely to behold than circuit sculpture? Once again, [Mohit Bhoite] has made this process look easy like Sunday morning. This time, he’s created a weather display in the form of a lander.

Drawings that will guide wire-bending for a circuit-sculpture, lunar-lander weather info center.This lander runs on the Particle Photon 2, which connects over Wi-Fi and retrieves the weather forecast for the day, along with sunrise and sunset times and wind conditions. Everything is beautifully displayed on a vertically-oriented Adafruit 170×320 TFT screen.

There’s also a pulse-density microphone (PDM) breakout board and a buzzer, and the build is capped off with a red 0805 LED. We’re not sure what the feet are made of, but they sure make this lander cute (and accurate).

All the project logs are picture-rich, which is really the most we could ask for when trying to imitate this level of greatness. This is apparently an ongoing project, and we’re excited for the end result, although it looks fairly complete from here.

Do you want to bend it like Bhoite? Then be sure to check out his Hackaday Supercon talk on the subject.

Pico Pal Puts RP2350 Into Game Boy Color Shell

While modern gaming systems deliver ever more realistic experiences, there’s still something to be said for the consoles and handhelds of the 80s and 90s. For many, the appeal is nostalgic. Others are attracted to the “lo-fi” graphical and sound design of these games, necessitated by the limited hardware of the time.

That said nobody would claim those old systems were perfect. Which is why a hybrid approach like [Peter Khouly] has been working on with the Pico Pal might be the ultimate solution. This replacement motherboard for the Game Boy Color (GBC) is powered by the RP2350, meaning the external hardware will have the same look and feel as it did back in 1998, but you’ll still be able to reap the benefits of modern emulation.

While the origins of the project go a bit farther, [Peter] has been working on this particular variation of the Pico Pal GBC since August, and has kept a fascinating log of his progress. Just getting the RP2350 to emulate Pokémon isn’t really that big of a deal, but getting all the ancillary hardware implemented and fitted inside the case of the GBC is a different story. Especially since [Peter] intends to pack plenty of features into the final product, such as rechargable batteries, Bluetooth audio, real-time clock support, and digital video out.

The most recent status update is from just last week, where [Peter] goes over some of the new features he’s been working on. A major one is the soft power solution, where the physical power switch doesn’t just pull the plug like it did back in the 1990s. Instead, the switch triggers the board to save the game and enter into a low-power mode so that it can come right back on to where you left off. This does impact battery life, but so far, it looks like the Pico Pal GBC will be able to run for at least five hours on a charge, and more than twice that if you don’t mind turning off the audio.

It sounds like there’s still several gremlins to track down in the design, but even in its current state, the Pico Pal GBC looks very interesting. We’re immediately reminded of the phenomenal work [Bucket Mouse] has put in on a similar refit for the original DMG-1 Game Boy.