I published this site to aggregate some local aviation weather info into one page:
I published this site to aggregate some local aviation weather info into one page:
Mmmm they look so purdy :)
Doing some continuity checks before I begin soldering and risk blowing components up
Most parts are on, save the I2C resistors and the heat sinks. Time to program the microcontroller:
Let’s hook up the scope to see what our I2C signals look like.
Holy moly they’re awful with the ATMega328’s built-in pullup resistors. Fortunately I left spots on the PCB to add my own. I ended up with 2.2k ohms. Nice edge transition, not too much current.
After the external pullup resistors:
Now the hard part… running the damn wires through the walls. I’ll update later on.
Today I did a bit of soldering, and one thing that still amazes me is how small some components can be. I purchased some 0805 ceramic capacitors (0.1μF for those interested). These things are 0.08″ x 0.05″ (2.0mm x 1.2mm)! Even more incredible is this isn’t the smallest package. A cursory search online shows they have 0.01″ x 0.005″ (0.4mm x 0.2mm). I think 0805 is the smallest I’ll try to hand solder.
Enjoy some pics (and the dime for scale):
The PCB for the lights controller is in! At OSHPark, you can only order a minimum of 3. Here they are:
Looks like I forgot to label the ports on the silkscreen for the screw terminals. Oh well. I started soldering almost immediately. Some top components:
The rotary encoder (on the bottom/back):
All finished!
I chose not to populate the other two rotary encoders. Like I said in my previous post, I wired them in just incase my plans change.
Next I had to burn the bootloader and set the fuses. I had this rig already setup for another project and I was able to use part of the circuit for sending the bootloader.
I set the fuses for the 8MHz Internal RC oscillator and pushed the following command to get the chip running.
avrdude -p m328p -P /dev/cu.usbmodem142411 -c avrisp -b 19200 -U lfuse:w:0xe2:m -U hfuse:w:0xda:m -U flash:w:ATmegaBOOT_168_atmega328_pro_8MHz.hex
Then to use my trusted FTDI USB-to-Serial chip from Sparkfun. Tiny little thing…
In this video I power it up, upload the code, do a basic test and mount it in the wall plate. Enjoy!
I did a quick design of the controller for the lights. It’s pretty simple: Everything connects to an ATMega328P (the heart of an Arduino) microcontroller. The RGB LEDs connect through some 100ohm current limiting resistors to the micro. If you press the rotary encoder in, you’ll notice it has a pushbutton (awesome!) so I also connected that to the micro, but those needed some pull-down resistors.
This controller will talk to the Read more ›
Just a quick shot of the LED strip in action.
There’s an Arduino Uno controlling this with PWM (pulse width modulation) and some N-Channel MOSFETs.
Some oscilloscope porn:
I’m starting a project to install under cabinet lighting in my kitchen. Most of the options at Lowe’s aren’t really attractive, to say nothing of the price. One major requirement is to use LED lighting to keep the heat under control.
At my local electronics store, Unicorn Electronics, I found this LED strip:
It’s a 5 meter strip of 5050 RGB LEDs, on a spool, covered in waterproof resin. You can cut them every 3 LEDs (50mm) and the strip has a self-adhesive backing. Seems perfect for cabinets!
I finally purchased an oscilloscope, the Rigol DS1054Z from Tequipment. It took a little over a month to arrive, but it works great, and is packed with features. It’s hard to believe that this scope was only $399!
Recent Comments