This ESP32 Pico Wristwatch Has Plenty Of Potential

First hand-built prototype. Nurse! isopropyl alcohol, stat!

Prolific hacker [Sulfuroid] is a medical doctor by day, and an electronics hobbyist by night, and quite how he finds the time, we have no idea.

The project we want to highlight is an ESP32 based LED smart watch, which we’ll sure you’ll agree, looks pretty nicely developed so far, and [Sulfuroid] has bigger plans, as you may find, when you dig into the GitHub repo. This analog-style design uses four groups of 0603-sized LEDs, arranged circularly to indicate the passage of time, or anything else you fancy. Since there are four control buttons, a pancake vibration motor, as well as Wi-Fi and Bluetooth, the possibilities are endless.

In order to stand a hope of driving those 192 LEDs from a single ESP32-Pico-D4, it was necessary to use a multiplexed LED driver, courtesy of the Lumissil IS31FL3733 device, which can handle arrays up to 12 x 16 devices. This chip is one to remember, since it has some really nice features, such as global current control to reduce CPU overhead, automatic breathing loops for those fancy fade effects, and even includes a handy open/short detection function, so it can report back assembly problems, assisting in reworking your dodgy soldering!

Routing circular arrays is such a pain.

Power and interfacing are taken care of via USB-C, with a TP4054 single Li-Ion cell charger chip handling the battery. This is a Taiwanese clone of the popular LTC4054, but that chip may be a bit hard to get at the moment. There is the common-as-muck CP2104 USB chip dealing with the emulated serial port side of things, since for some reason, the ESP32 still does not support USB. The Pico-D4 does have RTC support, but [Sulfuroid] decided to use a DS3231M RTC chip instead. We noticed the touch functionality wasn’t broken out – that could be added easily in the next revision!

We’ve covered watches a lot, because who doesn’t want custom geek-wear! Here’s a slick one, a fun one with the brains on display, and finally one using charlieplexing to get the component count down.

 

Simple Dev Board Module Socket

When you’re building a quick prototype or a one-off project it’s nice to be able to securely mount the various modules and development boards. Sometimes these boards have mounting holes, but often they don’t. As an example from the latter category, digital music instrument maker and performer [DIYDSP] shows us how to build a simple socket to mount an STM32 Nucleo-32 module.

The socket is built on a standard pad-per-hole piece of vector board cut to the desired size. Pairs of female pin header strips are soldered down to the board. The inner pair of headers is for the module, the outer pair is for your interconnections. The headers are connected up with short solder bridges, and [DIYDSP] recommends you extend the outer pair several pins longer than necessary. These extras can be used for additional power or ground points, or on some boards they could connect to the debug header pins. He prefers to use female sockets because that lessens the odds that an accidentally bent pin will short something out.

Final step is to drill your mounting holes in the desired location, and no more development boards free-floating and held up only by wires. Do you have any tips for mounting these kinds of modules, either individually as shown here or onto PCBs? Let us know in the comments.

Continue reading “Simple Dev Board Module Socket”

IR Translator Makes Truly Universal Remote

Universal remotes are a handy tool to have around if you have many devices that would all otherwise have their own remote controls. Merging them all into a single device leads to less clutter and less frustration, but they are often not truly “universal” as some of them may not support every infrared device that has ever been built. If you’re in a situation like that it’s possible to build a truly universal remote instead, provided you have a microcontroller and a few infrared LEDs on hand.

This was the situation that [Matt] found himself in when his Amazon Fire TV equipment control feature didn’t support his model of speakers. To get around this he programmed an Arduino to essentially translate the IR codes from the remote and output a compatible set of codes to the speakers.This requires both an IR photodiode and an IR LED but little else other than the codes for the remote and the equipment in question. With that all set up and programmed into the Aruino, [Matt]’s remote is one step closer to being truly “universal”.

While [Matt] was able to make use of existing codes in the Arduino library, it is also possible to capture the codes required manually by pointing a remote at a photodiode and programming a microcontroller to capture the codes that you need. [Matt] used a Raspberry Pi to do this when debugging this project, but we’ve also seen this method used with a similar build which uses an ESP8266 to control an air conditioner via its infrared remote control capabilities.

Continue reading “IR Translator Makes Truly Universal Remote”

A graph visualising approximation errors - the specific principle pictured is described well by the linked article

Time And Accuracy In Las ATMegas

Do you ever have to ensure that an exact amount of time passes between two tasks in your microcontroller code? Do you know what’s the difference between precision and accuracy? Today, [Jim Mack] tells us about pushing timers and interrupts to their limits when it comes to managing time, while keeping it applicable to an ever-popular ATMega328P target! Every now and then, someone decides to push the frontiers of what’s possible on a given platform, and today’s rules is coding within constraints of an Arduino environment. However, you should check [Jim]’s post out even if you use Arduino as a swearword – purely for all of the theoretical insights laid out, accompanied by hardware-accurate examples!

