In this post i will be listing down the lessons i learnt when i was building hardware products prototypes. I have divided them into multiple posts which i will be posting regularly.
1) Don’t buy prototype hardware from china, but from reliable sources like Mouser Electronics or Digikey
I had explained in my earlier post about the problems that we faced because of using Chinese parts in our prototypes. Its better to avoid unreliable sources until the design is proven to prevent unknown problems.
My Preferred sources would be :
Semiconductors/Discretes :
- Digikey,
- Mouser Electronics,
- Element14/Farnell,
- RS Components
GSM/GPRS modules :
Prefer Official distributors of modules in your respective countries. Indian Distributors :
- SIMCOM modules – Campus Components
- SIMCOM modules – Pulsar Electronics
- Quectel modules – Evelta Electronics
- Telit Modules – RaByte
- Telit Modules – WE Components
Global Sources for modules :
- Telit modules – TME Electronics Components
- Fibocom modules – TME Electronics Components
- Seirra Wireless modules – TME Electronics Components
- Telit modules – SemiconductorStore/ Symmetery electronics
2) Always have extra parts ready
When you are building and testing your prototypes, always order and keep extra spares when testing boards. You don’t know when a chip might get damaged while experimenting. It takes at least a week time for me to re-import the same part again in India. When ordering the first time itself, add parts for making 2 extra boards. It will help.
3) Get extra pcb fabricated instead of exact numbers
Similar to ordering extra components, order a couple of extra PCB during fabrication. You can use the other board for tracing tracks, because tracing tracks once components are placed can become very difficult. If you need to cut tracks or a pad comes off while soldering or desoldering, you can always switch to the spare PCB and proceed with the work.
4) Check for short circuits between pads in PCB before assembling
Before you get all exited and start assembling components onto the bare PCB , Make sure to test shorts between adjacent pins, pads and tracks. I have had bad experience with local PCB manufacturers who don’t do PCB electrical testing and just etch a PCB and send us. Recently I had to very quickly fabricate a 2 layer board and since PCBPower will take atleast 7 days to deliver the PCB, I was looking for faster alternatives, There was a Bangalore based manufacturer who promised PCB within a very short time and I gave the order, then I spent 15 days trying to make the board work and in the end figuring out the PCB had multiple short circuits which cannot be traced by naked eye.
Electrical testing is a must and make sure your PCB vendor does it or just look some where else. You will save yourself from a lot of heartache.
5) Don’t over solder prototype, get it done outside, reduce unknowns
When making a prototype hardware work, we should keep the unknown factors as low as possible. Assembling process is very critical one of them.
You never know where you create dry solder joints or short circuits below chips which will give nightmares later.
Also we tend to over solder the parts if we dont feel the chip didnt solder correctly which might lead to overheating and the chip might work now and misbehave later.
So, I always get the PCB assembling done from trusted Assembling factories for prototypes.
6) Always use proper programming headers while prototyping, use ping pong headers later
During prototyping provide programming connections on a standard programming header or a USB connector. Avoid using SMD pads as programming headers which will come off during prototype development because of excess plugging and unplugging of programmer/JTAG. But, When we go for production its better to provide test points for these programming lines which can be used for flashing the MCU using Ping Pong / Pogo pins later.
Using Ping pong headers with a programming jig makes the overall assembling process faster.
Image of 3D printed Programming Jig we made :
More to come in next post. Stay tuned 🙂