Introduction: TinyDice: Professional PCBs at Home With Vinyl Cutter
This instructable consists of a step by step guide documenting a method of manufacturing professional quality PCBs at home through the use of a vinyl cutter, in a reliable, simple and efficient manner. This method allows for the production of consistent and high quality PCBs at home with few common materials and in a very short timespan. With all the files ready, the whole process can be accomplished in a few hours.
Subject of the guide, tinyDice:
For the purpose of this guide, the process will be illustrated with the production of a batch of 3 tinyDice, an electronic die based on the atTiny85 microcontroller with software charlieplexing, which allows the control of 9 LEDs with only 4 pins and 4 resistors. It is an improved version of my original tinyDice (2014), and all the source files required for this Instructable are available for download as a compressed package on the supplies step.
Origin of the method:
As an electronics enthusiast, I've had my fair share of experience with making PCBs in the past, but most home methods are either excessively unreliable, like the Toner transfer method, or excessively complex and laborious, like the CNC router method or the UV photoresist method (which I have covered in the past on the original tinyDice). Additionally, the final quality of the products tends to be rather poor, especially if you attempt tok implement UV soldermasks.
From these unsatisfying experiences, I decided to explore alternative methods for creating PCBs at home. As I have recently begun experimenting with a desktop vinyl cutter, it occurred to me that a vinyl stamp could make an excellent and reliable mask for PCB etching. On initial online research, I didn't find any references of people using vinyl stamps to make PCBs, which surprised me as it seems very plausible. This motivated me to experiment with the process and find out if it could work reliably and efficiently to transfer PCB traces from the computer to the copper.
Development of the processes:
Making clean and consistent copper traces in a home PCB is in itself an achievement, but in order pof the PCBs to work properly and last long, they require some sort of soldermask, which prevents unwanted solder bridges and protects the copper traces from corrosion. Traditionally, the solder mask used is in the form of a UV curable resin, which in practice is quite difficult to work with.
Originally, I intended to use vinyl sickers indirectly as a mask for curing UV soldermask. However, on several attempts, I couldn't get the UV soldermask to reliably cure on the intended places only, and I was never able to make a sufficiently thin and even layer, which ultimately resulted in a bunch of ruined boards. Thus I scrapped that idea and it occured to me that perhaps some sort of stamp could also direclty be used as a soldermask, although it certainly coudn't be vinyl, as it wouldn't whithstand the heat of reflow soldering.
With this in mind I looked to Kapton tape, which is self-adhesive, thin, and promises to resist high enough temperatures for soldering. Kapton tape is sold in rolls, but it occured to me that if it were applied over the backing of conventional vinyl, it could be cut directly on the vinyl cutter and used directly as a stamp. From the first trial of this, it was evident that the Kapton tape behaved quite promisingly on the vinyl cutter, though all the cuts that passed over tiny bubbles were jagged or incomplete, so the key to perfect kapton stamps was applying the tape perfectly on the vinyl backing without allowing any air to get trapped underneath. This initially proved quite tricky, as Kapton is excessively thin and sticky, but upon trying to lay it down using a standard plastic card I realised that it could be done perfecly and easily in this way.
Through these iterative trials I also observed some of the practical limitations of the process, which mailny have to do with the copper mask being originally a stamp. These limitations evolved into a set of design guidelines for making this process reliable.
Step 1: Materials, Supplies and Tools
- 5 x 10 cm blank PCB
- 10 x 15 cm self adhesive vinyl
- 50mm wide Kapton tape
- 10 x 15 cm vinyl transfer film
- Ferric chloride etchant
- Isopropyl alcohol
- Solder Paste
- PETG filament (for the keychain case)
- desktop vinyl cutter (I use the Silhouette Cameo 3, but any basic machine will work)
- Hot air rework station (not indispensable but helpful)
- soldering iron
- plastic card (old ID or any sort)
- USBtinyISP or Arduino as ISP
- manual acrylic cutter (Can be homemade from a section of old hacksaw blade)
- 220 & 400 grit sandpaper
- 3D printer (optional, only for making the keychain case)
- Silhouette Studio (or equivalent for other brands of vinyl cutters)
- EAGLE CAD (not required if you don't intend to modify the design)
- Photoshop or any image editor (not required if you don't intend to modify the design)
- Arduino IDE + atTinyCore
- Slic3r or any other 3D printing software.
tinyDice resource pack, (available for download in this step as a RAR file)
for each tinyDice85:
- 9x 3528 SMD LEDs (any color, recommended all the same)
- 1x attiny85 (SOIC)
- 4x 33 ohm 0805 resistors (exact value is not critical, use any similar value but all the same!)
- 1x SMD push button
- 1x CR20XX battery clip
- 1x CR2032 battery
For the programming jig:
- 6x pogo pins
- 1x 2x3 male header (for ISP)
- 1x 2x1 male header (for external VCC source)
- 1x AMS1117 3.3v LDO regulator (SOT-23)
Step 2: Prepare All the Stickers.
For this process of making PCBs at home, stickers are involved at three stages; As a mask for etching the copper clad, as a solder mask to protect the traces and constrain solder, and as a stencil to apply solder paste on the pads. In order to optimise the process as much as possible, all the stickers can be prepared in a single seating.
Preparing the files for cutting:
If you don't intend to modify the design, you can directly use the prepared images or the Silhouette Studio file with all the stickers. If using another design do the following to prepare the file for cutting:
As most free vinyl cutter software works with images, we must export the design from EAGLE as a high resolution image. For this, first hide all the layer but TOP and VIAS, then export the panel as an image in MONOCHROME and at least 1500 dpi. Next, repeat the process but only with the Tstop layer, in order to get only the pads.
Once you export the images, it is advisable to do a bit of cleanup in photoshop to increase the reliability of the process. For the copper clad image, this consists of erasing any small isolated copper areas or connecting them to larger areas, erasing the centre of all through holes, and increasing the clearance around thermals. For the pads image, you must fit them over a black shape which overflows the whole copper clad a bit.
Next, import the images into the vinyl cutter software, trace them and scale them to a size of 100 x 100 mm. One advantage of panellising PCBs is that you have a consistent reference to scale them properly regardless of the resolution.
Preparing the Kapton tape for cutting:
Kapton tape is a great material, however In order to make use of it as a sticker we must first place it on a flat support. For this we will utilise the backing from the vinyl transfer tape, so peel the pate off and temporarily set it aside, taking care to keep it clean. Next, unroll a segment of tape and carefully apply it on the wax paper backing using a plastic card as a squeegee to ensure no bubbles remain trapped underneath. I recommend preparing in excess of what you expect to utilise, as some stickers might not come out perfectly.
Cutting the stickers:
Once you have all the stickers traced and scaled in the vinyl cutter software, proceed to placing the self-adhesive vinyl material on a corner of the cutting mat and placing the backed Kapton tape on another corner.
Next, on the software, place only the copper clad and solder paste stencil designs over the area corresponding to the vinyl and set the cutting parameters to: Speed 3, Blade depth 1, Pressure 8. Send the job for cutting and let the machine do it's thing.
Finally, move aside the previously used designs and place only the solder mask design over the area corresponding to the Kapton tape. Set the cutting parameters to: Speed 1, Blade depth 1, Pressure 3. Proceed to sending the job to the machine and once finished carefully remove both the self-adhesive vinyl and the Kapton materials from the cutting mat. Be careful not to make sharp creases when peeling them off.
Weeding the stickers:
In order to transfer the vinyl stickers to the PCB we must make use of vinyl transfer film to ensure all regions get transferred in place. To be able to transfer only the intended segments of stamp, we must remove all the unwanted areas before applying the transfer film. For this use a cutter and carefully lift a corner of the unwanted area. Shove the cutter underneath and press the vinyl onto the blade to make it stick. Next, pull the cutter away and the excess should begin peeling. Depending on the design, all the unwanted areas may come out as a single piece. Once weeded, place the transfer film over the copper clad stickers ONLY, and discard all the excess. At this point the vinyl stickers are ready for use. The Kapton tape stickers are a single piece so they can be transferred directly without the transfer film.
Step 3: Etch the Copper Clad
This is the most important step of the process, as the quality of the copper traces will determine the success rate of the end products. If done carefully it can be 100%.
Transferring the CLAD sticker to the copper:
In order to ensure clean and reliable results, you must first degrease the blank PCB with isopropyl alcohol. If the blank is old, it is recommended to thoroughly sand the surface with 320-400 grit sandpaper by doing small circles all throughout the board.
Once fully clean, it is time to transfer the sticker to the copper. For this, first peel a corner of the transfer film and then place the sticker upside down on a clean table. Next, proceed to slowly peel the paper off the transfer by doing a sharp crease and pulling along the table. This way even the small pads should stick on the transfer and not remain on the paper. Don't worry though if one or two pads stay behind, you can manually place them later.
Next, hold the vinyl transfer with the sticker usint the tips of your fingers (stick them lightly to the very edge) and slowly align the sticker over the board before placing it down. Once aligned, set it on the copper and ligtly press it down with your fingers FORM THE CENTER OUT, in order to prevent trapped bubbles. Next, use a plastic card to squegee the whole surface in order to ensure the vinyl sticks strongly to the copper. Proceed to peel the vinyl transfer film off the copper clad in the same manner you peeled the paper backing, and manually place any pads that got left behind. If the sticker doesn't cover the whole blank, you may cover any remaining areas with clear tape to avoid etching excess copper and overusing your supplies.
Etching the copper clad:
For the etching process you will require 2 rectangular Tupperware style containers, a small wooden stick, and the Ferric Chloride etchant.
The prepared board with the CLAD stamp is almost ready for etching, but it is very important to clean it once more with isopropyl alcohol to remove any residue from the transfer film and ensure an even and complete etch, without any unwanted copper remaining.
To prepare the Ferric chloride for etching, pour it into one of the containers up to about half full, and add around 30% more water.At this point the solution is ready for etching, however, you may optionally warm it in the microwave oven for 15 seconds BEFORE placing in the PCB in order to speed up the etching process.
Finally, place the board into the ferric chloride and let it sink. The process can take a while, but it is important to come back every 10 to 15 minutes to stir the solution and check the progress. For tis simply use a small scrap wood to reach the board and tilt it in and out of the solution a few times. This will move the solution around to ensure it reacts evenly, and allow you to see how much of the copper has been removed. Keep doing this until you see no more exposed copper, but don't leave it longer as the etchant may begin to breach under the sticker and damage the traces. On the meantimes, leave the stick on the other container to prevent staining anything with the etchant solution, as it is highly prone to stains and also has a very strong ferrous odor.
Once done, remove the board from the etchant and rinse it thoroughly with abundant water and soap. After this, grab a funnel or make one using a plastic sheet, and fix it over an empty PP bottle to recover and store the etchant. NEVER discard spent ferric chloride through the drain, reuse it as much as possible and discard it by letting it dry, then disposing of it as a solid.
Etching is the most time consuming step of the process. If done with fresh Ferric Chloride, it may be accomplished in under an hour, however, with reused supplies it can take upwards of 4 hours to complete, so be patient and check periodically.
Step 4: Cut and Sand the Dice
An advantage of panellising PCBs is that you can make use of the panel as a guide for cutting, plus it's easier to handle a larger board. In order to separate the boards and give them a proper finishing, we must first cut them apart and them sand the edges and corners.
The cutting of the PCB cannot be done with a regular cutter, scissors or saws, as these processes would almost certainly fail or damage the boards. For cutting, we will utilise a simple claw tool which gradually scrapes off layers on each pass, carving a groove all the way through. These blades are sold commercially as acrylic cutters, but can also be homemade out of some broken hacksaw blades. it is advisable to resharpen the blade through the process as fibreglass boards wear the edge off fast. It is not necessary to cut all the way through, only most of the way, and afterwards, simply snap each piece off.
After cutting, the edges are quite rough and uneven, so we must sand them thoroughly first with 240 grit sandpaper and after with some 400 grit for extra smoothness. Be sure to also round the corners by following the shape of the copper clad.
Finally, utilize a cutter to carefully peel the stickers off the boards. This can be done before cutting, but the stickers aid in protecting the copper through the cutting process.
Step 5: Applying the Kapton Soldermask Stickers
Now with the cut boards, we are almost ready to assemble the circuit, however, in order to ensure the copper traces are protected long term and the solder stays only where it should, we require a soldermask, which is convetionally made using UV cure resins. The traditional process is quite toxic, messy and unreliable, so a more practical alternative is needed for home manufacture.
In this case, we exploit the Kapton tape as a soldermask due to it's high temperature resistance and self-adhesive properties. To transfer the stickers to the PCBs we will again utilise the cutter as a support. Before transfering the stickers, clean the PCBs thoroughly with rubbing alcohol to remove any grease or residue from the vinyl. Next, proceed to carefully lifting the Kapton sticker from the backing paper with the cutter (see image 2). For this, first lift a small corner of the sticker with the cutter and press it against the blade to make it stick, then slowly pull the cutter away from the paper without making a crease on the sharp edge untill the whole sticker comes off the paper and stays stuck to the blade.
Finally, it is important to ensure the sticker is properly aligned with the pads before affixing it in place, so gently bring it over the PCB with the cutter and lightly brush it over the board a few times, this will charge it with static and make it sort of float on the surface, which will allow you to adjust the placement before pressing it in place. If the stamp sticks prematurely, carefully peel it off the board as you peeled it off the paper and repeat the alignment. Once properly aligned, press it firmly onto the PCB with your fingers and carefully peel the cutter off the sticker to finish setting it. Next, clean the boards again with alcohol and now the PCBs are officially finished. They can be used right away or stocked for later.
Step 6: Assemble the Dice: Applying Solder Paste
An advantage of SMD circuits is that they can be soldered with paste in a very reliable and quick manner by using a simple stencil for applying it only on the pads, which can be reused for any number of units. Conventional SMD stencils are manufactured in steel so they are quite expensive and impractical for prototyping, however, the stencil can also be made of vinyl stickers. For this, we utillise both the original and a mirrored version of the sticker to create a plastic stencil that is not self adhesive.
Solderpaste contains a lot of flux so it reduces significantly when reflowing. Thus, we need to apply a thick enough layer to ensure the joints fill up properly with solder. In order to make the stencil of the proper thickness, we must layer 4 vinyl stickers together. Do this carefully to ensure the holes are perfectly aligned all the way through.
Next, build a small border around one board out of scrap PCBs or any other material of the same thickness and affix the stencil in place by a single side to serve as a hinge, ensuring proper alignment of the stencil over the pads (see image 2).
Finally, using any sort of straight edge tool, grab some solderpaste and start spreading it over the stencil untill all the holes are filled, and scrape the remainder back into the bottle with the same tool. Don't touch the solderpaste directly, as it contains lead, which is best avoided. Don't worry if you do touch it, just clean it off thoroughly.
Lift the stencil and remove the board from the jig. Repeat the process for all the boards you intend to assemble. Now the boards are ready for populating and soldering.
Step 7: Population and Reflow Soldering
With the solder paste on the boards, it is time to populate all the components. For this, use some fine point tweezers and carefully place each component on it's pads, ensuring proper orientation and alignment (see image 2). Take your time doing this and correcting any misplacements. Once all components are placed, turn on the air reflow tool and gradually start preheating the whole board by hovering in circles over it (see image 3). Next, proceed to direct the hot air directly over each pad until they reflow fully (image 4). When you finish reflowing, it is time to add the battery clip. For this, drill the centers of the 2 larger round pads and place the battery clip on the under side of the board. It is advisable to also glue the battery clip to the board with Epoxy to relief any stress from the power pins as the clip will hold the board onto the case. At this point the PCB is fully assembled and ready for programming.
Step 8: 3D Print the Keychain Cases
The 3D printed cases are optional but highly recommended, as they add a lot of character to the object by turning it into a keychain, while also protecting the die. It is mandatory to print them in PETG in order to ensure high durability, as PLA will most likely break very quickly. I made two versions of the case, one with a hollow backing for removing the battery and another with my logo on the back, which keeps the battery secure and hidden.As the circuit consumes very little energy, the battery can be trapped inside the case without any problem.
To assemble the case, simply press-fit the battery clip onto the 3D print untill the board is flush with the edge. Depending on your exact battery clip, you might have to slightly sand it down or increase the height of the case to ensure it fits all the way in, so be sure to check before assemblying. If necessary, however, the case can be opened by slowly pulling the board out all around the edge.
Step 9: Make a Programming Jig
Now the tinyDice are fully assembled, however we must program them to make them do as they should. For this, we make use of a pogo pin jig which contacts all the programming pads on the board and plugs into an ISP programmer, which can be a USBtinyISP or any Arduino as ISP. the tinyDice has all programming pins available on pads with a standard 100 mill (2.54mm) spacing, in order to allow the assembly of the jig on standard perforated board. Follow the connection diagram to link each pogo pin to the ISP header. For developing purposes, I made a double jig which also serves for another board I am working on and incorporated an LDO regulator to avoid draining the batteries while testing, but for one time programming we can utilize the power straight from the battery
tinyDice are designed to run at 3 volts, so programming them at 5 volts poses the risk of damaging the IO pins of the microcontroller, the LEDs or even the programmer as too much current would be drawn through the LED's current limiting resistors. So, in order to program the chip without damaging anything, we must utilize it's native voltage from the battery. If using a USBtinyISP, simply remove it's power jumper, which will power the internal Logic Lever Shifter from the tinyDice's battery, and if using an Arduino, simply leave the power unconnected to power only the dice with the battery, and add a 5k series resistor to each data line.
Step 10: Programming the Dice
For the programming process, carefully assemble the jig over the dice using standoffs and ensure all pogo pins press properly onto the corresponding pads. Be careful and don't slide the Die under the pins as it is very easy to break them. Next, plug the USBtinyISP onto the jig and the computer.
Open the Arduino IDE, load the tinyDice sketch and select atTiny85 chip with the USBtinyISP as a programmer. Hit the upload button and check the dice, 2 LEDs should start blinking for a while. If all is successful, now the tinyDice is programmed, finished and ready to use. Repeat the programming process for all the units you made and afterwards store the jig fully assembled in order to protect the pogo pins.
The program of the tinyDice is such that it first displays a "thinking" animation, and then generates a random number between 0 and 9 which is displayed for a few seconds. All transitions are done with PWM for each LED to allow for fades. After displaying the number and fading out, the processor goes into sleep mode which essentially halts battery consumption, so the battery should theoretically last around 6,000 "throws" of the dice.
The whole code is structured around an 8 Khz timer interrupt which handles the charlieplexing and the 10 step PWM for each LED, as well as the advancing of the animations. More detailed explanations of each funcion are commented on the Arduino sketch.
The results of this method for home PCB manufacturing far exceeded my initial expectations, as I found it can be extremely reliable and yield very high quality results for easy and fast prototyping of SMD and through-hole circuits. Because of this I encourage DIYers to try this method for their own designs and share your results and findings with the community.
This new version of the tinyDice is in itself a very nice and fun object to have and share with friends, as the animations and keychain case make it quite unique and interesting. I hope you liked this instructable and please share your comments and experiences on the subject so the method continues to evolve. Also, feel free to experiment with the code and share any interesting variations for others to try.
This guide is on the PCB design contest so please vote for it if you consider it worthy and share it with your friends and electronics enthusiasts alike.
Second Prize in the
PCB Design Challenge