Week 6: Embedded Programming

"Priyanka Tries to Make Something Do Something!"

For my sixth assignment for How to Make (Almost) Anything, I am going to be making an embedded system where I will build a integrated circuit board with an ATMEL AVR 8-bit Microcontroller and program it to recognize the pushing of a button which will then trigger a strand of three LEDs to light up. Since I have not really programmed before ever, I plan to use the starter code that Neil has uploaded on the How to Make web subpages.

Neil's MakeFile

First, however, I will be reading the ATMEL AVR ATtinyA data sheet to really understand how the microcontroller is working. Here below I have included some screenshots of (what I personally thought were) the most relevant parts of the data sheet.

The first was a picture of the block diagram of the ATMEL AVR 8-bit ATTiny microcontroller.

ATTiny Block Diagram

Next is the the Block Diagram of the AVR Architecture (with is a modified Harvard architecture)

AVR Architecture

Finally, I thought the information of the clock distribution and how the microcontroller writes over memory and stores in in certain cycles was particularly interesting (and hopefully soon to be useful)

Determining Clock Distribution

For the build project itself, first, I will be downloading the make file for the starter code and modifying it to be able to blink a strand of three LEDs. Here is a screenshot of a strand of ICBs with fluorescent-colored LEDS (indicative of what I will like to do for my final project). The picture was found on an Adafruit blog.

Then I will be settiing up the board and the connections where the programmer will be connected to the computer via USB and this week's board connecting to he computer via FTD/USB. Here is a picture that I found on the internet via technologystudent.com that shows a picture of what a connected USB embedded system will look like.

Potential System Layout

Then check to make sure the computer recognizes the programmer and this week's board.

I will then run the make file and then the eddited file as well. Below, is a screenshot of "blinker" code that I found on the internet from a website/tutorial that I followed to learn more about embedded programming.

Code Screen

Before I will be running the board, I will unplug and replug everything to make sure that a power cycle has occurred and everything has been updated. Here is a picture of some of the components I will be using this week, that I found on a hobbiest shop called rcdude.com.

An FTD USB

That's all for now folks! Please come back to see updates on this project.