Tiny Thin Client Is Small But Compatible

We were impressed with [moononournation’s] tiny thin client project. It claims to use an Arduino, but as you might guess it is using the Arduino software along with a network-enabled microcontroller like an ESP32. The impressive part is that it is standards-compliant and implements VNC’s RFB protocol.

The original coding for RFB on Arduino is from [Links2004] and armed with that, the thin client is probably easier to create than you would guess. However, this project wanted to use a larger screen and found that it led to certain problems. In particular, the original code had a 320×240 display. This project was to use an 800×480 display, but with the limits on the ESP32, the frame rate possible would be under 7 frames per second. The answer was to combine a 16-bit parallel interface with better compression back to the VNC server.

The little keyboard is probably not very practical, but it is compact. That would be another easy thing to modify. Currently, the keyboard uses I2C, but it would be straightforward to change things up. This would be a worthy base to build a bigger project on top. A 3D printed enclosure would be nice, too.

We’ve seen a number of projects built around commercial thin clients. Some from defunct businesses are good sources for obscure parts, too.

Continue reading “Tiny Thin Client Is Small But Compatible”

This ESP32 CAN!

Since modern cars use the CAN bus for so many of their functions, it’s unsurprising that it’s a frequent object of interest for those in our community. Some people go no further than commercial plug-in analysers, while others build their own CAN devices. This is what [Magnus Thomé] has done, with his RejsaCAN microcontroller board.

It’s a small PCB with an onboard CAN interface from an ESP32-S3 and a car-friendly power supply circuit, and perhaps most importantly, it has an auto-shutdown feature to prevent battery drain. Software-wise it’s a blank piece of paper for the user to roll their own application, but since the ESP32 is supported by the Arduino ecosystem, there are libraries that make talking CAN as easy as it can be.

[Magnus] has a list of potential applications for the board, many of which take advantage of the ESP’s wireless capabilities. So far, [Magnus] has hooked it up to an LCD display, but we can see so many other useful things coming out powered by something like this.

You haven’t tried playing with your car’s CAN bus yet? Maybe you should read this to whet your appetite.

RatPack Is A Wearable Fit For A Rodent

Rats are often seen as pests and vermin, but they can also do useful jobs for us, like hunting for landmines. To aid in their work, [kjwu] designed the RatPack, a wearable device that lets these valiant rats communicate with their handlers.

The heart of the build is an ESP32-CAM board, which combines the capable wireless-enabled microcontroller with a small lightweight camera. It’s paired with a TinyML machine learning board, and it’s all wrapped up in a 3D printed enclosure that serves as a backpack to fit African Giant Pouched rats.

The RatPack can provide a live video feed. However, its main purpose is to track the rat’s movements through the use of an accelerometer. This data is then fed to the machine learning subsystem, which analyzes it to detect certain gestures the rats have been trained to make. The idea is that when the rat identifies an object of interest, such as a landmine, it will perform a predetermined gesture. The RatPack would then detect this, and transmit a signal to the rat’s handlers. Given a rat’s limbs are all on the bottom of its body, this approach is useful. It’s kind of hard to ask a rat to press a button on its own back, after all.

Finding and carefully disposing of unexploded ordnance is a problem facing many societies around the world. We’re lucky in many cases that the rats are helping out with this difficult and dangerous job.

Rib Cage Lamp Kicks It Up A Notch With Party Mode

We think [Michelle]’s sound-reactive rib cage lamp turned out great, and the photos and details around how it was made are equally fantastic. The lamp is made of carved and waxed wood, and inside is a bundle of LED lighting capable of a variety of different color palettes and patterns, including the ability to react to sound. Every rib cage should have a party mode, after all.

The LED strip is fashioned into an atom-like structure.

Turns out that designing good rib cage pieces is a bigger challenge than one might think. [Michelle]’s method was to use an anatomical 3D model as reference, tracing each piece so that it could be cut from a flat sheet of wood.

The resulting flat pieces then get assembled into a stack, with each rib pointed downward at a roughly 20 degree angle. This process is a neat hack in itself: instead of drilling holes all at exactly the same angle, [Michelle] simply made the holes twice the diameter of the steel rod they stack on. The result? The pieces angle downward on their own.

The LED lighting is itself a nice piece of work. The basic structure comes from soldered solid-core wire. The RGB LED strip gets wound around that, then reinforced with garden wire. The result is an atomic-looking structure that sits inside the rib cage. An ESP32 development board drives everything with the FastLED library.

Code for everything, including the sound-reactive worky bits, which rely on an INMP441 I2C microphone module is all available on GitHub. And if you want to make your own sound-reactive art, make sure to check out these arms as well.

Want to see the rib cage in action? A short demo video is embedded below that demonstrates the sound reactivity. Equally applicable to either party or relaxation modes, we think.

Continue reading “Rib Cage Lamp Kicks It Up A Notch With Party Mode”

Trombone Controls Virtual Trombone

