This week we have to program the board we made on Electronics Design week. This is the first time we used the FabISP to program a board. At the beginning I had no idea of how this works, but at the end, I got the logic behind it, this doesn't mean I fully understand it, but now I feel more confident with this subject.
Read a microcontroller
Check the design rules
Program your board to do something
First, we had our weekly lecture with Neil Gershenfeld, you can watch it here.
Nadya Peek gave this week’s lecture, she talked about Object Oriented Machines.
If you can make almost anything, then you can make the things that make almost anything. The fab lab roadmap ends into programmable matter, but in the meantime we are building the different stages to reach there. Making machines that can make machines is the fundamental part of the fab lab 2.0, and Nadya is leading the way.
Before being able to program our board is to get Arduino and a library to be able to use Arduino to program. It's important to say that there's more ways to program this board but I did it with arduino in this case. You can also use .make file to program it.
Get Arduino here.
Then download the ATtiny microcontroller support for the Arduino IDE. Install it on the Arduino directory,
../Documents/Arduino/(paste hardware folder here)>.
Then you have to create a folder and name it hardware, inside this folder create a new one and name it attiny. And then inside this last folder create a new folder named avr.
Paste the files you downloaded before inside the arv folder.
Now if you go to to
arduino > tools > boards you should see that ATtiny is available.
Now you have to check pins on Arduino because they are different that the ones on the ATtiny. You need to find the equivalent pins.
Then because is the first time we used the FabISP to program, we need to remove the jumpers that where there before. Remember that we used those jumpers to be able to program the FabISP for the first time, so we don't need them anymore.
Now you have to create a new FTDI cable. Use the color to guide yourself for the connections, for example I use black to identify my ground always.
Check your connections with a multimeter to be sure that your connections are alright.
If everything is alright, connect the boards to the computer. Then prepare the board to be programed, first thing to do is start Arduino, then go to
Tools > Board > ATtiny. Set the clock to 20mhz and set the programmer to USBtinyISP.
Then to finish
Tools > Burn Bootloader and you are done.
You can download the Arduino code here.
And the final step, send a test program to the board. We used the blink from the Arduino examples. If you did all previous steps correctly the board will start blinking!