Creating a Circuit Board from Scratch
I've been dabbling with creating my own circuit boards for a while now. I recently used KiCad to design this audio DAC circuit board. I had the board manufactured by OSHPark and assembled it myself using a solder paste stencil and my DIY solder reflow oven.
The board plays audio using a typical 3.5mm headphone jack that can be connected to speakers or headphones. Sending I2S data to the board is necessary for audio to be played. This is discussed below.
Big thanks to John Winans for his KiCad tutorials. He does a great job at explaining how to use KiCad to quickly prototype a PCB and get it manufactured at a very affordable price.
I'm into audio projects and have been using audio DAC chips in various projects for a number of years now. I decided to use a Cirrus Logic CS4334 DAC chip for this project. Similar Cirrus DACs have been used in a number of popular consumer products over the years.
Cirrus makes an evaluation board for the CS4334. I didn't purchase this board, but I did use the schematics in the datasheet as a model for the circuitry of my breakout board. See my schematic below. The KiCad project, including this schematic, the PCB layout and the bill of materials can be found in my github repo here.
The schematic is fairly basic. It has the power, ground and I2S data input pins going to the CS4334 chip. The left and right analog output from the CS4334 go through identical low pass filters before going to a typical 3.5mm audio jack.
The PCB layout I made in KiCad without the front copper:
...and the PCB layout with the front copper:
KiCad also allows for generating a 3D representation of the board you're designing, giving you a very good idea of what the manufactured board will look like.
After the design process is done in KiCad there are a number of manufacturers online you can have manufacture your PCB. I chose OSHPark since they were the most affordable and timely manufacturer I could find. They accept KiCad files for manufacturing without the need to generate Gerber files.
OSHPark printed three of my boards for only $8.80 USD with shipping included. It took about ten business days to receive these boards. Here's an example of one of the printed boards. I put a quarter next to it to give perspective of its size.
- Hand soldering. I have a Weller WESD51.
- Using a hot air rework station with solder paste. I have an Aoyue 852A++.
- Using a solder reflow oven.
For me, I've found using an oven works best. I'm a big fan of DIYing on the cheap and happened to come across the Adafruit EZ Make Oven while looking for a reflow oven. It seemed to be a pretty easy project to put together and very affordable compared to actual reflow ovens, so I gave it a shot, and it turned out well.
The process is pretty simple: Lay down some solder paste on the board, place the parts on the board, put it in the oven for a few minutes, let it cool for a few more minutes and BAM, you have an assembled circuit board.
First, getting the solder paste on the board. I think the best approach is to use a stencil. You could probably do it without a stencil; using solder paste in a syringe and dabbing it on the pads, but I've found the stencil really helps quickly and properly distribute the solder paste and make sure it only ends up where necessary.
OSH Stencils will print you a stencil for your OSHPark order for a reasonable price. They printed me a plastic film stencil for my board with shipping for about $19 USD. Using the stencil is pretty straightforward. Lay it down over the board (tape helps), put down a glob of solder paste, spread it over the stencil using the credit card like spreader provided by OSH Stencils and you're good to go as shown in the images below.
Carefully peel back the stencil to reveal the perfectly placed solder paste on the board.
After the solder paste has been applied, I use high temperature polyimide tape to tape the board down to the tray of my DIY solder reflow oven. I then use tweezers and magnifiers to properly layout each component as shown in the image below. Note that I don't put the headers or the 3.5 mm stereo audio jack on at this point. I hand solder those after all the surface mount parts have been properly soldered.
After all the parts have been properly laid out it's ready to go into the oven!! As mentioned, I created my own Adafruit EZ Make Oven. It's an awesome project and so far has worked great, producing excellent surface mount soldering results in just a few minutes. Here's a pic of the oven cooking my board in my kitchen.
Important: Do not use the toaster oven for preparing food after using as a reflow oven. Solder usually contains lead and possibly other nasty elements that can cause serious health issues. ...My lawyer made me say that.
Here's a closeup of the Adafruit PyPortal while the oven is in use. The targeted soldering profile temperature is the green line, and the actual temperature is the red line. Note how closely it follows the targeted profile temperature.
It only takes a few minutes to bake the board, turning the solder paste into quality solder joints between the board and the tiny surface mount parts. After letting it cool, I hand solder the audio jack and header pins and the board is now fully assembled!
The video below shows my board in use. I have an STM32F411 development board sending I2S data to my DAC breakout board. I wrote a small STM32F411 program that sends a short piano sample of audio to my DAC board. This program can be found on GitHub here. My DAC board's 3.5 mm stereo jack is then hooked up to a typical pair of powered speakers to hear the audio.
Any questions, just let me know, I'll be happy to discuss.
Author: Terence Darwen
Tags: Embedded, Audio, DAC, Cirrus Logic, CS4334, PCB, circuit board, KiCad, I2S, STM32, STM32F4, STM32F411, Audio Software