Vintage analog indicator for SmartHomes (not a voltmeter)

Hey Folks, i would like to share my project: this is a aviation-style analogue indicator device. I have fully complete the WiFi version, and Zigbee is on the way.

How its made:

Devices use classical automotive-dashboard drive X27-168 for single-axis, and BKA30D-R5 for bi-axis. Steppers are driven by VID6608 library with software timed signal to emulate real analogue needle movement. Bi-axial devices have movement delay, when both needles moving, as delays are affect each other (i will fix this switching to HW generator, the EPS's RMT).

Firmware:

Firmware is based on Tasmota (this is several patches to vanilla one, but i have some my own UI added). Device now supports RMT hardware acceleration (upstream Tasmota patch) for VID6608 pulse generation.

I have less-or-more working Zigbee firmware for C6 prototype and converter for Zigbee2mqtt, but there is a still long road ahead to tune and polish it. Zigbee variant is fully pure ESP-IDF project. I have tried to use the esphome as a base, but they have lack of features, required for me.

For ESP32C6 there was a challenge to run the RMT-free firmwares, provided by community: tasmota and esphome uses it for various drivers, i.e. the WS2812b. Software-defined driver for Tasmota was broken, and i also have fixed in upstream, now you can opt-in the RMT usage.

Configuration:

Device (WiFi) can be configured using the ini file in the Tasmota UFS:

[gauge-1]
name = Progress-2
unit = %
deg = 270
min = 0
max = 100
[gauge-2]
name = Progress-1
unit = %
deg = 270
min = 0
max = 100

This will define the bi-axial configuration. In this case device will define two endpoints (bi-axial variant), and device can get the command to move:

mosquitto_pub -t 'cmnd/galoped_device_id/GalopedSet1' -m '12'

, this will command to move drive 1 to show up the 12%.

Commands are GalopedSetX, where X is the drive index, command payload is the defined gauge units.

Hardware:

Heart of device is the classical ESP32 chip (see last photo), but i am thinking to switch to the ESP32C6 chip with option to provide device freely convertible as WiFi <-> Zigbee by user choice. Current device version uses the ESP32-WROOM32 modules, for ESP32C6 i will use the super-mini modules, as they have much better out-of-box options (like USB) and reduces the production costs.

PCB is designed in the EasyEDA and total price for 10 PCB's was ~100EUR with assembly. The biggest problem is the VID6608 driver - you have to solder it by yourself (there is no offer for preinstall it), and it is horrible hard to order the "okay" chip. I have ordered from different sellers and got mixed working/bad all the times, in most cases i got 3-4 fine chips from each 10-pcs strip. One seller sent me the fully good strip first, but next order is the same garbage as others. But anyway, PCB is reusable for other projects.

Backlight uses the 40-leds WS2812b strip, and can be used as solid backlight, as well as more complex (i.e. rainbow). I have decided to deprecate the Retro-filament backlight, as it has no benefits in compare with RGB.

Construction:

Based on metal case taken from Ikea Dekad alarm clock. I use the metal shroud, glass and standers. Also some minor parts, like screws. Internal part is 3D printed. All parts are designed in FreeCAD and you can find all sources in the repo. Device requires multi-color print (in case of RGB backlight), minimum 2 filaments (transparent + base color), minimum 2 nozzles (0.2mm for needle, 0.4mm rest).

Gauge:

Printed in local grocery shop as 10x15 picture on glossy paper and then cut. Designed using Inskape. You can also find the sources in git and design you own, use mine as template.

Assembly tips:

  • Device is very sensitive to central hole cut precision. The deviation starting from 0.5 mm becomes visible as needle disposition at the opposite part of gauge;
  • Use white tape to mask led's in the backlight assembly - this will make it much more natural;
  • Be carefull with the dust in the instrument, each small mote will glow as a sun;

What is in the plans:

  • Zigbee version with ESP32C6 onboard with cheaper PCB (less mounting is required), also WiFi <-> Zigbee option to select by flashing (no HW changes). Zigbee firmware and the C6 variant is ~70% done, i have to finish with inner parts design and firmware, but i have fully working prototype already.
  • More metrics integration (various subscriptions tracking and so on)
  • Switch from software-defined drive control to hardware (RMT), this will improve performance for single-core SoC (like the C6 one) and visual experience - this is already done as option, but i did not release it yet, as i have to test it more first. But highly likely it will go live. See example at the attached video.

Device repository: GitHub - petrows/smarthome-galoped-dekad: Vintage CO2 indicator · GitHub

Assembly instructions, full source code, CAD files and all other components are presented in my github, please enjoy to build your own. if you want to get the complete device for your setup, you can visit my Etsy shop.

I am thinking: Zigbee version makes sense? Or WiFI version is enough?

3 Likes

ESP32-C6? Go the whole hog and Thread/Matter it for universal desirability! Plug-n-pray.

Bravo: Looks like a rewarding project.

CANBUS options for dashboard installation in modern vehicles and aircraft?

12/24/48VDC power for automotive operations.

2 Likes