PCB and Gerber files
After the finalization of the PCB design and the DRC checks it is time to run the CAM Job for the creation of the Gerber files. The process is simple and it takes less than 4 minutes from the click of the button to the selection of the layers that you want and the final files. But in order to cut this times even further I’ve create my own file (from a previously saved CAM Job) that I am running it and the files are ready in a couple of seconds!
Checking for mistakes
It is always a good idea to check the generated files using independent Gerber viewer software. You can find a lot of those on the net, most of them with a small amount of money and a few of them totally free. Of course the free versions are not always reach in services and tools but if you want just to review the correctness of the previous created files this is the correct path to choose.
My preferred Gerber viewer is ViewPlot. Not because it is the best solution out there but because I learn to use this one from the beginning! The full version of the software costs around $430 but the downloadable version is free (viewer only).
ViewPlot Gerber viewer
After this check, sometimes I am using an online tool to view the PCB in 3D. The three dimensional check is a standard in the todays CAD software’s but Eagle (at least at the version 6 that I am using) is not supporting this feature. You can find a couple of tutorials out there and by installing separate software, using some files from Eagle and following a few steps from here to there you can generate a 3D view on your computer.
But this process takes time, fulfills your hard disc with unneeded software (most of the times are really bad made) and it is not needed if you simply want a 3D view of your PCB (without heights of components or sophisticated colors). A simple method and my preferred one (for hobby projects as for the professional ones I’m using Altium Designer the incudes a super amazing 3D viewer) is this online tool. Just drag and drop the Gerber files and voila! A three dimensional representation of you PCB!
3D Top view
3D Bottom view
Actually, sometimes the web page needs a refresh for the viewer to run smoothly but I thing that the algorithm behind the scene will get better over time. And you don’t have to do anything about that! That’s the amazing part of the online tools and the cloud computing!
Manufacturing the PCB
Well, the PCB now is designed, DRC checked and Gerber file checked! It is time for production. As the project is still in version one and just a prototype for hobby use I will try the cheapest service out there. The SeeedStudio – Fusion Service. They are able to produce a decent quality two layers PCB with a good color pallet selection and 6-6 design rules (minimum wire – minimum distance)! The cost is low, including the shipping. The drawback of the Fusion service is that probably you want to stay at the 8-8 design rules and you have to wait almost a month (sometimes even longer) from the submission of the files to the actual PCB at your hand. This time is critical for professional project but OK for hobby ones.
The other problem is the consistency of the results. I’ve order more that ten times from them and sometimes the PCBs are perfectly made, with drills at the bull’s eye of the vias (even at the smallest ones), a perfectly even soldermask layer and sharp silckscreen. But sometimes everything are made wrong! The soldermask made with an old brush, the silkscreen is made from someone that drank twenty cups of coffee in the previous five hours and the misalignment of the drills creating headache. Hopefully, the result of this PCB (that came back 32 days after the order day) is something in the scale of middle++!
At the pictures you can see two of the wanted circuits at a larger panel like PCB. It is exactly the same project but on the left it’s with component names and on the right is without them. I’ve done that in order to find which looks better. And the answer is definitely the right one!
If you want to have exactly the same PCB at both sides or in any other combination you have to use the panelization.ulp inside Eagle. First select all layers and then run the ulp. Right next to the component names can find now the same names with yellow color at a newly created layer. Copy all the layers once more a place them in a new *.brd file with the orientation and XY combination that you want. Instead of creating Gerbers for the original file create Gerbers from this one and you have made your own PCB panel! If you want to make the separation with v-grooving or tab and routing just draw them in any mechanical layer and inform the manufacturer for the details.
Instead of this process, as SeeedStudio is not supporting panels and v-grooving, I place only two of the PCBs in a bigger panel like design and I am separating everything with a hex saw lying around at the lab. One other method of separation (and probably the most efficient one) is the big paper cutters (or paper guillotines), but have in mind that you must use something that can cut at least 25 papers at ones in order to handle a standard 1.6mm board.
PCB Assembly and testing
And now it is time for components population! The smallest two-pad component here is 0603 (most of the resistors, capacitors and LEDs) and the smallest IC is at 0.5mm pitch. Nothing to worry about for the hand soldering time that follows… without any magnification of course!
The general rule that I am following in small prototypes is to make the power supply first, test all the critical voltage points and finally to assemble the remaining components. And that’s what exactly I did here
Power supply just after the placement of last component
The same circuit cleaned and ready for testing
This technique protects the expensive components from circuit malfunctions, errors in the schematic design or wrong component placement. Of course, you can’t follow this method on high dense projects with multilayer PCBs. The voltages there may be controlled by digital logic ICs that you must assemble first and the number of pins under test makes the process useless. That’s why on professional boars we build “bed of nails” or “test jigs” to automates the process.
Connections of LiIon and Power for the first testings
Next the assembly of the microcontroller and the peripheral components including decupling capacitors, BJTs for module control, LEDs etc. For now the only parts that are not populated are the module and the 50Ω mmcx connector. The bottom left part of the board will be like that for at least two or more months as the FT230XS (USB to Serial converter) is out of stock not only from the main distributors like Farnell, RS, Digikye but from the FTDI as well, the manufacturing company!
The population continues
And the Telit module is taking his place
Placing the Telit module
The problem now is the soldering of the RF connector. It is an SMD one but the pins are extremely small and underneath the surface of the part. I am assembling this PCB at home and the tool that I am going to use is this hot air gun
Hot Air Gun
It is an old Chinese made, no name brand, and is 100% not the tool for a job like this one. The air flow trying to mimic a hurricane and you have to deal with two fixed temperatures only. At least the second temperature setting point almost matches the desired rework point. And the way to handle the air flow without the other components to take off is this one
Rework with Tin Foil
Yes! It is tin foil from the kitchen! I know that ti looks like a bad joke but it actually works. Unfortunately the picture is after the finish of the rework. You can still see the flux remaining at the legs of the RF connector. A general purpose spirit can clean these residues. You don’t have to bye expensive cleaning fluids. The secret with the spirit is to use a clean one or to clean everything at least two times as after the first attempt you going to have have a sticky feel at the PCB.
After the assembly of the remaining components a visual check for short circuits and component misplacements is need it. Then you have to fire up the circuit and cross your fingers hopping that you are not going to see the magic smoke! Ok, that was a joke but sometimes it happens. At least after so many projects I am keeping the failure rate in a really low value.
Complete Board – Top side
- MMCX 50Ω Vertical SMD connector
- Cellular Network status LED
- Telit GL865-Dula GSM/GPRS module
- Honeywell HIH humidity sensor
- General purpose LEDs
- Power supply (LiIon charger, 2.8V LDO, P-Mosfet for power path selection)
- Reset tactile button
- Mini-B USB connector
- FT230XS USB to Serial converter
- Microchip temperature sensor
- PIC16F877A 8bit microcontroller
- SIM socket
Complete Board – Bottom side
Can you spot the airplane logo? This is the logo that I am placing to almost all the boards that I am making even the 16 layer ones with the multiple FPGAs on them. If you spot on of those out there then the board is designed by me or at least I have contribute at the making process. The problem here is that SeeedStudio totally destroyed the silkscreen layer…
For the version 2
As usual when you build something then you want to improve it, change it somehow and make it better. This project is no exception.
For the version 2 the HIH humidity sensor probably is going away together with the analog temperature sensor from Microchip. Instead of those I am going to use an SHT10 or SHT11 sensor from Sensirion. It is a slightly more expensive but includes both temperature and humidity sensors in a smaller package. Plus I don’t have to wright a new library as I am already using this sensor for other projects.
Next, LEDs and Buttons! Currently I am having only two red LEDs and one reset tactile bush button in a 4x4x2mm SMD package. The number of LEDs will increased to four and the distance between them will increase as well. For now the two LEDs are more than enough but the distance in a critical problem. Most of the time you must pay attention in order to recognize which in ON. A quick solution is to use different colors but I prefer the red ones! As for the buttons, currently I am using only one 4x4x2.5mm tactile push button for the microcontroller reset. If I manage to find space I am going to use the same package but I will include two more switches. Probably this space is not exist (at least wit two layer PCB) and I have to source smaller buttons.
Finally, better microcontroller! I don’t thing that I am going to use a 32bit ARM core despite that the NXP Cortex-M3 ones are amazing products used in previous projects on mine! I don’t need this amount of power and since I am ordering pars quite often from Microchip Direct (for other running projects) I thing that I will use another PIC again but with grater memory and possible two hardware UARTs.
The finished project
Watch two applications running on this project
-SMS control assistant
-Weather data to Cosm
-Automation with Exosite
Want to build one?
I can ship an unpopulated PCB or even a fully populated one all around the world. The cost of the unpopulated PCB is $5 plus shipping. For any info about prices, development, bulk orders or anything else please let me know at firstname.lastname@example.org
You can download the schematic here