<?xml version="1.0" encoding="UTF-8"?>

<upm-export>
	<title>ripnet.us</title>
	<link>https://ripnet.us</link>
	<description>My page about stuff</description>
	<pubDate>Fri May 8 14:12:29 2026 / +0000  GMT</pubDate>
	<generator>Universal Post Manager 1.1.2 [ www.ProfProjects.com ] </generator>
	<language></language>
	
			<item>
			<title>Lights Controller Design</title>
			<link>http://ripnet.us/?p=166</link>
			<pubDate>Fri May 8 14:12:29 2026 / +0000  GMT</pubDate>
			<guid isPermaLink="false">http://ripnet.us/?p=166</guid>
			<content-encoded><![CDATA[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<!--more--> interface in the basement over an I2C bus (yes I know it's not the best choice for the distance, but it should work just fine). The ATMega328 has I2C hardware resources built-in on ports 27 (SDA) and 28 (SCL). For programming, I opted to use an FTDI serial programming interface and not include an ICSP header. I'll install a bootloader on the chip and just use serial to re-program it. This also gives me the ability to use the serial output for debugging.

While working on the schematic, I noticed that I had just enough ports for 2 more encoders. I don't think I'll end up using them, but I included them just incase.

<a href="http://ripnet.us/wp-content/uploads/2015/04/KitchenControllerSchematic.png"><img class="aligncenter size-large wp-image-167" src="http://ripnet.us/wp-content/uploads/2015/04/KitchenControllerSchematic-1024x791.png" alt="KitchenControllerSchematic" width="605" height="467" /></a>

Okay, the schematic is done! Let's turn this into a printed circuit board (PCB). I need this to fit inside an outlet box. I measured mine at 3" x 1.5" for a not-too-snug fit.

I'll skip the boring details, but here's what I came up with:

<a href="http://ripnet.us/wp-content/uploads/2015/04/KitchenControllerPCB.png"><img class="aligncenter size-large wp-image-169" src="http://ripnet.us/wp-content/uploads/2015/04/KitchenControllerPCB-1024x791.png" alt="KitchenControllerPCB" width="605" height="467" /></a> <a href="http://ripnet.us/wp-content/uploads/2015/04/Screen-Shot-2015-04-25-at-11.18.46-AM.png"><img class="aligncenter wp-image-170 size-medium" src="http://ripnet.us/wp-content/uploads/2015/04/Screen-Shot-2015-04-25-at-11.18.46-AM-300x213.png" alt="KitchenControllerPBCFront3D" width="300" height="213" /></a> <a href="http://ripnet.us/wp-content/uploads/2015/04/Screen-Shot-2015-04-25-at-11.19.34-AM.png"><img class="aligncenter wp-image-171 size-medium" src="http://ripnet.us/wp-content/uploads/2015/04/Screen-Shot-2015-04-25-at-11.19.34-AM-300x165.png" alt="Kitchen Controller Back PCB 3D" width="300" height="165" /></a>

&nbsp;

Next I sent this design to <a href="https://oshpark.com/" target="_blank">OSHPark</a> for manufacture. Stay tuned!]]></content-encoded>
			<excerpt-encoded><![CDATA[]]></excerpt-encoded>
			<wp-post_id>166</wp-post_id>
			<wp-post_date>2015-04-25 11:26:57</wp-post_date>
			<wp-post_date_gmt>2015-04-25 15:26:57</wp-post_date_gmt>
				</item>
</upm-export>
