Beta blog: development log with a bit of random yak shaving

Quick update:
We got the laser cutter up and running and have been rapidly iterating on the form and function of the boards.

We swapped out the original joystick for the same models used on the x-box. This caused a cascading change through the system because the pots are taller.

Luckily it means that we’re replacing the original potentiometer. We’ve found one that has 1M cycles, instead of 5k. Let’s hear it for 200 times improvement.

Everything we’ve put together, we’ve taken apart almost right away to keep making changes. We’re close to this latest shakeup being camera ready. We can’t wait to show you our progress!

Stay tuned

The new beta hardware is up at the store.

We have a video of the synth in action: https://www.youtube.com/watch?v=FuBrryA14pA

We created a drumpad keytar and took it to our local full moon jam.

Before the demo unit was destroyed by an overzealous dancer, we got a lot of great feedback on the setup. My favorite part was when a 70 year old woman played the drums for 20 minutes. I was dancing to her drumming. She was drumming to my dancing. It was a hoot and a half.

Lessons learned:

  • Louder speakers.
    We brought a portable speaker that is usually plenty loud on its own. There was no competition at all against the cacophonous sea of a drum circle.
  • More drum pads.
    The kit we brought had 8 drum pads. Pretty much everyone wanted to put together more complex and varied rhythms
  • Better accent control.
    The velocity sensing on the pads is decent, but we found it was better to map out the amount of expression to a few pads and vary between them. This allows the rhythm of the player to affect the accenting instead of using the velocity sense. I’m thinking this is going to be a matter of personal preference, but we’re going to keep playing and see what we can do.
  • Synth noises sound great at a drum circle.
    The drums that mimic actual drums sound great, but the synth noises that generate sounds you can’t make on a drum sound incredibly good. The first time you throw in a space cowbell, it sounds out of place, but after about four measures, you’ll hear someone else joining in, and someone else still playing a counter rhythm.

All in all, it felt more like play than product testing. Thank you all for coming out and playing with the instrument.

We’re currently doing documentation / video / photo production to demonstrate the features of the synth.

Until the units start getting out there, we’re building feature patches for demonstrations. If you have any suggestions, we’d love to craft some patches and record some sounds.

Because of the excitement at the Full Moon Jam, the next patch we’re doing is a drum kit.

We’re going to try out a cheap drum pad with a lot of buttons but no pressure sensitivity:

There is also a pressure sensitive drumpad at around the same cost. It’s got fewer buttons, but we’d like to see if the pressure sensitivity is enough to counteract having so many buttons.

We’ll post it here when we have the results.

#Drum Pad Success

We were able to get full functionality out of the Novation Launchpad Mini. We’ve made a patch in our repo:

Here is a crude sketch of the CC#s for the buttons

We’re in the process of rewriting the drum objects to map to 64+ buttons. We’ll check back with a video demo.

#Beta Hardware Update
We now have all of the hardware in-house to start assembling the beta orders. We took in more orders than we anticipated, so we might have to wait a couple of days if something is shorted, or we have poor yields.

The software is functional, but we would like to clean it up and make updates as we start to understand how people are using the synths.

Once we finish assembling and shipping, we’ll go back to creating cool videos of the Wanderlust in action. We’ve already completed a couple of demos using the Novation Launchpad, as well as a Demo for a generic MIDI controller.

#Beta Hardware Update

I wanted to keep you up to date on the beta production. We received the bulk of the synthesizer core hardware and are assembling the daughterboards with the joysticks, knobs, and OLEDs. So far, our test fixtures are working, and finding production defects.
We are waiting on another shipment of PCBs that should show up today to balance out the orders.

We are, however, delayed because our laser cutter is failing and ruining enclosures. I apologize because we could have ordered these from a contract manufacturer weeks ago, but we wanted to cut and build the enclosures one-at-a-time to see if we could make any further design improvements. We’ve been troubleshooting it, but even with all the improvements we’ve made, it’s still spotty enough and is keeping the team from finishing the boards.

I’m headed over to a few shops in Chicago to see if I can expedite and get this material cut in the next few days and shipped by early next week. The worst case scenario is we put in an order with a contract manufacturer. I don’t expect it to clear before the holidays, but definitely no later than the second week of January. I don’t think it will come to that, but it makes me happy to have a back up plan that will work, albeit slowly.

I thank you for your patience while we breathe life into this musical instrument.

Terse update:

All the beta hardware has shipped besides two customers in Chicago who have asked to pick up their synths in person.

If you have an issue, please contact us here. We’re closed for the rest of the day in celebration, but will be back tomorrow to work on software and push out all the updates and tutorials.

Thanks again to everyone who participating!

Devlog: Finished Believotron Wanderlust Assembly Instructions.

Current: Refactor software repo.
Next: Getting started guide.

We’re going to be spending the next couple of days cleaning up the software repo and will be pushing a stable release this Friday afternoon (Chicago time). Feel free to comment or ask questions in the meantime.

Unfortunately we have to clean up the repo before finishing the getting started guide. I hope the stock patches we shipped on the synthesizers keep you all busy until this weekend!

We’re midway through refactoring the code-base. Check out the commits on https://github.com/Believotron/Axoloti-Patches to see what’s being changed. We’re making unit tests for as many of our objects as possible, to help with the SQA regression testing.

We knocked out refactoring and creating tests for /logic today.

#Code repo update
We’ve done our first pass cleaning of all of our code repo. The files are not 100% tested, but the spaghetti has been turned into cous cous.

