Skip to content

8. Embedded programming

During this week, I worked on using my programmer to program my button board from the Electronics Design week to work in a different language. In addition to that, I was tasked with reading the data sheet for the ATtiny 412 microcontroller I used.

ATtiny 412 Microcontroller Data Sheet

This week, I first tackled the task of reading the data sheet for the ATtiny 412 microcontroller I used, but before that, I did some research on Data Sheets.

What is a Data Sheet

According to this website, a data sheet is a document, printed or electronic that provides details about a product. It summarizes the performance and other characteristics of a product and includes information that helps in making a buying decision about a product by providing technical specifications. I also read this article to help me.

ATtiny 412 Data Sheet

The data sheet for the microcontroller we use, MegaTinyCore’s ATtiny 412, can be found here.

I did not read the entire document as it is close to 600 pages, but I did do a thorough skim on topics I thought would be helpful. Still, this data sheet was a struggle to get through. Some things I fully understood, such as the tables that showed the differences in the different ATtiny chips and teh pin configuration, but there was also a lot I did not know anything about, and ended up reading the same things over and over to get grasp the concepts. Some of the things I thought were important related to the pins and pinouts. You can find some of the pages below:

Outcomes

Through this assignment, I learned the importance of Data Sheets and how they can give you insight on what you are working with. They can also prevent countless mistakes based on software based mistakes by doing a little reading. I learned it is always a good idea to read, or atleast skim, the microcontrollers data sheet before starting work with it.

Using Programmer to Program my Board to do Something

The second assignment I was tasked with was using a programmer to program my button board. I had already done this during my electronic production and design weeks.

Here, you can see what I did.


Since I had already done it, I decided this week I would work on coding in other languages. I initially coded it in C++, the standard language for Arduino, but this week I decided I would try using bare-metal to acheive the same function.


Last update: April 6, 2022