Blog

2026-05-04

DFU Buddy v0.3.0 released

DFU Buddy was intended to be an end-user friendly tool for firmware updates over USB. Especially, devices based on STM32 microcontrollers can make use of this method because most of them have an on-chip bootloader in ROM that supports the DFU protocol.

When I started, I had access to a good amount of development boards and real-world devices built around these MCUs, so testing was no a thing and I was possible to release a reasonably good working version quite fast.

But there were issues. Some older STM32 families rejected to work with it completely and it took me much too long until I realised that I didn't read the specs carefully enough. I was finally able to fix it with version v0.2.0.

But the story doesn't end here. Despite from the mentioned STM32 microcontrollers, there are other devices using the DFU protocol. That makes sense, because it's an official protocol specified by the USB Implementors Forum. Unfortunately, I had no access to any of these devices for testing. That itself would not be a problem, if communicating with the STM32 already uses a custom extended version of the original protocol. So in practice, I had already implemented the more complicated DfuSe version from ST, but not the much simpler "plain" one.

What I finally did is setting up 2 firmwares emulating a dummy DFU device on a Raspberry Pi Pico 2 board. One of them is based on TinyUSB using C, the other one on embassy-usb using Rust.

The results were quite promising: DFU Buddy was able to communicate with both implementaions correctly. There was also another user who was kind enough to test it independently.

So I decided to release it as v0.3.0. Refer to the GitHub releases page for the downloads.


2023-02-24

SysEx Drop v1.3.0 released

Today I released an update of SysEx Drop, a tool to transfer SysEx files containing sound data, firmware or whatever.

There isn't really anything new function-wise, but some annoyances got fixed in this release. One of it is restoring the application window position correctly between launches. This was already working on macOS since its first release, but has been broken for Windows and Linux. Thanks to the awesome work of the people working on egui and underlying libraries, this is now finally working correctly on all platforms.

On the macOS side, closing the application via Cmd-Q did not store the settings like window position and MIDI port in previous releases, while clicking the close icon on the window frame did. This was also fixed.

I also got reported a crash on Windows, which is quite rare with a Rust application. Some investigation showed that I assumed connecting to a MIDI port always succeeds. That's of course a bit optimistic, especially on Windows where a port can only be used by a single application. Some check is now done and an error message will be shown when something goes wrong.

Finally, the upper limit for the packet delay has been increased to 5 seconds for those who have older machines that take some time to process a larger dump.

Get your download as usual from GitHub.


2022-09-28

Töörö Editor v1.1.0 released

I know it took a little bit more time than expected, but I finally released version 1.1.0 of the Töörö editor providing some major usability improvements.

Despite of some minor layout changes, the most important thing is probably that you now can fine-control any slider by holding SHIFT when dragging. I also put in the ability to use the mouse wheel to change the slider values as well as the option to reset them to default values by CTRL-click or right-click.

Another issue that always bugged me was the relatively high latency on the MIDI merge input that made playing the Töörö with an external keyboard a bit laggy. This should work much better now due to some internal changes.

For those of you that have attached the Töörö to a BomeBox, the editor will now find the device even with the slightly changed port name.

Of course, there's a full changelog available at my GitHub page.

I hope you enjoy the update!