A Solari Mechanical Digital Clock Hack With A Little Extra

[Alfredo Cortellini] was perusing an antique shop in Bologna, and came across a nice example of a late 1950s timepiece, in the shape of a Solari Cifra 5 slave clock, but as the shop owner warned, it could never tell the time by itself. That sounded like a challenge, and the resulting hack is a nice, respectful tweak of the internals to bring it into the modern era. Since the clock requires a single pulse-per-minute in order to track time, the simplest track often followed is to open the back, set the correct time manually by poking the appropriate levers, and then let an external circuit take over clocking it. [Alfredo] wanted autonomy, and came up with a solution to make the thing fully adjust itself automatically.

Electronics-wise, initial prototyping was performed with a Nucleo 32 dev board and a pile of modules, before moving to a custom PCB designed in Altium Designer. An STM32G031 runs the show, with a few push buttons and a SSD1306 OLED display forming the UI.

Using some strategically-placed magnets and hall effect sensors, the status of the internal mechanism could be determined. Minute advancements were effected by driving the clock’s 24V electromagnet with a DRV8871 motor driver IC, the power supply for which was generated from the USB supply via a TPS61041 boost converter. In order to synchronise the mechanism with the electronics, the unit could have been driven to advance a minute at a time, but since every hour would need sixty pulses, this could take a while given the limited speed at which that could be done reliably. The solution was to sneak in a crafty MG996R high-torque servo motor, which pushes on the hour-advancement lever, allowing the unit to be zeroed much faster. Sensing of the zero-hour position was done by monitoring the date-advance mechanism, that is not used in this model of clock. Once zeroed, the clock could then be advanced to the correct time and kept current. Firmware source, utililising FreeRTOS can be found on the project GItHub, with schematics and Fusion360 files on the Hackaday.IO project linked above.

If you were thinking you’ve seen these Solari soft-flap displays here before, you’d be quite correct, but if you’re not so much interested in marking the passage of time, but bending such devices to your other indication whims, we’ve got you covered also.

Continue reading “A Solari Mechanical Digital Clock Hack With A Little Extra”

Another Neat General Purpose Soldering Iron Driver

Over on Hackaday.io, user [Tomasz Jastrzebski] has designed a tidy-looking custom controller for driving temperature-controlled soldering irons. The design is intended to be general purpose, capable of operating with irons rated for different voltages and probe type, be they thermocouple- or thermistor-based. Rather than integrating a power supply, this is handled by an external unit, giving the possibility of feeding this from a variety of sources that are not necessarily tied to the grid.

Hardware-wise, we’ve got the ubiquitous STM32 microcontroller in charge of the show, with a nice front end based on the INA823 instrumentation amplifier, referenced to a REF2030 precision voltage source. The input stage is configured as a versatile Wheatstone bridge input circuit, giving plenty of scope for tweaking.

There are a few extra features in the design that aren’t necessarily needed for a soldering iron driver, such as RTC support, complete with supercapacitor backup, but then this doesn’t have to drive a soldering iron, it could drive any DC heater with temperature feedback. With a change in firmware, this could serve other tasks. One potential feature that springs to mind — have the unit automatically power down at a certain time of day in case it was left on accidentally.

The schematic has a lot of relevant detail — in that many parts have a good list of alternatives, presumably because of the semiconductor shortages — which is a good habit to get into if you ask us. Many of us involved with manufacturing have been doing this for years, as it makes sense to give the assembly house the extra options, but this really is basically mandatory practice now.

Firmware for the STM32G0 series microcontroller is based on the STM32 HAL, keeping it simple, with a Visual Studio Code project provided for your convenience. All hardware (KiCAD) and firmware can be found on the project GitHub.

We’ve seen a few projects like this over the years, like this Really Universal Soldering Controller, a custom controller for JBC irons, and this great portable Arduino-based unit.

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”

Hacked DSP5005 unit showing amp-hours screen

Another DPS5005 Alternative Firmware

These cheap Chinese-built programmable power supplies are nothing new, we’ve been using them for years. They’re not particularly good power supplies, since current feedback is in software, but for some tasks they’re a great fit and you can’t argue with the price. Alternative firmware projects have also been a thing for a while too, but none we’ve seen have been quite as capable and polished as this latest DPS firmware project by [Profi-max.] We’ve not come across the source code yet, but at least the binary image is freely downloadable.Battery charge screen on hacked DPS5005

The firmware has some interesting features, such as programmable pre-sets intended for battery charging applications. In fact, there is a dedicated battery charge mode screen. We want to warn, however, that charging lithium ion batteries with this might not be at all wise, not in the least because of a lack of protection hardware in place. It would be very easy to destroy the unit or overheat a battery this way! However, if you must do this, there are a few features to help you out, such as a handy ‘counters’ screen showing approximate charge delivered.

