A Framework For Making Affordable & Stylish Modular Controllers (USB to MIDI, HID, or Serial)

FeaturedContest Winner

Step 8: Assembling The PCB

Understanding the bare PCB
The first and most important thing to understand is which holes on your bare PCB are connected to one another. Notice how there are white lines/boxes outlining some of the holes. These outlines identify which holes are connected together. Although none of the holes look connected from the outside, the ones which are outlined by a white box are connected together internally. So if you solder any two connections within a box, think of this as soldering those connections directly together. Follow the +5V/ground connections from the Teensy++ board and notice how both the power/ground become connected around the entire perimeter of the board. The orange wires at the bottom of the board send power/ground from one side of the board to the other. 

Header pins
You way also be wondering what all these header pins poking out are for. Well, it's simple, those pins are what we 'snap' our wires to using the plastic crimp housing. I have attached images for the full featured PCB. This PCB makes use of every Teensy++ pin, as well as the CD4067BE multiplexer. None of my modules used every Teensy++ pin. This board was built just as an example. For example, if you had 10 pushbuttons and 10 potentiometers you wanted to hookup, you would need a total of 50 header pins. Each pushbutton would require one header pin that connected to the board, and another one that connected to ground (total 20). Each potentiometer would require one header pin that connected to the board, one to ground, and one to power (total 30). You could reduce the number of header pins needed by connecting the ground/power of the components together. 

Okay what the heck does this CD4067BE chip do? Good question. As you probably noticed from the pin configuration diagram the Teensy++ only has eight analog inputs. Yikes! In some cases (like my mixer) you will require more than eight analog inputs. The CD4067BE easily adds 16 analog input to your board. The four red wired linked between the Teensy++ and CD4067BE allow the Teensy++ to tell the CD4067BE which of the 16 pins it wants to read. The brown then sends the information for that analog input from the CD4067BE to the Teensy++. So if you require eight analog inputs or less, you will not need to add the CD4067BE to your PCB. That said, it is nice to have it on your PCB in case you later want to add more analog inputs. The CD4067BE chip only costs ~$1.50.

Resistors on the top right of the board. 
This is the board I used for my mixer, which includes two LEDs on the interface. It is important you use resistors in series with your LEDs otherwise your LEDs will burn out. Different colors/types of LEDs require different resistor values usually around 200ohm-500ohm. Check online to make sure you have coupled the correct resistor with your LED. You will notice I soldered one end of the resistor directly to the header pin. This was a bit ugly. It is best to not include header pins where LEDs will be connected and instead solder these resistors directly to the PCB. Both work, the latter just looks a little nicer. 

I2C module->module communication
In the top left corner we can see the connections required for I2C: power (orange), ground (grey), SDA (yellow), SCL (yellow),  Even if you are only building one module I would still recommend adding these connections for future use. It is important to note that this is the I2C setup for the master module. The master module requires two 4.7 kilo ohm resistors connected between SDA/SCL and power. The other (slave) modules do not require these resistors, i.e. the slave modules look identical to this diagram except they are simply without the two resistors (see step 12 for more info). 

Teensy++ internal pins
You will notice eight headers and two wires coming out of the Teens++ board. This is because some of the pins on the Teensy++ board (for whatever reason) are located internally. We have to add these headers/wires so we can access these pins. 

Snap in Teensy++
The last two images show an alternative way of connecting the Teensy++ to the PCB. If something breaks on your Teensy++ board it is extremely difficult to remove from the PCB. By carefully cutting the female headers to the appropriate length we can create a port that the Teensy++ snaps into. You could also do this for the CD4067BE. The disadvantage to doing this is that your height will increase. On my mixer I soldered the Teensy++ directly to the PCB (see images). On all my other modules I connected the Teensy++ via female headers. 

Soldering to the PCB
The video (step 6) shows how to solder to the PCB. Ensure each connection has a nice cone of solder securing it. The solder should never bridge two holes/connections otherwise you may have some serious problems. 

Okay that is all you need to know. Follow the diagrams carefully and build your board. You can build the fully featured board (exactly as you see it) or if you have a better idea what is going on here, add header pins only where you need them. In the latter case, ensure you have planned out where each component will connect to the board before soldering. Know what sizes of crimp housings you have available to help plan out your header layout; i.e. If you only have 1x4 crimp housings it would be foolish to solder five or six neighboring headers (read next step to better understand). Personally, I would advise just building the full-featured board shown in the images. 

Here is a blown up image of the PCB. 

HERE is the next level PCB, the Teensy Monster. This thing is gonna be super slick. 

Was waiting for this tutorial.
Can you please upload the schematic for better understanding?
And waiting for a DJ Vinyl Scratcher Tutorial
djozmo2 years ago
Oh how awesome to see a comment from a fellow South African :) Im here for the read, building my know-how, learning Mechatronics so I will get started soon on this project or another controller soon!! Luckilly im in Germany so getting parts is allot easier...and probably cheaper than SA, thanks for the fantastic info's , pics and inspiration Alex!
Factus3 years ago
Just ordered the teensy from US to South Africa to follow this instructable, thanks!!!!

So the CD4067BE adds 16 ENTIRELY NEW analog channels (without replacing any existing ones)? by simply using 5x digital channels on the teensy?

Will post pics of my translucent plexiglass mixer + recycled vinyl decks.


Fuzzy-Wobble (author)  Factus3 years ago
WOW. All the way to South Africa.
You are right about the CD4067, expect it uses four digital pins and one analog pin to enable 16 extra analog inputs. Best of luck with the build!
is there a way you could use an arduino with this and get the arduino to send midi data. You could then use a midi to usb adapter? would that work
Fuzzy-Wobble (author)  recordmasta0013 years ago
It would work. But would be a bit sloppy and expensive. Read step two to better understand why I use Teensy.