Vult vs Semiconductor Shortage (round 2)
At this point, you all are aware of the problems caused by the semiconductor shortage. You may have heard that many small companies in the synthesizer have shut down because they are not able of manufacturing more products. In our case, we are more or less ok because I'm the only person working on Vult and I have a stable job. Over the last months, I have been working on bringing more Freak filters to life. However, as I will describe later in this post it has been more complicated than I imagined.
Design process adapted
Before the shortage started, designing a new module was somewhat easy. I used to buy a bunch of components that could be good candidates for the task. For example, different Microcontrollers, CODECs, DACs, regulators, etc. After evaluating them, I could decide which ones I was going to use based on features, cost and availability. Having multiple providers of the same part was a must. Once I had refined the design, I was able of sending the design for manufacturing and buy all the components. Yes, buying all the components necessary to build a batch was the last step.
Nowadays the steps have shifted. I buy the bulk of components that I think I will need. Based on that, I have to adapt the design in order to make it work with the bought parts. In the case of the Freak, the changes are not drastic. The packaging and presentation of op-amps, regulators, and crystals are different, but functionally the module is the same. Those changes force me to re-do the PCB layout and update all the manufacturing information. Making changes like this is always scary because a mistake can lead to having a batch of non-working boards. For that reason, I have to assemble a few boards by hand just to make sure everything is in order before manufacturing a larger batch. This verification step can take a few weeks, and by then, the components may be out of stock.
It is obvious to say that the manufacturing house needs to have all the components necessary before starting to build the boards. That approach of building the whole batch at once did not adapt very well to the constantly changing circumstances. What I needed was a way of building many small batches of boards according to availability. For example, a small batch of boards with a certain package for an opamp and another small batch with a different one.
Manufacturing at home
My previous batch of Freaks was entirely built by myself. I spend many hours manually picking and placing the components of every board. I showed a bit of this in my previous blog post: https://www.vult-dsp.com/post/freak-out-now
Manually assembling the boards is slow, but it gave me the flexibility I required of being able of changing the design if necessary. This problem pushed me to do a project that I have been wanting to do for a long long time: create my own pick-and-place machine.
I have been following the progress of the LumenPnP machine for a while. Thanks to that, I know that making a PnP machine from scratch is not easy. The LumenPnP is currently at a stage that can be used to build small batches. For that reason, I decided to get one of their kits instead of building my own.
Once I received the LumenPnP kit (version 2, currently they sell a new version 3), it took me a weekend to assemble it, after a week of 3D printing parts. The build is straightforward and it is well documented. What took me more time was learning and configuring the OpenPnP software which is an open-source program used to control PnP machines like the LumenPnP.
It took me several weekends to get the machine ready to start assembling boards. My main issue was that it required a bunch of tweaks in OpenPnP in order to make the machine run smoothly and reliably. This is the first board that I successfully built.
Building that first board with the PnP machine took me much longer than building it manually. The main issue was the preparation time required by a PnP machine. Currently, I only have "strip feeders" which are a kind of rail where you put strips of components. From there, the machine picks them. It can be the case that you make a sudden move and all the components fly away requiring you to put in a new strip of components.
Another problem with these feeders is that if you require many components of the same value you may run out of components in one of the strips. You either put all the components you need in multiple strips (risking the components to fly) or you put a single strip and reload it multiple times.
The solution for this problem is the use of "automatic feeders" which are small machines that provide one component every time the PnP machine requires it. The makers of the LumenPnP machine are working on automatic feeders which should make setting up and running the machine easier and more reliable.
Thanks to the LumenPnP community that shares their own accessories and upgrades I was able to 3D-print a bunch of parts that helped me with the production. In the following video, you can see my machine building a few Anima boards.
With my current setup, I can build up to 12 Freak boards a day. It is not as fast as the high-end machines, but with a few upgrades (double nozzle and automatic feeders) it could do much better.
When will the modules be ready?
Short answer: Now. I have been slowly testing the new modules. I wanted to make sure that all modules were working before putting them in stock. The modules will be on pre-order and I will ship them as soon as I have them ready.
The previous batch sold out quite fast. Thank you for that. If you don't manage to get a module from this batch don't worry too much. I already have most of the components for the next one and I will start building more modules in the coming months.