How to make any chip

Microprocessors

The assignment for this week is to program a microcontroller. A microcontroller acts as a “nucleus” of a board because it computes and executes code. It is used in many of our appliance and day to day things. I’m excited that I’m finally going to learn how to use this incredible machine because I didn’t take any classes in my university that explores this topic.

Since I don’t have the experience of developing and programming a board from scratch so I will use the board I made in week 6. I will generate and compile a code to make the LED blink. My main goal for this week’s project is to understand how I can program a microprocessor so I can later use this knowledge in future projects.

The board I am using uses a ATTiny44A microprocessor chip. I will be program my chip from the terminal and not through arduino because I’d like to get to condition myself to use the command line and not rely on GUI. This is will be easier for me to debug because I have an easy access through the process even though my code isn’t pretty. But, if I ever have a difficult time with running the program I know that I can always switch gears to arduino.

Before I start programming my chip, I will need to investigate what each pins corresponds to. I will use the data sheet provided by by Atmel to tell me what the characteristics of the ATTiny44A.

I was falling behind on Fablab because it took me a while to finish last week’s project since it was assigned during finals week and I was putting a lot of my time in reviewing for my Digital Communications class. So, I had a lot of help from Matt and Bill to program my chip. I’ve been writing code a lot in my other classes so I reverse engineered what they did for this weeks project.

I used Sublime Text 3 to edit my code on my Mac and I have to admit that Sublime has a nice interface. It was actually easier to read code compare to the linux terminal. I used Neil’s tutorial for how to compile code into my board and simply made adjustments for my own code. Remember to always have you .c and .cmake file in the same folder otherwise the code will not execute. I used Bill’s blink.c code to know that I can program my board and it turned out well.