spacer A Gift from China

The PCB boards arrived a day earlier than expected. Eleven brain boards and 66 leg boards. I'd buy fewer if I could but for $145 CAD it's hard to find a better deal. If you've read the previous post you'll know I made a few errors on the boards but no show stoppers that I can see so they should still work out. Once I start altering the existing code to work with the new pin and port assignments I'll know for sure.

Leg Board V2 front
Font view of the leg board. The 0.1" header is a temporary connection for my PICKIT 2
programmer while I continue with code development. The cable in the upper right carries
6V, Gnd, and the two I2C lines from the brain board.

Leg Board V2 back
Rear view of the leg board. NPN transistors handle 3.3V to 6V level shifting for pulses.
N-Channel MOSFETs are present to turn servos on and off to save power.
The header to the right is to support external touch and optical sensors.

On this design I'm using mostly 0603 components except where I need to route between pads or when the voltage or power rating of the 0603 part is insufficient. In these cases I use 1206 parts.

On the front of the board you can see the dsPIC which is a 44 pin QFN part and has pads on the underside of the package. I'd seen youtube videos on how to solder these but had never tried one myself before committing to this package in the design.

Soldering the QFN is not too bad. Using my soldering iron, I place a small amount of solder onto the pads on the boards and onto the pads of the QFN. It's important that each pad have roughly equal amounts of solder. Next, using a generous amount of flux I loosely aligned the QFN on top of the pattern on the PCB. I set my AOYUE hot air station to 310°C and about 1/2 the maximum air flow and started to warm the part from about an inch and a half away. After about 30 seconds I started to slowly lower the nozzle until I could see the solder begin to melt. The surface tension of the solder does help to align the chip. It took me a couple tries to get this right but I think I could do it better next time.

Update: Having soldered six of these now I can say it's not fun but doable. Preparing the pads takes a fair amount of time and scrutinizing using a loupe. After purchasing the chips I also discovered that there is a large solder pad on the bottom of the chip. The board has two vias under the chip. Normally the board floats on the 'bubble' of solder under the pads. If you press the board down during hot air soldering you could potentially short these vias. In the future I would try to solder-mask these vias. As is, I tend to clean off most of the solder from the central pad using solder wick and flux.

If you use a magnifying loupe you can see whether the pads have made contact with the board. There's perhaps a 1/2 mm space under the chip in which you can see the solder of a successful joint. In a few cases where the joint was suspect, I used flux and my soldering iron tip on the pad that extends beyond the chip to wick solder underneath. Seems OK.

Size comparison of leg board to servo.
A T-Pro SG90 servo, a standard servo connector and the Leg Board.

The purpose of the picture above is to give you a sense of scale. The standard 0.1" spacing servo connector looms large over the diminutive controller board. I decided to switch all the standard connectors for smaller 1.5mm (0.059") spacing connectors. This will also allow me to trim the servo wires for a tighter fit. The female connectors are insulation displacement (IDC) so I can avoid fiddling around with crimp pins. Although the IDC connectors are designed for a finer gauge of wire, the servo wires fit fine though snugly. I have now taken to thinning the insulation on the wires before attaching the connectors. I use my hot air station to heat the insulation on the wires and then stretch it to about half its original diameter.

The set of five 0.1" pins near the dsPIC mate with my PICKIT 2 for ease of programming during development. When it comes time to duplicate the code onto additional leg boards I'll just press some pins onto the bare pads. I've tried this already and it works well enough as programming only takes 10 or 15 seconds. To make a better contact I put small blobs of solder onto the pads. This gives the pins of my programmer something to bite into.

I'm off for a short vacation and then I'll be adapting the existing code to the new board. With luck the transition will be smooth. Afterwards I plan to switch the pulse generation code from using interrupts to using the hardware PWM capabilities of the dsPIC.

Update: Back from vacation but now Haloween looms. My son and I generally make a costume and this year's promises to be exciting but demanding so It'll be late October or early November before I can continue this project. See you then.

Next Post