Beads, an illustrated history

May 30th 2017

I pitch “Clouds light” to Hannes, with this mockup.

Yes, it was supposed to have a mono in, and a dedicated grain trigger output. Preset envelope shapes. Buffer duration indicated by a number. Dedicated CV input for dry/wet mixing. ASSIGN could be assigned to envelope shape, feedback, reverb, or override the random signals routed to the attenuverters. Yes, the attenuverters were still attenuverters.

June 7th 2017

Hannes comes up with mockups that fail to convince me. There must have been 25 of them in total.

June 15th 2017

The first time the internal wavetable mode is discussed, after Hannes asks me if, like Rings, this new module can work without an audio input.

June 27th 2017

Still stuck with mockups. This was the one I liked the most at that time.

What got us unstuck was… Marbles! By adding a second pushbutton, we can restore some symmetry and get something pretty!

Hannes tried sliders, but I became very stubborn with that mockup :smiley:

That same day:

June 28th 2017

Motivated to write some code. Audio buffer and delay line classes – at the core of everything.

July 17tht 2017

The panel looks like this:

Stray observations:

  • No “solid” envelope shape
  • Attenuverters
  • Funny “random density” icon
  • No reverse mode

July 20th 2017

The grain triggering code is done.

July 21th 2017

Frédéric Meslin (of Fred’s Lab) starts working on the hardware, with an STM32F7 (216MHz, less RAM). This will last until Fall.

October 2nd 2017

Grain triggering code is rewritten to handle grains starting in-between samples (fractional index).

October 3rd 2017

Arguing about the CW DENSITY icon looking like a barcode.

October 10th 2017

Hardware prototypes are built.

November 21st 2017

New envelope shapes for the grain (including the solid one)!

December 20th 2017

A demo firmware (audio pass-through) runs on the hardware proto.

January 29th 2018

Reverb, mixing.

February 16th 2018

Delay mode.

March 7th 2018

Kaboom! I decide to cancel the F7-based project since ST has released the H7. This is pretty much the birth of Beads as you all know it.

March 8th 2018