Code update

OLEDs

We currently have a dev branch with choppy updating on 8 simultaneous bipolar values. The next step is to only update when the value changes to increase the update rate.

There’s a disconnect stability problem, so I suspect that there’s either a memory leak or a buffer overrun.

There is more work to do in OLED text formatting and making the GUI elements usable. It would be nice to separate the OLED GUI objects from the other parts, but it’s incredibly convenient to have one control loop to manage all of the peripheral operations. It might take 2 days to clean every thing up or 14. We’ll get a short video uploaded as soon as we think it’s stable.

If you have issues with the system, please post anywhere in the forums.

OLED update

The good news is that we have gotten the code up and running for updating dynamic values on the screens.

The bad news is that once we started updating patches, they all ran out of SRAM. We understand that this is caused because the Axoloti patcher compiles for performance, not footprint. If you call a function and call it again outside of a loop, it will make two copies in the instruction code. We took a look at the code and even if we optimized the code, we would still be eating a huge chunk of the synthesizer program space.

We’ve decided that we’re going to add a microcontroller to the design to handle the overhead and free up the Axoloti core to do what it does best. There is an upgrade path for the existing beta users when we get it completed. We are expecting to have this feature integrated into the spring update.

We’re going to do an efficacy test by building a benchtop flying wire prototype and report back what we find.

Forum Update

I would like to apologize for the lack of attention on the community forum. In order to focus on the hardware and software development I had delegated that responsibility and found out today that the questions were going unanswered and the blog updates were going unposted. I’m here to answer any questions and reassure everyone that the project is alive and well.

We’ve been in heavy communication via email with many beta users and were disappointed that we weren’t getting any feedback from the forum. I was unaware that we weren’t checking it and I want to do everything that I can to help beta users use their hardware.

Anyone who wants to leave the beta program is welcome to message me at believotron@believotron.com and I will issue an RMA and refund your money. I hope you stick around as we are close to shipping out a hardware update.

Beta Update

We’ve made a lot of progress on the live-updating OLEDs. We headed down a couple of dead ends until settling on the STM32 Blue Pill Board, as it’s possible to use with Arduino and can be programmed to do so much more.

The hardware prototype compiles fine and we are able to run a couple of patches, but we still have to refactor and test the rest of the codebase. We have a couple of beta participants running the hardware right now.

In addition to an upgraded circuit board, we will be offering updates to the 3D printed OLED fixtures and an updated top plate to prevent sticking on the joysticks. Unless we discover any critical software problems, we should be able to ship around 6-15.

OLED Jig

Part of our next beta hardware update is upgrading the OLED Jig. We’ve tried out things from hot-glue, to other 3D printed jigs. The most recent problem is the skew or rotation of the OLEDs. We’ve created this new jig to make sure the OLEDs don’t rotate while they’re installed. We’re trying it out with the assembly process and sending off units to see how they fare.

Quick OLED update

The OLED API now supports arbitrary text / character placement and can support 8 values updated without the screen getting choppy. We’re working on only updating when a value changes, but for now, all the values are updated every cycle.

The big holdup is still trying to get as robust a solution on the OLED microcontroller as possible. It’s possible to reprogram, but it’s complicated and involves opening the case every time you need to reprogram. We’re looking into a solution that allows for external access, as well as working on the documentation to reprogram.

The beta testers in Chicago who have been using the new firmware say that it’s a big improvement, but it’s still a little confusing to use. We’re going to keep making improvements until we make it easy to make patches.

I really want to take some time to thank the patient beta users waiting for the OLED update. If you’re good at code and setting up dev environments, we’d be happy to move you up the queue for the hardware beta update and test out our documentation.

1 Like

OLED Progress

After receiving a lot of feedback on the OLED microcontroller, we’ve decided to take a step back. There are a lot of different ways of displaying values, menus, patchnames. We’re having a hard time making the code robust for new use cases and different ways of constructing synth modules and it’s holding up the development of just about every other part of the system.

We feel that the best way forward is to modularize the OLED section so that many more people can develop code for many different types of applications. We are thinking of making shields/breakouts for all the popular microcontroller families. We feel that by generalizing the interface and creating dev-kits, we can make the code more robust in less time.

We also feel that by opening up the platform more people can create their own modules and increase interoperability.

In order to accommodate the modularization and to fix a lot of manufacturability issues, we’re switching to the Eurorack format.

Existing Beta Users

We’re going to converge on a design and then create an upgrade path for Wanderlust Beta members. Anyone who has purchased a beta unit will be offered a free upgrade.

Eurorack Axoloti

Our first change is to offer up an Axoloti Eurorack module to offer basic integration. There is an 8 channel OLED array shown to the right, showing the max number of display channels. We’re going to create another module that is a vertical version of the Wanderlust controller.

Laser Cut Axoloti Eurorack enclosure

We’ve created a low-cost laser-cut Eurorack enclosure with Axoloti integration. This way you can develop on Eurorack without the Axoloti taking up a slot.

Lo-Rent Axoloti Eurorack Devboard

We know that Eurorack can be really cost-prohibitive, so we’ve stripped down the design to the bare minimum. We hope by having an extremely low cost setup can encourage more interesting designs.

Wanderlust Dev Kit

Because we’re still improving the performance of the OLEDs, we’re going to stop selling the final assembly, and only offer a development kit.

Hello
Is it still possible to buy the 250 dollar version from Europe?
Maki76