Some weeks ago I created a post about my work on a new hardware module for Caudal. As you may have seen in the title of this post, the result was unsuccessful. I want to write the causes that way I can avoid the same problems in the future.
Caudal is a challenging module to make in hardware because it features 12 analog outputs. Adding those many outputs would make it very expensive. Think about the cost of the ES-8, which features 8 outputs, and add 50% increase to add 4 extra outputs.
For every output it's necessary a DAC channel plus at least one OPAMP to adapt the signal. If we start adding up, we need a powerful DAC and a bunch of components. A circuit like that requires a lot of space which would make the module big or needing multiple PCBs.
I decided to design it the other way around, I would find the components that I could use and then try to fit Caudal into that. My targets were:
Minimise the HP
Minimise the cost
Maximise the functionality
I decided to use a very specialised IC that provides 8 DAC channels and can handle high voltage (DAC7718). The problem is that the chip is expensive: ~18 euro each. The advantage of using this one is that can reduce the number of OPAMPs needed and reduce the area as well.
In order to test the IC I made a small breakout board and send it for manufacturing to a European PCB manufacturer. They have a good cost, but the fast shipping with DHL is quite expensive, in order to save some money I selected regular mail shipping. This was in November last year. Since I didn't have a tracking number, almost two months later I was contacted with the news that the package was returned to the sender. The manufacturer asked me for an updated address and re-shipped it. Three weeks after, I found that he sent the incorrect boards. At this point I have waited almost three months to be able of making a single tests with the IC. When making software I have to wait 10 seconds to compile to make a test.
Since I'm working on the other modules, I decided to prepare a bunch of prototypes plus boards for Vorg and Freak and place an order somewhere else with paying a faster and more expensive delivery method. Instead of making the breakout board I decided to make the full thing (because I thought I was very good at making circuits 😎).
I had a good record of making successful boards. The times I had to make new revisions were because of small mistakes that did not affected the actual circuit, but would not look nice in a final product. With all that confidence I designed and routed (in about 8 hours) the board. I designed it in a rush. The board is small, it has many components and all the controls are in the bottom layer.
Ten days after, I received all the new boards and the first thing I did was to assemble Caudal 2. I started testing all the inputs, LEDs, buttons and knobs. Everything worked correctly.
Then I had to implement the communication protocol for the DAC. I started reading carefully the data sheet and BOOM! I found the first error. Then I found more, but nothing that a few carefully soldered wires, a few traces cut, removing the IC and cutting some pins could not fix.
It didn't fix it.
Maybe the IC is dead, I had to remove it twice to fix PCB problems under the IC. Maybe it's a problem in the communication protocol I have not idea what's broken right now. To be sure, I need to manufacture a new breakout board and get a new IC. One problem right now, is that the IC is not very common and I have to wait until May/June so it's re-stocked in Mouser or any other store.
Here are the lessons I learned (written as recommendations):
When manufacturing prototype PCBs, pay the fast shipping. Life is short and the sooner you know it you messed up, the better.
Before making an ambitious board, test that all blocks work separately. Do not skip if you haven't used an IC or a component before.
Read the full data sheet over and over. Often manufacturers write critical information in a single line of some strange section.
Pick popular components they are cheaper and you'll find more documentation in the internet.
Do not design or make boards. It's an expensive and time consuming process 😅
Comments