Close

Testing the breakout boards

A project log for A Hacker's Wedding Centerpiece(s)

Im getting married :D. I've been put incharge of making the coolest* centerpieces ever! (*coolest acording to me)

bveinabveina 01/11/2018 at 18:560 Comments

quick update!

breakout boards are in, i got white soldermask because...reflective?...cool factor?... cool factor.

huge shout-out to dirtypcbs who has always handled anything i threw at them no problem.

i quickly found my first problem. the footprint is not really hand solder friendly. does anyone have any application notes or white papers on how much is enough when it comes to making hand solder-able footprints?? eagle has two different 0805 footprints one is easy to hand solder, the other is impossible. i ruined 3 breakout boards/leds then abandoned my hand iron for a solder paste dispenser and re-flow oven.

i have a 983A solder paste dispenser and a T962A reflow oven in my lab, so i popped over and made up 40ish.

that's where i discovered my second mistake, the footprint was upside down, the pin one marker is in the wrong spot, everything else was labeled correctly so, not a big deal.

i was concerned about the leds surviving the reflow, they seemed very heat sensitive, any contact with a iron would destroy them, i used the default profile on my reflow oven and set out to test them.

after paste before placement
after reflow.

I modified some example code to light 3 leds in a strip, two were already available from previous tests, and the first would be the device under test (DUT). i set up the bread board with some double length headers to hold the DUT.

rom machine import Pin
from apa102 import APA102
import time

clock = Pin(14, Pin.OUT)     # set GPIO14 to output to drive the clock
data = Pin(13, Pin.OUT)      # set GPIO13 to output to drive the data
apa = APA102(clock, data, 3) # create APA102 driver on the clock and the data pin for 8 pixels


while True:
    apa[0] = (0, 0, 255, 31)
    apa[1]=  (0,255,0 ,31)
    apa[2]= (255,0,0,31)
    
    apa.write()                  # write data to all pixels
    time.sleep_ms(500)
    
    apa[0] = (0, 0, 255, 0)
    apa[1]=  (0,255,0 ,0)
    apa[2]= (255,0,0,0)
    
    apa.write()                  # write data to all pixels
    time.sleep_ms(500)

Each led was friction fit onto the double length headers. if all three leds blinked i reasoned both input and output pins on the led worked well. i didn't have a single failure. 


ill leave you with a shot of the apa102 die, not a super magnification, just interesting. next i have to wire ten of these up and set them up under the acrylic.

Discussions