Remote programmability is, as usual, via the easily hacked in serial port, with firmware support for Bluetooth serial modules if wired USB serial doesn’t suit. For those who like to mount things differently, the screen can be rotated by holding a key on power-up, or if you hook up a MPU6050 accelerometer/gyro module it will even do it automatically!

To update a stock DPS unit, the only requirements are access to an ST-Link compatible programmer dongle, to target the STM32 SWD programming interface, and the STM32CubeProgrammer utility. Open source alternatives to that are also available, stlink comes to mind as a good option. Once you have the module PCB popped out of its plastic casing, only three wires need tacking onto a handy set of pads to complete the connection to the programmer dongle. Pretty simple stuff.

If you’re looking for a similar project, with source immediately available, then checkout the OpenDPS project we covered a few years ago, and if you’re thinking of going crazy, building a DIY open source electronics lab, we got you covered.

Continue reading “Another DPS5005 Alternative Firmware”

Remoticon 2021: Unbinare Brings A Reverse-Engineering Toolkit Into Recycling

Unbinare is a small Belgian company at the forefront of hacking e-waste into something useful, collaborating with recycling and refurbishing companies. Reverse-engineering is a novel way to approach recycling, but it’s arguably one of the most promising ways that we are not trying at scale yet. At Hackaday Remoticon 2021, Maurits Fennis talked about Unbinare’s efforts in the field and presented us with a toolkit he has recently released as a part of his work, as well as described how his background as an artist has given him insights used to formulate foundational principles of Unbinare.

Image showing an Unbinare OISTER boardUnbinare’s tools are designed to work in harmony with each other, a requirement for any productive reverse-engineering effort. OI!STER is a general-purpose salvaged MCU research board, with sockets to adapt to different TQFP chip sizes. This board is Maurits’s experience in reverse-engineering condensed into a universal tool, including a myriad of connectors for different programming/debugging interfaces. We don’t know the board’s full scope, but the pictures show an STM32 chip inside the TQFP socket, abundant everywhere except your online retailer of choice. Apart from all the ways to break out the pins, OI!STER has sockets for power and clock glitching, letting you target these two omnipresent Achilles’ heels with a tool like ChipWhisperer.

Continue reading “Remoticon 2021: Unbinare Brings A Reverse-Engineering Toolkit Into Recycling”

Teaching A DC Servo Motor To Act Like A Stepper

[Frank Herrmann] had an interesting idea to turn a geared DC motor into a servo motor assembly, but with a stepper motor-like interface. By stacking some small PCBs behind the motor body, it was possible to squeeze a DRV8837 DC motor driver and a pair of hall effect sensors on the first PCB layer, with the magnetic encoder nestled tightly behind it. Pin headers at the edge of the PCB connect to a second PCB bearing the microcontroller, which is based on the cheap STM32L432. The second PCB also holds an associated LDO and debug LED. Together, this handful of parts provide all that is needed to read the encoder, control the motor rotation and listen on the ‘stepper motor driver’ interface pins hooked up to the motion controller upstream. The Arduino source for this can be found on the project GitHub.

Whilst [Frank] mentions that this assembly has a weight and torque advantage over a NEMA 17 sized stepper motor, but we see no hard data on accuracy and repeatability which would be important for precise operations like 3D printing.

This project is part of a larger goal to make a complete 3D printer based around these ‘DC motor stepper motors’ which we will watch with interest.

While we’re on the subject of closed-loop control of DC motors, here’s another attempt to do the same, without the integration. If these are too small for you, then you always repurpose some windscreen washer motors.

Continue reading “Teaching A DC Servo Motor To Act Like A Stepper”

Making Your Own Touchpad With PWM And Rust

The modern touchpads are incredible feats of engineering, with everything from complex signal processing for noise and tremendous economies of scale driving prices low. So [Kevin] decided to see if he could make his own touchpad. Partially out of curiosity of what makes one touchpad better than another, but also because he was curious if he could. Using an STM32 and a custom PCB, he was off to the races in an incredibly cost-effective way.

After writing some quick firmware in Rust, he was reporting the values read by the PWM channels. Using python, he could get a good idea of the raw values that were being written over USB and visualized. So rather than implement filtering in hardware or firmware, he elected to do the filtering and processing on the host computer side in Python. We suspect this gave him much shorter iteration cycles.

If you like the idea of making your own touchpad but perhaps are dreaming a little bigger, why not make a tablecloth-sized touchpad?