let’s first take a look at PCBs. PCB stands for printed circuit board and is conceptually very simple. here’s what my PCBs looked like when they came from the manufacturer:
i ordered ten boards for $14, they shipped me eleven (manufacturers usually make extra since 1-2 usually fail, but i got lucky). this started out as an altium design that somebody else made:
altium is one of many software suites that allow you to design a PCB and generate gerber files which contain all the necessary information about your board that a manufacturer needs to actually create it. i can’t open altium right now but here is an example of what you’re usually looking at when you design a board (click to enlarge):
in it, you basically specify which parts you’re using, what their package/size/footprint is (we’ll get to that in a minute), and what you want it connected to. from there, altium does the work of figuring out the best way for everything to be fitted together. there are some criteria for this, but let’s look at what a PCB actually is first
PCBs are nothing more than a structural foundation onto which you can place electrical components and have them electrically connected to each other. nothing more or less complicated. having a bunch of electronic components scattered on a desk and connected with a bunch of wires quickly becomes an unmanageable mess, and anyone who has used breadboards before knows how unstable circuits like that are. let’s now look at the four components of PCBs
first, you have the actual structure itself. this isn’t visible from any pictures i’ve posted but it’s nothing more complicated than a piece of drilled, cut, translucent fiberglass. it is nothing more than a chassis.
secondly, you have the solder resist (aka solder mask) which is the red film you see in the first few images. as its name suggests, it resists solder in the same way a surface coated in wax resists water: the water won’t soak in, it just kind of rolls off leaving a perfectly dry surface. this is important because soldering is involved in the assembling of PCBs and you want to make sure solder only goes where you want it to go
thirdly, you have the silkscreen. this is just the white lettering printed on the red solder resist. this labels each component according to a schema (like R1, R2, etc) which is how you know which parts go where. easy
finally, you have the traces. these are important. if you look at the first image in this post, you will see darker lines in the red solder mask between different parts. these are the traces. they are literally copper wires embedded in the PCB that electrically connect different parts to different places. they can be thick or thin or even kind of wavy, which is done to give them extra length when you want to make sure that each trace is exactly as long as the others.
PCBs are made such that electrical components can be fit into them:
this one is full of holes that are themselves surrounded in a silver circle or square. this silver stuff is the solder pad and is solder that is connected to the trace inside the board. these are how you actually get your components connected to the traces in the board when you solder, which is to place the component through the hole and then to put the tip of a very hot soldering iron against where the component/solder pad touch and then press a segment of solder/flux against the iron tip so it melts and flows into the solder pad as well as into the component lead as to form a very good and sturdy electrical connection between the component and board traces
there are three ways in which components attach to boards
(1) PTH, or pin through hole, which is what is described above. it was the earliest method of mounting components on PCBs and is by far the easiest to solder
(2) SMD, or surface mount device, (usually just “surface mount”) which is when you have a component that looks like this:
that attaches to the board via a bunch of solder pads that are only on one side of the board. you can see some of these in the top-down shot of the bare board (3 imgs back) in the bottom left corner labeled U13 and U4. SMD shit can be a pain in the god damn neck to solder. on this board, the spacing between the pins make it very easy, but sometimes you get shit like this:
that just ruins your day. us engineers like to boast about how small of SMD chips we can manage to solder as a means of comparing dicks or something.
(3) finally, BGA chips. these are ICs with tiny balls of solder underneath them that fit into hemispherical depressions in the PCB that are also coated in a solder pad. you cannot solder these by hand, you must first very carefully place the IC such that the balls underneath fit in the proper depressions and then put it in a reflow oven which is a fancy term for a toaster oven you opened up and stuck a few thermocouples into. this just heats the board in a very even and specific way so the solder melts and the component is mounted
now lets talk components
click to see a larger version of the labeled board photo, alternatively click here.
integrated circuits (ICs)
these are relatively advanced circuits printed on a silicon die and capped in the ubiquitous black epoxy housing. the internal circuitry’s terminals are routed towards the edge of the silicon die, where they meet large rectangular connection pads that provide an electrical interface between the silicon and a solder pad. that internal solder pad is connected to a thin wire which is connected to the “teeth”-like pins of the IC.
integrated circuits do all kinds of things, like accept binary values (expressed through voltage levels on the pins, 0V for zero, 3.3V or 5V for one) across pins 0-7, and then shift out those bits onto a single pin in-order at a specific rate. some of the ICs on this board are inverters (meaning one pin will take a binary value and output the opposite of that value on another pin) as well as EEPROMs, which take binary values as input and stores them like a hard drive, ergo keeps them when power is removed.
resistors are probably the simplest of electrical components. they simply resist the flow of current (”electricity”) to provide various benefits. this board, for example, is an MFM hard drive emulator, meaning it has the connections to fit into an old computer that uses MFM hard drives, and acts exactly as if it were a hard drive except instead of storing bits magnetically on a disk platter, it uses an attached computer’s eMMC storage (the same kind of storage your cell phone uses). MFM hard drives are 80s-era tech, so we are able to re-create it with modern technology very easily. anyway, since this emulates and old hard drive it has to deal with the relatively high-voltage or high-impedance signals the computer is sending it (the computer still thinks it is manipulating a forty pound 5.25″ hard drive) so we have resistors that limit the power of the signals coming from the computer into small enough ones that are safe for the circuitry on-board. resistors are used for all sorts of things, some of which aren’t even clear to me
bleed resistors, of which there is only one of on this board, are used to safely discharge capacitors once the board is turned off. we’ll get to capacitors in a minute, but just know that resistors resist the flow of electricity and doing so means you are subtracting from the power of an electrical signal, and that power is dissipated as heat. the bleed resistor on this board is much bigger than the other dozens of quarter-watt resistors you see because it is meant to dissipate a lot of power and is built to be able to deal with all that extra heat
pull up/down resistors are used to keep CMOS inputs sane when they aren’t connected to anything. like a generic GPIO pin on an arduino or beaglebone or something. if you set it up to be an input, it’ll be set to receive either 3.3V signals (binary 1) or 0V inputs (binary 0). things in-between don’t make any sense to to it, and when nothing is connected the voltage level simply floats wildly. this isn’t good. so we connect either a high-voltage supply (pull-up) or ground (pull-down) to one end of a resistor, and the other to the input. in the case there’s nothing inserted into the input, the voltage will naturally be pulled up or down to the corresponding voltage logic levels, but only through a resistor that reduces the effect the power supply has on the input. this means that when a real input is actually connected, it easily overcomes the tendency for the supply/ground to affect the voltage on the input.
hoo boy. these are fun. capacitors are electrical components that do not allow current (”electricity”) to flow through them, but when there is a voltage across them, current will flow into the capacitor itself and stay there. it is like a low-capacity, short-interval battery that is meant to be charged/discharged many, many times. this characteristic behavior can be used to do all sorts of things that are not immediately clear, so let’s just jump into specifics here
bypass capacitors or decoupling capacitors are used near sensitive ICs and other circuitry that has very tight restrictions on how much incoming signals can vary. for example, on my board you see all the bypass caps placed next to ICs (i put the blue square next to them rather than on top as to not obscure them). these ICs always need five volts being supplied to them. this is problematic, as during runtime the load on the power supply will periodically change. if i issue the command to charge the storage capacitors, for example, current will start rushing into them meaning correspondingly more current will rush out of my power supply. the power supply cannot detect this immediately and because of that, the voltage drops a bit before the new load is sensed and my power supply’s voltage regulator can compensate. now, the IC waaaay on the other side of the board suddenly feels a slight voltage reduction and would begin to malfunction if not for the bypass capacitor. the bypass capacitor stores a small amount of charge (measured in farads) at the given voltage (five volts). after it has charged up, it doesn’t do anything since the voltage inside the capacitor is the same as the voltage on the supply line. when the voltage on the supply line dips a bit below 5V, current flows out of the bypass capacitor and into the IC thereby maintaining a constant five volt supply regardless of what is going on elsewhere in the circuit. this is why it is also called a decoupling capacitor as it decouples circuits from unrelated, extraneous events elsewhere on the board. these capacitors are ceramic capacitors which are low-capacity, medium-to-low-voltage caps that are non-polar, meaning both sides of the 2-terminal capacitor can hold a charge. they are cheap and made out of, unsurprisingly, ceramic materials.
storage capacitors hold a relatively high amount of charge in order to keep the board powered in case the power supply stops functioning. this is critical in this case as if the board were to suddenly lose power, there is a chance that pending disk writes sent by the host computer would not actually be written to the “disk” (eMMC) and for the old computers (in my case a symbolics 3620 lisp machine) that can mean really, really bad things. so if power is lost these bypass capacitors store enough electricity for the board to run for about a minute and let it actualize all pending disk writes. these capacitors are electrolytic capacitors which are high-capacity, medium-to-high-voltage caps. they are the highest-capacity form of capacitors and are made with a special electrolytic fluid that sits inside the big barrel-shaped drum you see. these kinds of caps are dangerous, have a finite lifetime, and even have a perforated top to allow them to vent safely in the case something bad happens like the diaelectric decomposing allowing current to freely pass through them, heating the electrolytic fluid to a boil and building pressure until it explodes like a pipe bomb (or would, if those perforations weren’t there). electrolytic capacitors are polarized meaning only one terminal can hold a charge, placing them backwards causes situations similar to the aforementioned
smoothing capacitors smooth a noisy or uneven signal. for example, a AC-to-DC converter would have these on the DC output side of the circuit, as the raw output of a signal generated from an AC input signal (AC signals are wavy, like a sin wave) is still going to be a bit bumpy or “pulse”-y. these capacitors will soak up and bring the waveform down a bit when higher voltages are felt, and release that stored charge when the waveform dips low, thereby bringing it up a bit. this has an overall effect of “smoothing out” a signal. the smoothing capacitors here are tantalum capacitors which are my favorite kind. medium-capacity and medium-voltage, tantalum capacitors are non-polar and if built with the right dielectrics, will operate correctly forever as long as they are kept within rated parameters. tantalum is an element that is almost solely found in africa, and only in the worst parts of africa. tantalum mines tend to use their profits to fund genocidal warlords who lead child soldiers and other sick shit like that, and tantalum is considered a conflict resource
diodes are easy. they are two-terminal passive electronic components that simply allow current (”electricity”) to only flow in one direction, and not in the other. when you apply a voltage across a correctly-aligned diode, current will flow through it as if it were a wire (zero resistance). if the diode is reserved, current will not flow at all and it will be as if there is a billion-ohm resistor in the way. light-emitting diodes are just diodes that emit light when current flows through them, which again, only happens in one direction. on my board, the diodes serve to prevent charge in the capacitors from back-feeding into the power supply. the LED is used to indicate that there is a charge on the storage capacitors and that if you fuck with the the board you’re liable to ruin some circuitry and probably scare the shit out of yourself when the caps suddenly discharge with a BANG
headers are just pins that fit into the holes that a normal PTH component fits through, but they aren’t connected to anything and are just there to do gender conversion. for example, a beaglebone black fits on the underside of this board. the BBB only has two arrays of “female” ports that need to connect to the female holes on the board. when you put a male pin through the hole, you solve this problem. male/female aren’t the correct terms here but you get the gist of what i’m saying
fuses are exactly like wires except that once the current (”electricity”) flowing through them reaches a certain amount, they explode or melt or something else that breaks the connection. they are used, as you probably know, to protect circuitry from power surges or other similar events. “fuses” is in quotation marks in the legend because, as you can see, i did not have the correct fuse handy and just soldered a wire where the fuse should go. this is because i am extremely lucky
test vias are simply user-accessible outputs for certain traces inside the board that allow you to test their voltage as to ascertain whether or not everything is working properly. “vias” or “via” is the term for any hole in the board like this, it stands for “vertical interconnect access”
jumpers (or “shunts” if you are stupid) are removable connectors that fit on pins. when they are placed between two pins, an electrical connection is made between them. on this board, they are used to select which drive is emulated, whether the board should accept write commands, and whether or not the emergency storage capacitors are enabled. easy