After the first programming week we had a Fabisp board. there wasn't much to it but this week it came in very handy. And know you have a working fabisp goes a long way when you are designing circuits. circuit programming is a complex process that has several steps to consider.
steps
come up with an idea back to top
this can be the hardest part of the process. Figuring out what you can do and how you are going to do it can be an overwhelming process for someone new to embedded programming. There are several good places to get ideas and components. my favorite is sparkfun .
write a program back to top
Writing a program requires understanding the components you are using (sensors and actuators) as well as the micro-controllers you are using. First you'll need to pick a language. the language you pick has a huge impact on the amount and the complexity of the code you will write. the lowest level language you can write in is called Assembly. there is then C and then c++, java and all other higher level languages. One to note is arduino , it is a great interface that simplifies the process.
design the schematic back to top
designing the schematic, is the point in the process where you define the electrical connections between your components. The difficulty is this is linked to how well you understand electronics. this is something that takes years of learning, though you can pick up the basics fairly easily and then google your way to a solution.
design the circuit board back to top
this is the fun part. Think of it as a sodoku game on crack. this is a tedious but strangely soothing process. trying to connect all of your components looks impossible, but if you keep rearranging and tweaking you'll eventually get it. and there is huge sense of satisfaction when you do.
mill board back to top
there is a lot of ways to make the board. we used a modela milling machine. It is a pretty quick process if you have your board laid out with proper spacing. If you would like more info on this check out the electronics production page.
solder on component back to top
once again this was covered in the electronics production page. It's pretty straight forward just make sure you are putting the right components in the right places.
program the board back to top
Depending on the language you chose at the beginning this process can be a little bit different. But it boils down to a few steps. First, you need to have a programmer, ie the fabisp we made last time. then you need to connect your new board (remember to add something into your design so that you can program it. you also need to make sure the new board has power. once everything is connected you need to burn the program. This can be hard to figure out if you have never done it before, but because we are using AVR micro-controllers you can use avr studio, winavr, arduino, or other interface you can find googling around. Just cross your fingers and hope it works.
debug and repeat back to top
personally i recommend breadboarding your design first. especially if you are not an expert. it take time, trial, and error to get these things right. but if you are going to jump in head first printing circuits like in this class, make sure you take your time and think about every aspect. if not you will find yourself repeating the process, and hopefully learning from your mistakes.
also here is a helpful link to drivers to able to this stuff on windows 7 which is practically impossible otherwise.