Rewriting everything, absolutely everything, for stereo :’(

March 9th 2018

Still arguing about the feature set, but it starts looking familiar.

March 24th 2018

Attenurandomizers are implemented.

March 26th 2018

Discussions about a mode in which the POSITION knob addresses slices marked by the TAP button. This never got implemented ; but some ideas ultimately got recycled in the delay feature. Interesting thing: the SHAPE knob controlled a “dubby EQ” rather than the slice/delay tap envelope.

March 29th 2018

Reversed grains are in!
Screenshot 2021-02-18 at 02.10.47

March 30th 2018

I removed the dubby EQ because changing the slice/delay tap envelope actually sounded nice on the intro of the Talking Heads’s “The Girls Want To Be With The Girls”.

April 10th 2018

Wavetable granular synth! It’s done!

https://www.instagram.com/p/Bh2NBWKAnK_/

April 12th 2018

We went full white LEDs!

There were still 3 quality mode LEDs, cassette to CD.

May 7th 2018

I post the requirements of the new version (H7, true stereo) to Frédéric. On his side, hardware development will take place in little bursts throughout the summer.

September 7th 2018

Now it’s called Crowds.

September 13th 2018

Icon finalized!

October 19th 2018

Frédéric is working on the drivers. By the end of the year, there is a working prototype running demo oscillator code that stays in a drawer, but I have lost all motivation to work on this thing.

September 13th 2019

I am back in the game. Reworking Frédéric’s drivers so they match the style of Marbles/Plaits/Stages/Tides.

September 19th 2019

Normalization detection, pot scanning, input detection and AGC.

September 25th 2019

Calibration, assignable CV inputs.

September 26th 2019

The wavetable synth mode is fully functional on the hardware.

October 4th 2019

Painful code change: rewrite audio buffer class to R/W in chains of non-contiguous blocks of RAM, due to H7 memory layout.

October 8th – 12th 2019

A productive week: test fixture, factory testing and calibration, bootloader, everything :slight_smile: Huge optimization found by using a 21:10 format for delay line addresses instead of 47:16, avoiding expensive int64 to float conversion code.

Not happy with 3 white LEDs for the quality setting. Now I want four settings!

Looking for quality mode icons!

October 11th 2019

Meanwhile, Hannes finds the right thing to do (bars proportional to the buffer length)!

Me being an ass:

October 18th 2019

Looks like we have a final panel!

October 21st 2019

The hardware is back in my hands. I update the LEDs. Unlike Frédéric, I don’t build the boards myself, but have it done by Beta Layout.

October 23th 2019

“Beads needs a manual” email, with my ugly sketches:

November 7th 2019

Oops, New HAL from ST to support the latest revision of the H7 (480 MHz instead of 400 MHz). Lots of tricky driver code updates!

December 4th 2019

Beads doesn’t pass FCC/CE tests.

December 16th 2019

Frédéric finds that the decision to split the digital and analog grounds caused a large current loop under the codec. PCB redesign starts quickly!

December 17th 2019

Meanwhile, buffer autosave!

December 19th 2019

A lot of PCB rework, new grounding scheme! Prototypes are ordered.

January 10th 2019

Oops, some of the prototypes don’t work – weird signal integrity problems on the codec clock!

January 17th 2019

Frédéric is back at the EMC lab. This time, the module passes the tests, and he finds that the ferrite on the codec clock line introduced oscillations. A resistor preserves the signal integrity.

January 27th 2020

A new iteration of prototype boards with the final changes is ordered. Meanwhile, I’m getting ready to have my head sawed.

February 25th 2020

I build the last 4 prototypes. They all work as expected, the hardware is done for me!

March 9th 2020

Quote request sent to my CM!

April 1st 2020

Ordering 50+2450 units.

July 9th 2019

First 4 boards made, pesky problem with the factory calibration procedure (the normalization probe signal is not disabled during calibration :woman_facepalming:)

July 30th 2020

50 boards are made and sent to me – some sent to beta testers, some thoroughly inspected here.

September 28th 2020

I send my final QA report to my CM, mentioning all the issues found on the first sample of 50 boards (one unit with only large knobs, one defective LED not spotted during the factory test, and one nasty problem which turned out to be a rare software bug).

October 5th 2020

I give the go-ahead signal to have the rest of the boards manufactured. Most stressful email ever!

November 13th 2020

Golden firmware sent to the factory.

February 4th 2021

python script to allocate modules to dealers proportionally to their 2019-2020 sales.

114 Likes

Love this post! Very interesting and thanks for sharing and most of all for hanging in there during development! :massage_woman:
Very much looking forward to creating wonderfulness with Beads.
Thanks!

This is a very special treat to some of us Émilie, and is really appreciated. Your openness and transparency about what it takes to create something on this level is a rare gift, just like your ideas, designs and integrity. Thank you so much - deep bow of respect!

7 Likes

This is a very special treat! Thankful for your willingness to disclose parts of its development and provide insight on the process.

Can’t believe there was a one year gap - I’m curious if blades took center stage for you module wise during this time?

Words fall short but thank you for everything - your brilliance is a source of inspiration!

WOW - immense amount of work. Thank you for having the patience to do this.

My birthday :smiley:

2 Likes

This is such an interesting read - thanks a lot for posting it!

A fascinating insight.

“python script to allocate modules to dealers proportionally to their 2019-2020 sales” is just the neatest thing. :smiley:

Thanks for sharing! It’s been quite a journey.

6 Likes

Fascinating read @pichenettes.

Loved reading that. Makes me appreciate all the work that goes into developing a module like this even more. I also find beauty in symmetry and maybe that’s one of the reasons I connect so strongly with your designs.

1 Like

That was indeed the cherry on the cake! So much to unpack and learn.

If there was no finished product, then this history would be a fine example of conceptual art!

But, there is a finished product and it’s a great example of applied art!

As others have said, a fascinating look into the development, thank you for this. Is that a “normal” amount of back and forth between yourself and Hannes for panel refinements?

Oh absolutely! Very often it’s been “naaah I don’t like any of these! make me more mockups please” until I fall in love with something that I will become very conservative with. I can guarantee you that every possible permutation of knobs and jacks ends up being tried (this happened for Clouds and Marbles)! Then a lot of obsessive tweaking for details like button labels and icons.

6 Likes

Very happy you didn’t go for “Crowds”… that would have a tiiiiny bit too comedic for my taste :sweat_smile:

(and also something you tend to want to avoid during a respiratory virus pandemic)

4 Likes

At least 1s between each grain and no envelope overlap, for social distancing :grin:

19 Likes

Oh, post-retirement project right there!

Wow thanks for the history ! Fascinating !
I read that you ordered 2500 Beads.
The first batch seems to be out of stock : was it the 2500 ? Or the 2500 will be the sum of all the batch you planned ?
Just curious to know how many Beads there are now in the world :smiley:

Thank you for sharing your process. This was a really engaging read.