I've built up a project on my Arduino Uno to control various aspects of my beer brewing system. At this point it seems to be doing what I want, but I would like to reuse my Uno for another project. How should I move my project from the Uno and breadboard to a PCB, perfboard, or whatever? Any good solutions out there?
Here are some instructions. If you just want to know what goes where in your perfboard, read on.
Here's the pinout for the ATmega328:
Now, connect the + end of your 12V battery to the IN of 7805, and - to the COM. Hereafter, I shall refer to any connection from COM as "GND" and any connection from OUT as "Vcc".
Connect Vcc to Pin 7 and 20 of the ATmega328, and GND to pin 8 and 22. Connect Vcc to a ~10 kiloohm resistor, and connect the other end of that to the RST pin (pin 1). Also, connect GND to a reset switch, and the other terminal of the reset switch to pin 1. When the reset switch is on, the Arduino will restart. If you don't want a reset switch, just connect Vcc directly to pin 1.
Connect GND to the negative terminals of two 22 picofarad capacitors. Connect one capacitor to pin 9, and the other capacitor to pin 10.
Now, connect a 16MHz clock between pins 9 and 10:
If you use the AREF pin, just connect your AREF to pin 21.
Rest of the pins
These are labelled in the diagram above. Pins 23-28 are A0-A5. Pins 2-6 are digital 1-4, 11-19 are digital 5-13. Use these normally. Note that digital pin 13 (pin 19 on the microcontroller) won't have an LED anymore, but if you wish to connect one, connect it to an LED, followed by a 200-300 ohm resistor, followed by ground:
If your Arduino is a DIP Arduino (the ATmega is removable), then just program it using the IDE, remove the ATmega, and place it in your perfboard circuit (I assume you're using an IC holder). If the Arduino has a surface mount ATmega, see How can I use my SMD Arduino to program a separate DIP ATmega328?.
That's it! Now you can easily take an Arduino project to a perfboard!
Here's the final schematic:
Your project sounds like what many people would call for a shield to handle. In that case, I would buy an inexpensive variant arduino clone and replace it for the Uno. It really depends on what functionality you need.
There are so many clones out there, and I fear starting to sound like a spammer for mentioning clones I have used and like in many of my responses. But...
If you do need USB serial monitoring, seeed studio has a couple models that seem perfectly adequate and have a mini USB jack. Varying slightly, the teensy boards are small and cheap.
If you don't need USB serial monitoring, you can use a clone that only has an ttl/FTDI interface. The digistump digispark is very small, very cheap. The emsl diavolino is great, as is the modern device BBB.
If you choose this path and pick a clone that maintains the "standard" arduino pin locations, you can pick up any of the half dozen "protoshields" out there. Here's one that looks pretty cool if your circuit involves chips at all:
Arduino Compatible Protoshield Prototyping Shield ... but of course cheaper alternatives can be found. Depends on what kind of circuit conveniences you need for your design... power and ground rails, leads for chip pins, etc.
Here's one idea, I'm sure there will be others:
You can download and use Express PCB to design the printed circuit board. The software is free and they provide a service where they will manufacture the board for you. For a single board though, that will be pricey. Alternatively you can print the design (directly from that software) to a laser printer and then there are ways you can use the laser printed diagram to etch a PCB yourself. Here's one YouTube video that shows you how to do that.