Of course you have!!
For me it really started when I built my first day/night light. I used a light dependant resistor to determine if it was dark and if it was to then turn on an LED light.
I then went on to add a movement sensor. From there I built a multi channel lighting controller. With very small thin low voltage wires running all over the place, hot glued in spots to the walls and floors. I can’t tell you how nice it is to have automated lighting. It seems like such a simple thing to go over and turn on a light switch, but believe me after having an automated system, If I go somewhere else to another house or hotel I realize how luxurious and satisfying it is not to have to turn the switches on and off in order as I move from room to room.
So what started out as a simple test of coding and sensors and logic, has seen me refine the design iteration by iteration. Not really in terms of capability but more in the way the parts come together and the way it is used. In terms of the hardware I have gone from breadboard, to prototyping board and soldered parts, to a fully custom printed circuit board (PCB). In the way of usability I have gone from very messy blobs of electronics laying on the floor, to an encased multi channel box, but with wires everywhere, then to a single board per light solution, with onboard adjustable dials.
Step 1: Design a Circuit..
Now the first time I tried using the program without watching some tutorials I wasn’t really able to achieve much. But then I decided to use Youtube to my advantage. Yes its not just for cute cat videos.
rpcelectronics have a seriously good quick set of videos to follow along to with your own free copy of eagle cad.
Draw out your circuit, using the basic tricks shown to you in the tutorial videos. DO NOT try for anything too hard on your first attempt. You will have to respin the board a few times to add more features.
When trying to find the correct parts in the schematic library, IF IN DOUBT, just leave some correctly spaced pads there instead for you to solder to.
Keep it simple.
Step 2: Lay Out the Board..
Try to keep all the parts inside the edges by a good 5mm or so.
Keep the pads and the tracks separated nicely from each other.
Make your self some nice labelling and text on the board.
Run the design rules checking script, often the board house who will be making your boards supply a script.
Finally, make sure the silk screens are on the correct layers. Itead studio for example, use Tplace, Bplace, Tnames, Bnames for the layers that make up the final silk screen overlay print.
Paypal the board maker your $15 and then email them the files.
Wait four weeks.
Step 3: Four Weeks Later..
The first thing I did was give it a look over and compare it back to Eagle cad and try to work out how eagle cad actually translates to the board. They did a great job, and pretty much everything was kinda like I thought it would be.
I then did a continuity test on the main power tracks to make sure they were correct. Cause I thought that would be important.
Realise that some of your markings are wrong but the tracks are right and that's what counts.
Don't worry we'll just write up some assembly notes. After all its only for me.
Step 4: Gather Your Parts..
It can take a while. If your on a budget a lot of what you are getting is going to come from shenzen or hongkong and its going to take 4 weeks. So put your feet up, work on another design or respin your boards while you wait, its up to you.
Gather all your parts, this is going to be FUN!
Step 5: Assemble..
I did the power components first, and then ran them up to see what current they were drawing and if they outputted the correct voltages to the right pins.
Then I installed the sensors and checked that they were all outputting OK.
Then I burned off a nice new copy of the code onto a nice fresh new Arduino and plugged it into its socket.
Made a really hot cup of tea.
And turned it on.
Step 6: Troubleshooting..
I modified my code a number of times to help me see the values and status's of the pins, as well as letting me know through serial if the processor was even running or what it was doing.
With my first board, some of my pins weren't even in the right spots and some of the component values I had chosen weren't quite right.
Just use a few bodge resistors here and there and maybe a few extra wires to get it all going.
If you want to, respin the board.
Show your friends!
Step 7: Well Done..
I give a few of these things away to mates to see how a user reacts to them and to get feedback on the device. Its really cool to see what matters to some and that what you may consider a simple way to operate something may confuse others. Its great feedback, whether you choose to change anything or not. A good way to amuse yourself.
Hopefully after a few months you will have slowly brought together a number of new skills and made your widget building even easier and more professional than it ever was.
Step 8: Whats Next..
Maybe you could try designing an enclosure for it in a free 3D program like google sketch up. Send it off to shapeways and have it printed out of plastic.
Don't forget to blog about it!
My own blog is here. I have also attached the main files I created when I built my project. The schematic, the board file and the code. The program used to build the circuit and the board files was eagle 6.3 and Arduino 1.0.1
* Note: I have just produced version 3. Smaller in size and with a lower parts count. Some improvements to the layout and silk screen plus a dimming control.
There maybe a few kits left for sale on my website .. Just a bag of parts..