Guitar Hero was a cultural phenomenon a little over a decade ago, and showed that there was a real fun time to be had playing a virtual instrument on a controller. There are several other similar games available now for different instruments, including one called Trombone Champ that [Hung Truong] is a fan of which replaces the traditional guitar with a trombone. The sliding action of a trombone is significantly different than the frets of a guitar, making it a unique challenge in a video game. But an extra challenge is building a controller for the game that works by playing a real trombone.

Unlike a guitar which can easily map finger positions to buttons, mapping a more analog instrument like a trombone with its continuous slide to a digital space is a little harder. The approach here was to use an ESP32 and program it to send mouse inputs to a computer. First, an air pressure sensor was added to the bell of the trombone, so that when air is passing through it a mouse click is registered, which tells the computer that a note is currently being played. Second, a mouse position is generated by the position of the slide by using a time-of-flight sensor, also mounted to the bell. The ESP32 sends these mouse signals to the computer which are then used as inputs for the game.

While [Hung Truong] found that his sensors were not of the highest quality, he did find the latency of the control interface, and the control interface itself, to be relatively successful. With some tuning of the sensors he figures that this could be a much more effective device than the current prototype. If you’re wondering if the guitar hero equivalent exists or not, take a look at this classic hack from ’09.

Continue reading “Trombone Controls Virtual Trombone”

Hackaday Prize 2022: Solar Powered LoRa Weather Station For The Masses

[Debasish Dutta] has designed a few weather stations in the past, and this, the fourth version of the system has had many of the feature requests from past users rolled in. The station is intended to be used with an external weather sensor unit, provided by Sparkfun. This handles wind speed and direction, as well as measuring rainfall. A custom PCB hosts an ESP32-WROOM module and an Ai-Thinker Ra-02 LoRa module for control and connectivity respectively. A PMS5003 sits on the PCB to measure those particulate densities, but most sensors are connected with simple 4-way I2C connectors. Temperature, humidity, and pressure are handled by a BME280 module, UV Index (SI1145), visible light (BH1750) even soil humidity and temperature with a cable-mounted SHT10 module.

All this is powered by a solar panel, which charges a 18650 cell, and keeps the show running during the darker hours. For debugging and deployment, a USB-C power port can also be used to provide charge. A 3D printed Stevenson screen type enclosure allows the air to circulate amongst the PCB-mounted sensor modules, without hopefully too much moisture making it in there to cause mischief.

On the data collection and visualization side, a companion LoRa receiver module is in progress, which is intended to pass along measurements to a variety of services. Think Home Assistant, ESP home, and that kind of thing. Software is still a work in progress, so maybe check back later to see how [Debasish] is getting on with that?

This kind of multi-sensor hosting project is nothing new here, here’s a 2019 Hackaday prize entry along the same lines. Of course, gathering and logging measurement data is only part of the problem, visualization of those measurements is also important. Why not use a mechanical approach, such as a diorama?

A graphing calculator with a 3D-printed enclosure, with a circuit board next to it

2022 Cyberdeck Contest: The Galdeano Is More Than A Graphing Calculator

Graphing calculators have evolved from expensive playthings for rich nerds to everyday tools for high schoolers worldwide. Even though teenagers nowadays carry powerful internet-connected computers in their pockets, math teachers often prefer them to use a clunky Z80-powered calculator in class, if only because their limited performance reduces the potential for distraction. The worst thing a lazy student can do is play a simple game like Snake or Tetris.

But what if you’re not a student anymore and you want a graphing calculator that has up-to-date hardware and infinite customizability in software? Look no further than [Angel Cabello]’s Galdeano, a handheld that has all the features of a modern graphing calculator plus a lot more. The heart of the device is an ESP32, which sits on a custom PCB that also holds a 6×7 array of push-buttons and a 320×240 touch-sensitive color display. It can be powered through a lithium-polymer battery or, like a classic calculator, through four AAA cells. The entire thing is housed in a 3D printed enclosure with color-coded buttons indicating various built-in functions.

The ESP32 runs MicroPython along with a symbolic math engine called Eigenmath. This enables the Galdeano to  manipulate expressions, perform integration and differentiation, and plot functions. Porting Eigenmath to a memory-constrained platform like the ESP32 was quite a challenge and required a few workarounds, including a memory partition scheme and even a custom compact font with mathematical symbols.

Thanks to the flexibility of MicroPython and the ESP’s WiFi system, the Galdeano is not limited to implementing a calculator: it can also perform various general-purpose tasks ranging from file editing to controlling a set of smart light bulbs. The project page doesn’t mention any games yet, but we’re sure it won’t take long before someone ports Tetris to this system as well.

Of course, even classroom-grade calculators can be pushed to do much more than their designers intended: they can receive GPS signals, run Debian or even perform ray tracing. If you’re looking for a powerful open-source calculator, this BeagleBoard-based machine runs the R statistical computing environment.

Continue reading “2022 Cyberdeck Contest: The Galdeano Is More Than A Graphing Calculator”