I worked this week on the core of HexoSynth again and plan to refactor it's core into an extra library. I take an extra effort for documenting what is mostly an internal API. One of the most important rules for documentation: Documentation must contain at least an example of how to actually use what you are describing. Code says more than 2 paragraphs of prose. Write your own StackOverflow to copy from, your future self will thank you.

Working on the WAvrVM firmware, today I finally got around to implement an op code parser for the serial protocol between the and the via a HC-05 bluetooth module. The program already takes more than 50% of the available flash and SRAM.But I think everything will fit nicely.

I took the time to document the operations I implemented for my control software WAvrVM. That is a little VM that runs in an with an instruction set to calculate and set the pixel colors in an RGB LED strip. Joined with the bluetooth module HC-05 a or can then upload new animations or just change the colors.

For the big LED panel project I finally found the time to cut the strip into 45 parts. Each 5 LEDs long. Also removed the adhesive pads of them, because it does not stick to 3D printed parts well. Going to use hot glue for this.

For spin off projects I plan to make the DSP part of HexoSynth reuseable, that means it will be split up into an extra Rust crate and provide an API that is not tied to the hexagonal layout. So I shuffled around the code into separate files today.

First sound demo of the built-in tracker. Envelope and pitch is both done by the tracker sequencer. It's really just a primitive demo, there are no other sound shaping modules yet unfortunately.

Finally there is a very basic way to load and save initial patches. This makes debugging so much easier. You also see the tracker sequencer in action there. Still need to debug the clock input of it. But in principle you see that the sequencer is working well already.

Prototyping a new project idea: A DIY hardware interface for HexoSynth. The idea of patching HexoSynth with real cables and using real knobs for controlling the parameters totally got me. Now I'm researching how to realize this cost and work effective.

The tracker actually works! It changes pitches and output values very nicely. Still need to fix the clock input code a bit, because it's acting a bit weird. Oh and more importantly implement preset saving/loading for this to test it better.

I'm really out of practice soldering my own circuits on a perfboard. Don't know if a single circuit with a few traces justifies setting up a PCB etching station in my limited space here.

It's getting there! Today I implemented a part of the DSP integration of the tracker into the HexoSynth matrix. The tracker UI has not yet been integrated into the frontend however.

Designed an electrical circuit for the prototype perfboard I'm going to solder.KiCAD makes things easier if you know your way around in it. When I used it for the first time some years ago, it was kinda intimidating.But with version 5 KiCAD got more useable.

Implementing the tracker backend now, more specifically the ring buffer between the frontend part and the actual DSP backend. As usual, everything solidified with automated tests. Even found a remaining bug in the gate handling. I'm still so excited by this project!

Currently I'm printing about 60 of my LED panels. With a black bottom to get rid of the light leakage of the bottom case and get a more defined shape of the lights once they are on the wall.

After my prototype was done,I printed more panels.I also added clips for cables on this revision,so I don't have to mess around with hot glue as much as before.Ask me if you want the blender/STL files, it might take some time before I prepare a post on thingiverse.

Show older
Mastodon

This is a brand new server run by the main developers of the project as a spin-off of mastodon.social 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!