Tuesday, April 5, 2016

Pixel Clock assembly guide 0.3p

Let's assemble this thing!




First, check your bill of materials.

BOM

codewhatqtystep
atmega3281B2
U1dip 28 ic socket1B
SW1rotary encoder /w nut and ring1B
C1, C222pf (no polarity)2B
C310uf polarity!!1B
C50.1uf (no polarity)1B
R110K1B
R2LDR photocell1B
R31K1B
DISPheader 4 female1B
PRGheader 6 male1B
DS3231header 4 male 90 degrees angle1B
(for power)header 2 male 90 degrees angle1B
LED13mm led1B
Q116MHz crystal1B
D1, D21n5819 schottky diodes2B
Pixel Clock PCB1B
8x8 ws2812 display /w 3pin male header1B3
DS3231 Realtime clock1C
CR2032 battery1C
buzzer1B opt
power plug 2.1mm /w nut1A
shrink sleeve10cmA
10cm cable 2.54mm female-female4A
female-female 2.54mm header for power2A
printed case front1E
printed case back1A
printed button1E
Adapter 5v 3A1E
serial programmer (opt)1Z
20cm cable 2.54mm female-female (opt)5Z

Assemble

Step A: Prepare back of case

Prepare the back of the case by putting the female 2.1mm power plug in place. Strip the 2 female header wires, the length should be about 4 cm. Cut 2 pieces of about 2cm off the shrink sleeve and put it on the white and black wires. Solder the red wire to the middle and the black wire to the long outer end. After soldering, put the sleeves down to the connector and heat it (I use a lighter).

Power connecter in place.

Step B: Solder components

It is easier to first solder the 'low' components, then the higher ones. This way, you can put the PCB on its back and solder a component in place.

Caution:
- C3 must be soldered a few mm off the PCB, so it can be 'folded' sideways. C3 has polarity, but on the PCB 0.3p it is not marked. The '-' side is the side of the DS3231 connector.
C3 (brown capacitor), with mark'-' side.
- The LDR R2 must also be soldered a few mm above the PCB. This way it can be 'folded out'.


LDR R2 a few mm above PCB.
R2 LDR 'folded out' and C3 folded sideways.
- Connector for DISP must be soldered on the back!!! ps. only the 3 outer pins are used.

DISP connector.
- Optionally solder buzzer on the BACK SIDE. The buzzer is a bonus and it 'accidently' fits on the board. The software currently doesn't have sound in it, but you can program your own alarm clock with this one :-) Solder it with correct polarity, about 2 mm above PCB (ground is connected to a big area, + goes to ATmega pin). Then 'fold it' towards the middle.

Buzzer into place.

My preferred order (although I do it different all the time):
- Q1 Crystal
- C1, C2, C5
- R1, R3, R2
- D1, D2
- U1 ic socket, marking on right side!
- DS3231 connector, 90 degrees angle!
- power male headers, next to DS3231 connector but not marked, 90 degrees angle!
- LED
- rotary encoder on SAME SIDE as other components (I did once on the wrong side, 30 minutes thrown away)
- flip!! and solder DISP on back side.
- did I forget something?

Almost done!

Step B2: Prepare the ATMEGA328

If your ATMEGA328 comes pre-loaded with software, you can just put it in place (do it in the correct direction please).
Now it is time to bootload the thing. Either using a USBASP or another Arduino, your choice. [TODO: write more about bootloading]
After bootloading, put it in place. Be cautious about the direction!

Step B3: Prepare ws2812 display

Carefully solder the 3 pin header on the back of the display, on the side with DIN. That's it!

Step C: Prepare DS3231 RTC module

Snap the battery in place. Connect the 10 cm cable on GND, VCC, SDA, SCL. Connect it to the PCB. GND on the PCB is the one AWAY from the power side. (note to self: mark it on next revision). CAREFULLY put it into place.


Step D: Put PCB into place.

Connect to power wires. GND is the inner pin next to DS3231 connector, '+' is the outer pin. (note to self: mark it on next revision). Now CAREFULLY snap the PCB into place.


Put the ring and bolt on the rotary encoder and tighten. 

Looking good!
Put the display on the OUTER 3 pins. 

Display into place on the outer 3 pins.
If you're ATMEGA328 is pre-loaded with software, you can test it now: put the power on using the power adapter. You should see something like this:

Yay it works!
Test rotary encoder for different layouts.
After testing, pull the plug again before final assembly.

Step E: Final assembly.

Get the front of the case and carefully click one corner at a time into place. Make sure the logo it on the sides, facing up. The rotary encoder is on the upper right side. Then place the knob, push it into place. Tadaa you're done! Have fun :-) OR read ahead about programming this thing.




Step Z: Programming.

Be cautious when connecting. Reversing power can destroy the Pixel Clock :-( Connecting it wrong can destroy your USB port :-( And of course, I'm not responsible for that. Having said that, read on!

We need the external power along with the serial connection, so we DO NOT power the Pixel Clock from USB. It requires up to about 2.5A of power and can potentially destroy the USB port.

Hold the Pixel Clock face down, with the power connector in the lower left corner and the rotary encoder on the upper left corner. Connect pins DTR, RXD, TXD, SKIP (5v), GND, SKIP (3v3) into the Pixel Clock in the same order while also skipping the 5v pin and the 3v3 pin. Now plug the programmer into the computer, while powering the Pixel Clock with the external power supply.

!! In the Arduino software, select board Duemilanove / Diecimila and processor ATmega328.

Ok you should now be able to reprogram the Pixel Clock yourself. Have fun :-)


No comments:

Post a Comment