Developers working embedded systems have a perpetual woe - they end up wasting a lot of time debugging avoidable hardware issues like loose connections, broken wire, ESD during dry winters, broken pins etc.
Much of the damage is caused because of the perpetual mess our desktop is in - in shuffle around to reach to one thing, you might end up messing something else. Even if you unclutter your table top, there is always a very real chance of your circuit board or power supply adapters or extension boards falling off of it thereby causing loss of multiple days of productivity. And no matter how careful you are, your colleagues might not be as careful as you or worse still, the house keeping staff might disturb your setup during the cleaning hours when you are away . The cleaning staff man handling your equipment (TWHS! hehe) is a very real problem in India. At one of my ex-workplaces, we were out weirded when an unusually high number of keyboards started turning up bad. It seems that the house keeping staff used to upturn the keyboard and bang them on the desk to get rid of the keyboard dandruff!!
During my time at Greenvity, we occupied cabins at Pune IT Park, Bopodi, Pune. Thankfully the staff here is very well behaved and sensible. We never had any issues with our equipment being mishandled in our absence. Although, once, a member of the house keeping team did eat the biryani which we had kept in the fridge, but that's another story - he had thought it belong to one of his colleagues!
So how can we avoid such issues?
A sturdy platform to hold all the circuit boards together along with extension boards, battery, power supply and other paraphernalia would be awesome. During my time at Laresen & Toubro, we ended up spoiling a lot of circuits and components just by transporting them between our desks - different bugs assigned to different people - different people wanted to use the prototypes at different times of the day at different desks.
At LARE when I conceptualizing UNIBlocks, I thought of board which had regularly spaced holes in it. We could mount various PCBs on it and assemble our prototype during our embedded software development phase. The result was the grid base board. Look here for some of the pictures of how we used that for assembling projects using UNIBlocks. (I got the idea from the red metal base that come supplied as part of the Mechanix kits)
Since then I haven't let go of the concept and have continued using the same for many of my prototype assemblies since then. Here are some of them:
This is an IoT/M2M project. You can see the power supply (230VAC to 12VDC) mounted on the baseboard. The sealed led acid battery is mounted in the center using cable ties. I used blu-tack to insulated the battery and power supply terminals.
The iMX233-OLinuXino-MAXI would easily accept the 12VDC power but, since I had a 3G Dongle attached to it, I had to use a separate 12VDC to 5VDC voltage regulator (shiny metal cuboid mounted using cable ties) to power the dongle. The tiny blue component is the DHT11 Temperature/Humidity sensor. This assembly is meant to upload temperature and humidity readings regularly to a cloud service.
This project is similar to the previous one. This one has a Raspberry Pi mounted on the baseboard. The board installed on top of RPi is AirPi - it has sensors for monitoring air quality. In this project I use a TL-MR3020 pocket router to provide internet connectivity to RPi using a Vodafone 3G dongle.
The base boards are made of 2.0 mm thick FR-4 material. This is the same material which is copper clad on both sides and serves as the raw material for Printed Circuit Boards. The Mechanix kits, the holes are 5/32" and are spaced half inch apart. While designing PCBs, I make sure that the mounting holes on those PCBs match the grid on these baseboards. I would then use metal standoffs to mount the PCBs on to the baseboard. If I have to use a third party component or PCB, I use nylon cable ties to bind them to the PCBs. Once everything was assembled, I would stick rubber feet below the basebaord for support. Jumper cables like the ones available from Rhydolabz (M-F, F-F, M-M) help in making connections between PCBs.
Here are photos of a few more projects:
|Development setup for iMX233-OLinuXino-MAXI with iMX233-SJTAG + ARM-USB-TINY-H|
12VDC Power Supply is mounted alongside. Metal studs allow me to store the SD card reader on the board itself.
Here is what I plan to do with this: Debugging the iMX233-OLinuXino via SJTAG with OpenOCD
|Cubieboard with a USB to RS485 converter. The RS485 Convertor allows interfacing with|
the blue colored C2000 I/O module. This I/O modules digitizes the data from
the Rotronic Hygroflex HF320 humidity+temperature sensor and makes it available over Modbus.
|Close up of how I mounted Philips car charger for mobile phones|
on my baseboard using metal studs. I used this car charger as a 12VDC to 5VDC regulator.
We got the board made through our regular PCB fabricator. All we did was mark holes at 0.5 inch intervals in Eagle and generate the drill (.drl) file and give it to him. His CNC drill machine did the rest.
|Initial photos of me trying to mount PCBs on the red metal|
baseboard supplied as part of the Mechanix kits.
I used the same pitch (5/32" holes spaced 0.5" apart) for my own baseboards.