Building a serial add-on board (part 3)

In Part 2 we etched a PCB. But our add-on board is not quite finished, there are still things left to do. Well, let's get to work.

First thing to do - we need to drill holes for board's components. I'll use Dremel-like tool with 0.7 or 0.8 mm drill bits. As for surface, I'll use old chair, that I'm not afraid to ruin (even more). You may think of something else, but remember that while drilling holes in PCB you almost certainly will make some in surface below it.


If you never did this before, it would be a good idea to practice a little on a piece of scrap FR-4. Also having few spare drill bits at hand wouldn't hurt. You never know when those tiny things break.

Note also that dust from drilling is still as hazardous as in Part 2, so again I'm doing this outside.


Done. There's however a manufacturing hiccup now. Mechanical pressure and vibrations from drilling proved to be too much for unconnected pads for 26-pin connector and almost all of them peeled off. I should probably made those pads larger, or tried a different RPM setting, or something. Fortunately those pins are not connected to anything, so apart from not looking as good as intended and being pain to solder it will not affect operation of board in any way.

Now it is time to add other parts to our board. Take a look at PCB layout again, insert necessary components and solder them. Soldering is Easy pretty much explains what needs to be done. Pay attention to polarity of electrolytic capacitors.


Done. Soldering connector's pins where pads peeled off was real pain. Instead of sticking to surface forming a nice joint, solder forms a ugly ball and sticks more to soldering iron than pin. But I applied solder anyway - if nothing else, it will keep connector in place.

Note drops of excess flux. We will need to clean them off, using small brush and acetone.


Here, our board is almost finished. Only thing missing is ribbon cable now. Gert has pretty much explained how to do it, with difference that a piece of cardboard underneath the board is needed to protect connector's pins from vice.

We are done? Well, not so fast. I would be a good idea to test it, before connecting to Raspberry Pi. Insert some wires in ribbon cable's connector and test it with multimeter to find out if there are no any short circuits from improperly connected ribbon cable. Also we can try to apply 3.3 V power to connector's pins 1 and 6 (mind the polarity) and check if the voltages are correct. There shouldn't be anything higher than 3.3V anywhere on the RasPi's side. Also there should be somewhat higher voltage on chip's pin 2 and similar negative voltage on pin 6.

Here I discovered my second mistake, I already confessed in Part 1. If you pay close attention to previous image, you may notice, that there's MAX232 chip. Everything checked out using 5 V power, but not so good with 3.3 V. I had to de-solder the chip, order correct one (MAX3232) and solder that one in place. Fortunately they were pin-compatible, so I did not need to build a new board. I was lucky this time, but from now on I'll pay more attention to part's data-sheets, before starting to build anything.

When everything checks out, it's time to wire it up.


Launch a terminal application on computer (I used minicom on Linux), configure it to right port, other settings. Insert SD card with any of provided Linux distributions. Take a deep breath and power up the Raspberry Pi. It should start as normal, but you should also see text scrolling in terminal application.


Now, when we're tested that our board works, there's only one thing left to do. Right now the tracks on our board are exposed copper. They will oxidize with time. To prevent that we should coat them with lacquer of some sort. Any non-conductive lacquer spray, designed for metal should do.

Now, when we have probably most important piece of hardware (apart from Raspberry Pi itself) for bare-metal development, we can turn our attention to software.

Comments

Popular posts from this blog

8-bit CPU: ALU and Flags

8-bit CPU: Clock module

8-bit CPU: Memory