Week 8 Embedded Programming
This weeks assigment is perhaps the most difficult part of the fabacademy for me, since I have totally no kwowledge and experience with it. But there where other things as we that made my life a bit more difficult. At my daily job at the FabLabEnschede I had also to catch up with my tasks there, since I had spend about 40 hours behend the Shopbot machine, making my own objects and spending my time assisting Paul with the Shopbot milling machine. Last week I had to work on customer projects to make progress on that as well. Also at home I was running behind with paying my bills and my administration and I had to clean my home and doing the laundry etc. During the weekend I had a lot of familie stopping by so my time was running out very quickly. So I couldn't spend as much time in the Easter Holiday as planned with stresses me a bit, because I haven't done that much on this weeks assignment.
I startet to read the datasheet datasheet of the ATtiny24A/44A/84A microcontroller which I used on the hello world board in week 6. I found it really difficult to understand.
I learned that reading the data sheet, the most important picture in the datasheet is the Pin Configurations of the Atmel ATTiny44A
Next I tried to understand the components. I startet reading the avrbeginners.net
I have downloaded the AVR dude software
I have downloaded the Arduino 1.6.5 version on both my windows and Apple laptop.
Adding the ATtiny44a to Arduino IDE
To be able to communicate with the ATtiny44a, the ATtiny44a microcontroller has to be added to Arduino IDE. It goes via: Tools -> Board Manager menu.
I followed the highlowtech.org tutorial. For putting on the Bootloader on the hello echo board, this step is also required.
The hello world board must made programmable by burning a bootloader in the ATtiny44 microcontroller. This only needs to be done once. This action can be done in the Arduino IDE environment. Go to the Tools menu.
In the Tools menu the red circled items needed to be set correctly. The port is shaded gray. This is not ok. It needs to be highlighted and show an usb port where the fabtinyISP is connected to the laptop. It should look like this. This picture below comes from Sander van Vliet
Here the problems started. I had to programm the fabtinyISP first. This fabtinyISP, In System Programmer ( a hardware device to program microcontroller devices) is made in Week4. I checked the connections with a multimeter. Every connection looked fine. But the computer doesn't see the usbtiny. The LED is illuminating red, the laptop is giving a sound signal that the usbtiny is slided in the usb connector, but the system doesn't show it that the usbtiny is connected.
I tried to unsolder the microcontroller to replace it by a new one. After I had removed the solder with the Quick Braid Rosin , I tried to remove the microcontroller.
But it was still stuck to the copper of the PCB board. I then discovered that the copper layer isn't that strongly attached to the board, that I peeled it of together with the microcontroller.
So my fabtinyISP board was destroyed. Next time I need be more carefull.
To be able to continue at home, Emma give me an other fabtinyISP.
With this other fabtinyISP I tried to connect to the laptop. But again I had the same troubles. I tried also my private Apple laptop and downloaded Arduino. Also on my Apple in Arduino no port was connected to the fabtinyISP. I seached in Google to fix the problem. It took me hours, I downloaded several software but still it didn't help.
Yesterday, the day after the Easter holiday, I ask Patrick, a college at my fabLabEnschede to help me. First we tried to connect to a Raspberry pi to be able to work in Linux. In AVRDude we tried to connect to the fabtinyISP. But it failt to connect. The massage was: Programmer is not responding
Then we tried in a windows machine. But still no contact possible. Programmer is not responding.
We tried by downloading the Amtel Studio 7 software to do it with this software. But again no good result.
Then we tried it with an Arduino PCB to instal the software on the fabtinyISP
But again a error ocured. No device signature.
We connected the Arduino on a diverent way.
But again a error ocured. No device signature.
Sadly all these troubles took so much time that I still have to practise on the programming itself. This will be my task for next week. I also wil then update this website with this part of this weeks assignment.
The milling machine that is used to mill the FabLabKit is an LPKF. It is located at Saxion University of applied science where I work. Paul and I have programmed it and made for our self a instruction movie
And a second movie how to adjust the milling machine
On the screen the milling proces can be followed.
The outlines are milled with an 0,2 mm mill
The copper toplayer is removed with an 1 mm mill.
The outside line is cut with a special outside cutting mill to mill the board free.
To be able to to solder the components on the right position these schematics are needed
The list of components that sold be soldered on to board.
The eagle layout of the Fabkit
I startet in the middle to solder the ATtiny44 microcontroller. I soldered the complete PCB without the use of an microscoop.
Soldered the other pins on this side as well
To solder the first .1uf capacitor, I first added tin on the board, so I could meld the capacitor on one side in the tin, to fix it and then solder the other side.
Then I added tin on the spot where the 10k Ohm resistor must be soldered. I soldered the resistor on both sides and added tin on the position of the other 10uf capacitor.
Add tin for fixing the .01uf capacitor
Add tin to fix the resonator
Add tin to fix the LED
Next the LED 1206 and the 499 Ohm resistor are soldered.
The switch is soldererd
The 1uf Ohm resistor is added
Add tin to fix the 8 pin FTDI Header
Solder the 8 pins of the header
Check if the LED is on the right position. It was turned, so I had to take it of again and turn it 180 degree and solder it again. I had looked in Google for the anaode and cathode side, but not on the specs of this LED. So I was mislead by Google. Next time I check the datasheet of the component, instead of only looking in gGogle that looks like the same component, but it isn't.
In this week I was not able to finish the task. I have done this in the final project week where I used the fabkit and upload the remote control sketch and made transmit code. This is the link to the proces I went trough. Also the files are stored in the final electronics website