nw2s::b Assembly Instructions - Step 3
## Overview This is the third and final step in the assembly process. There is only a small amount of soldering left. Most of the final assembly is just wiring and testing. ### Solder pins on the SD Reader Card For the daughter boards, orientation of the pins is critical. Pay close attention to the following three steps. The SD reader pins should exit the rear of the PCB. Note that only center six of the eight pins are populated. ### Solder pins on the LED Driver You should have soldered the board-to-board pins to the LED Driver during step 1, while assembling the panel board. There are two possible positions to solder the board-to wire connectors. Solder them such that the six pins are on the opposite side as the other pins and that you are populating the set of pins closest to the I2C address selection pads. ### Solder pins on the Bluetooth Breakout The bluetooth pins should protrude from the back of the PCB, opposite the Bluefruit EMF shield. ### Square the SD Card mounting slot The SD card reader mount sits perpendicular to the other PCBs and therefore requires a special mounting procedure. We will use the nylon block to bond the boards together a bit later. First, however, we need to use either a file or a Dremel to square the corners of the SD card reader slot. When manufactured, it's simply routed out, so the inner corners are curved. ### Socket the ICs It is now time to carefully socket the ICs. The two most important things to keep in mind is that 1. The direction is significant. 2. The pins will bend easily And don't forget that the direction is extremely significant. Oh yeah, and the pins will bend easily, especially on the larger chips. TODO: Add photos Start with the MCP4822 chips. They are the easiest to insert and least likely to bend. The notch in each of these faces towards the top of the PCB - meaning towards the side with the noise circuit. Next, seat the analog output opamps. These are typically TL074s, but if you've upgraded, then they will be Analog Devices OP484s. The notches also face towards the top of the PCB. The next is one of the harder ICs. The CD74HC4514EN is a 24 pin IC whose pins are spread pretty wide. It will take some gentle persuasion to get them turned in just enough to get the IC in the socket. Note that this IC's notch also points to the top of the PCB. You need to be sure to insert this IC as far towards the bottom as possible in order for the op amps above to fit in properly. The best way I've found to do this is that once the IC is in, you can push the notched side of the IC with your thumb towards the bottom edge of the PCB. You should here a little squeak as it moves the half millimeter or so that will just give enough room. Once that's done, you can put the input op amps in their sockets along with the audio/noise op amp. Next are the digital output buffers that convert the 3.3V output of the Arduino to a healthier 5V level that most devices want to see as gate and trigger signals. THESE FACE DOWNWARD! The final IC is the digital input buffer. It's a simple pass-through that simply protects the inputs of the Due from abuse. ### Mount the LED Driver Next, we will prepare to assemble the two PCBs. First, place the LED Driver board in the pins of the panel PCB. ### Organize your interconnects The interconnects can be identified by the following characteristics: 1. Length 2. Number of connectors 3. Whether the cables are split or not 4. If the connectors are alternating or point the same direction The following table identifies the 13 cables that should be in your kit [table] Connectors, Length, Split, Alternating, Description 1 x 8, 4cm, no split, alternating ends, beatclock interconnect 1 1 x 8, 4cm, no split, alternating ends, beatclock interconnect 2 1 x 8, 7cm, no split, alternating ends, analog input interconnect 1 1 x 4, 7cm, no split, alternating ends, analog input interconnect 2 1 x 8, 7cm, split, alternating ends, digital input interconnect 1 x 8, 7.5cm, split, same ends, digital output interconnect 1 1 x 8, 7.5cm, split, same ends, digital output interconnect 2 1 x 6, 12cm long, split, same ends, audio output interconnect 1 x 6, 9cm, split, alternating ends, sd interconnect 1 x 4 to 1 x 6, 8cm, no split, alternating ends, twi interconnect (LED) 1 x 10, 5cm, no split, alternating ends, cv output interconnect 1 1 x 6, 5cm, no split, alternating ends, cv output interconnect 2 [/table] Additionally, there are two gray IDC ribbon cables that are used for power distribution. There is a short 10x10 cable that is used to power the panel board, and there is a long 10x16 cable that is used to connect to your system power. ### Connect the Analog Outs Set up the two halves of the 'b like a book and connect the analog outs. ### Connect the Digital Outs and Digital In ### Connect the Audio Out While the book is still somewhat open, snake the audio interconnect between the analog wires and connect one end of it to the 6 pin header on the panel board. Give it a half-twist and connect to the main board's audio connector. ### BEND! In order to fit properly, you will need to bend the panel board's digital in connector towards the analog output side of the device. REALLY bend it. In a couple of steps below, you'll see the photo where the digital in connector nearly interferes with the digital outs on the mainboard. This will help them fit together better. ### Connect half of the Analog In Before folding them together, ### Fold Together ### Add nylon washers and nuts Use a 5.5mm driver if you've got it! ### Finish the Analog In and Connect the Beat Clock ### Connect the inter-board power connector There is a short gray 2x5 connector. That connector goes between the two 2x5 pin headers in the upper left side of both boards. ### Connect the SD cable and LED Driver Cable ### Attach the Bluetooth breakout ### Test the power input impedance Before powering up, you want to make sure that you don't fry your power supply. Test the input impedence of the following pins on the power connector: 1. +12 to GND 2. -12 to GND 3. +12 to -12 You won't measure open circuits, but you should measure reasonably high resistances. Depending on your DMM, it will take a few seconds for the reading to settle as the power rail capacitors charge up. +12 to GND will read a few 10s of kilohms. This is so low because of the bias trimmers. -12 to GND should read a lot higher +12 to -12 should read even higher still. If any of them read really low, then you've probably gotten a chip in the wrong way or created a solder bridge somewhere. Otherwise, you're ready to power up! ### Power up Connect the power cable ### Upload your first program ### Run through the test and tuning procedure 1. Set noise gain - I set to what my o-scope says is about 18V P-P 2. bTestRNGTuning - There's a little interplay between the noise gain and the RNG tuning, so do this after. You run the sketch, open the terminal window, and tune until you get about 50% ones and zeros. For those who don't know, the Arduino cannot actually generate random numbers, so I use a noise circuit into one of the spare digital inputs. This signal gets XORed with the pseudo random signal (the reason for that, I'll leave to the student to figure out) in order to generate a truly random (or at least non-deterministic) sequence. 3. bTestAudioOutputs - Spits out a saw wave onto the two DAC outputs. You can set this to what you want... you can go as high as about 16V P-P, just watch for the tips of the triangles to start to round off... or be safe and set it to about 10V P-P. 4. Reset Button - hit it. Make sure it works. Make sure that when the EventManager.init() runs that all of the lights light up. If they don't then you should start debugging before you go any further. Most likely just a cable that needs a little poke with a sharp stick. 5. Pair BT - set up pairing with your computer. There's a whole article on how that works. (http://nw2s.net/bluetooth-pairing/) 6. BT indicator - Make sure the BT indicator lights up when you have the port set to the BT port and the serial monitor open in the IDE. 7. BT reset via DTR - make sure you can reset the device from the BT connection. I use SerialTools on OS X. Toggle the DTR pin from within that program and the device should reboot. 8. bTestSD - This will read the contents of the SD card and spit it out to the serial monitor. This will test that 1. your SD card reader is working, 2. your SD card is readable, and 3. the SD indicator light works. 9. bTestAnalogInputs - This is the easy biasing since the input gains are fixed. Just adjust the input offset bias trimmer until you get as close to 0 as possible. There are lots of numbers in this display. The one you're looking at is the third number of each column. This is the mV value of the input CV. Make sure none of them are very far off from the others (as in more than about 10mV) The final column is the average of all 12 inputs. 10. test input pots individually - Then go through and turn each pot all the way up and make sure you're getting close to 5000 mV input. 11. test input jacks individually - Then use a really slow bipolar LFO (I use my morphing terrarium) and plug it in to each of the input jacks one at a time. Turn up the input pot and make sure that you're getting positive and negative signals going to the ADC. 12. bTestDigitalInputs - test each toggle, both momentary and latched. Note that the first column is actually the noise signal piped to one of the digital inputs, so you're really interested in the last 8 columns. 13. test input jacks individually - Then plug a clock or gate into a digital input and turn it to the latched side. Your display should show some ones when that gate signal is high. 14. bTestAnalogOutputs - This is the tough biasing. So here's what you're doing... you're adjusting two settings. One is the gain of the op amp. This is what the 16 trimmers lined up in groups of four do. The second thing you're doing is adjusting the input offset value. That's what the one trimmer off by itself is doing. Another way to look at this is that the gain is setting the overall _range_ (i.e. 5V p-p or 20V p-p) while the input offset is setting the _midpoint_ of that range. Problem is that the gain affects how much the input offset voltage shifts the midpoint, so tuning gets tricky without an analog computer to help you out. Oh wait. What's this thing I have sitting here? Here's where I start: Using a digital multimeter, clamp to the USB plug housing with the ground side. Directly below the offset trimmer there is a via. Poke your positive lead at the via and measure the voltage. You want to start about 0.837V for a +/- 5V bias and you want to start about 0.909V for +/- 10V biasing. Once you're there, switch your DMM to something that can measure the output of the 3.5mm plug (or disconnect the ribbon cable and clamp to the pin header, but I prefer to measure off the 3.5mm. otherwise, I'd have to also test the 3.5mm plugs separately.) When you run the sketch, the first switch toggles between all -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, and 5V. If you're biasing for +/- 10V, it shows those values, but you're really tuning to 2x those values. Confused yet? Anyway, set the toggle until the serial monitor shows that the output should be 5V (5000mV). Your DMM will not read 5V unless you are incredibly lucky. Turn the gain trimmer until the DMM reads 5V (or 10V, remember!). You have now made a first stab at 1. setting the input offset and 2. setting the gain. Nothing is that easy, however. We need to make sure that -5V is correct. It probably isn't, so hit the toggle until -5V is being shown in the serial monitor. What you'll see is that it's probably reading an actual value of -5.5V in the DMM. What does this mean? This means that you've got about 0.5V too much range (gain) and the midpoint (input offset) is about -0.25V too low. So shift the input offset by about -0.10V, making the DMM read -5.4V, and then decrease the gain until the DMM reads -5V. Now lets see where +5V is actually reading... It won't be 5V any more... it'll probably be about 5.1V. So do the same. Decrease the input offset just a hair, then decrease the gain just a hair. Make it read 5V. Then check -5V and see what it's reading. You get the picture. Oof. It's a bit of work, but once you get the first one set, you can breeze through the rest without touching the input offset, just set them all to as close to 5V as possible. You can basically get them all to +/- 0.5% with some work. If you're tuning to +/- 10V, the gains are a little higher and the position of the trimmer makes it such that tiny movements make big changes in the bias points, so it's just possible you'll drive yourself crazy. Fair warning? Okay maybe a little late. ### Glue the SD card reader in place This is a very very critical step. Superglue is amazing stuff. It's messy stuff, and if you botch this step, you're going to have a time getting it fixed. Start by dry fitting the SD card reader into position as in the photo below. Depending on how aggressive you were with the file, the fit may be tight or loose. If it's just tight enough to stand on its own, then great. If not, then you can still get by, you just need to be a bit more careful. Then take the nylon block and dry fit it as well. Don't use any glue yet. You'll want to practice the motion of sliding in the nylon block and holding it in place a few times to make sure you're comfortable and that you can do it repeatedly and remain smooth. Once you're comfortable with that, place two drops of super glue (just two!) on the two mating surfaces. Slide it into place like you've practiced, and hold it steady for 20 seconds. Slowly release the pressure after 20 seconds and step away. Don't touch it for at least a few hours. Don't touch it! ### Attach all of the nuts and knobs Note that the toggle switch nuts and the 3.5mm nuts look similar, but they are different threads, so keep them separated to avoid confusion. ### Rack it up!