This will be useful to any hacker looking to implement, say, motor encoder readings, signal frequency calculations, or build a gadget processing or modifying audio in real time. To give you a sample of this article, [Jim] starts by introducing us to distinctions between precision and accuracy, and then presents us with a seemingly simple task – creating exactly 2400 interrupts a second. As much as it might look straightforward, problems quickly arise when clock crystal frequency doesn’t cleanly divide by the sampling frequency that you have to pick for your application! This is just a taste of all the examples of hidden complexity presented, and they’re accompanied with solutions you can use when you eventually encounter one of these examples in your hacker pursuits. In the end, [Jim] concludes with links to other sources you can study if you ever need to dig deeper into this topic.

Keeping our projects true to the passage of time can be an issue, and we’ve been at it for ages – calibrating your RC oscillator is a rite of passage for any ATTiny project. If you ever decide to have an interrupt peripheral help you with timing issues, we’ve gone in-depth on that topic in the past, with a three-part series describing the benefits, the drawbacks and the edgecases of interrupts. Going for a more modern target? Our piece on using interrupts with STM32 is a great path for trying out tools of the modern age.

ESP32 And Raspberry Pi Take Over Game Boy LCD

The Nintendo Game Boy and its many permutations represent one of the most well-known and successful gaming platforms ever produced. There was a decades-long stretch of time where the most popular kid in the lunch room was the one who brought in their Game Boy so the rest of the class could huddle around and check out the latest Pokemon title.

But those days are long gone, and now these once-coveted handhelds can be had for a song on the second-hand market. Which makes it the perfect time to check out this project [kgsws] released recently that allows you to interface the Game Boy LCD with the ESP32 or the Raspberry Pi. In the most basic of applications, it lets you push video from your Linux computer out to the Game Boy LCD over WiFi. But as the video below illustrates, that’s just the tip of the iceberg.

With the ESP32 wired between the handheld’s LCD and main PCB, the microcontroller can also act as a capture device using I2S camera mode. Compared to what ends up showing on the handheld’s LCD, the recorded gameplay [kgsws] shows off looks fantastic. Visuals are crisp and fluid, and naturally devoid of the Game Boy’s iconic (if slightly nauseating) greenish tint.

The project also includes the capability to control an array of Game Boy LCDs, which allows for some interesting possibilities. The image can be stretched to cover multiple displays, which [kgsws] demonstrates by playing a game on 3 x 3 grid of salvaged panels, but each LCD also can be controlled individually as is the case with the large digital clock seen above.

Whether you’re looking for a way to capture gameplay on the real hardware, or want to run RetroPie on a real Game Boy screen, we’re excited to see what folks come up with using this project.

Continue reading “ESP32 And Raspberry Pi Take Over Game Boy LCD”

Custom Piano Tickles The Ivories

The core ethos of “hacking” is usually interpreted as modifying something for a use that it wasn’t originally built for. Plenty of builds are modifications or improvements on existing technology, but sometimes that just isn’t enough. Sometimes we have to go all the way down and build something completely from scratch, and [Balthasar]’s recent piano-like musical instrument fits squarely into this category.

This electronic keyboard is completely designed and built from scratch, including the structure of the instrument and the keys themselves. [Balthasar] made each one by hand out of wood and then built an action mechanism for them to register presses. While they don’t detect velocity or pressure, the instrument is capable of defining the waveform and envelope for any note, is able to play multiple notes per key, and is able to change individual octaves. This is thanks to a custom 6×12 matrix connected to a STM32 microcontroller. Part of the reason [Balthasar] chose this microcontroller is that it can do some of the calculations needed to produce music in a single clock cycle, which is an impressive and under-reported feature for the platform.

With everything built and wired together, the keyboard is shockingly versatile. With the custom matrix it is easy to switch individual octaves on the piano to any range programmable, making the 61-key piano capable of sounding like a full 88-key piano. Any sound can be programmed in as well, further increasing its versatility, which is all the more impressive for being built from the ground up. While this build focuses more on the electronics of a keyboard, we have seen other builds which replicate the physical action of a traditional acoustic piano as well.

Continue reading “Custom Piano Tickles The Ivories”

Hacking A Proper Dash Into The Tesla Model 3

The Tesla Model 3 and Model Y are popular electric vehicles that dispense with some of the usual provisions you’d expect in a typical car. Namely, there’s no dash cluster in front of the driver; instead, all information is solely displayed on the center console screen. [Nick Nguyen] wasn’t a fan of this setup, and decided to hack together a dash cluster of his own. 

The CANdash works in a simple fashion, snooping the Tesla’s CAN bus for all the information relevant to the vehicle’s operation. It’s capable of displaying everything from speed to the remaining range in the battery, while also allowing the user to keep an eye on things like coolant temperatures and whether the Tesla Autopilot system is currently available.

The build relies on a CANserver, an ESP32-based device specifically built for hooking up to the CAN bus on Tesla vehicles and sharing the data externally. The data can then be piped wirelessly to an Android phone running CANdash to display all the desired information. With the help of an aftermarket dash clip or a 3D printed custom mount, the phone can then be placed behind the steering wheel to display data in the usual location.

It’s a simple, straightforward hack that gives Tesla owners a useful feature that they’re otherwise missing from the factory. The US automakers cars are proving to be fertile ground for hackers and DIYers, with one man recently saving thousands on a battery swap with a simple mod. Video after the break.

Continue reading “Hacking A Proper Dash Into The Tesla Model 3”