I started writing this blog when I had already gotten to the stage where I was somewhat sure that my Open USB FXS design would stand a chance of serving its purpose. I had many doubts when I first began with that project (especially given my not-so-relevant background), and I did not want to start posting on something that would prove to be a ”how-come-you-didn’t-see-it-right-away” kind of failure.
When I first started posting, I had the SPI already working and the two timing puzzles outlined in the “Delicate Timing Trickery” and “Time” posts already resolved (although the ISR code was not yet complete at that time). Now, after all that, it’ s time to switch to writing in the present tense. I have synched the blog with all my past work, and things are happening “now”.
This means that the blog will now be updated less frequently, as I ’ll be progressing through the next stages in my project (so I hope, at least!).
Right now, I am in the midst of soldering the rest of the components onto my PCB. This might seem like a few hours’ work, but it’s not. For one, to get here, I had to finalize the values of the resistors for the DC-DC circuit. I used the Excel spreadsheet of Silabs for this, so the final parts list is here.
Did you notice the table on the last page of the parts list? I decided to avoid ordering resistors with weird values from the Internet (which would cost me a little fortune). Instead, I decided to use a little Excel-based calculator and try to find the closest match for these weird values using two E12 resistors in parallel. Thanks to the law of Ohm (and the shape of SMD resistors), my worst match has an error of ~2%.
Although the 2% result is not bad, it turns out that soldering together couples of 1206 SMD resistors piled up in parallel is a bit of a slow process (it’s even more difficult than soldering SMDs on a PCB — try it for yourself if you don’t trust my word). Below you can see a close-up shot of this. The circled components are couples of 1206-sized E-12 series resistors piled up and soldered together in parallel.
You may ask why I went into the trouble of doing all this, since using E12 series resistors would give an error of at most 10% anyway. The reason is that I did not want to allow any reasons for poor performance or failure. The reference design specifies values such as 196k which are close to 10% off the nearest E12 value (180k for that case). It’s not impossible that if I deviated that much from the suggested value, something would work “not-quite-as-expected”. I thought I’d better avoid this…
So, what will happen next, when I finish up soldering components and plug the USB cable in? Will it all end in a big-and-loud-spike surrounded by a smelly cloud of smoke? Will it still work as it did so far, with all its components on? Will the DC-DC converter behave ok? Will the circuit eat well under 500mA (for USB) as promised by Silabs’ Excel?
As of this writing, I have not the slightest idea about all this. Truly, the contents of the next post are a big unknown. And this step is a critical one: if I manage to burn something now, the odds are that I won’t ever find the time to debug or to build a new PCB to find out what went wrong. Let’s be optimistic though. Let’s hope for the best, and maybe everything will go fine after all despites Murphy’s Law (I know that as you are reading these lines, you are doubting this as much as I am while typing them, but who knows…).
P.S. After finishing the soldering work, I thought it wouldn’t be a bad idea to add a photo of the board, fully assembled. Here it is: