Embedded Programming

Embedded Programming

This week's homework requires us to program a board to do something meaningful. We could design a new circuit, mill the board, and sell the components, as we have done. Electronic design, among others....

During this week, I dove into the world of embedded programming. I spent several hours studying the ATtiny412 datasheet, which was a steep learning curve but essential for understanding the chip's architecture, memory map, and pinout functions.

Key findings from the datasheet:

  • VCC/GND: Operating voltage 1.8V to 5.5V.
  • CPU: up to 20 MHz.
  • UPDI: Unified Program and Debug Interface for programming.

Reference setup for programming

For the programming workflow, I used the **Arduino IDE** with the **megaTinyCore** support. I wrote a simple script to control the LED and button I added in Week 7. I learned how to use `pinMode()`, `digitalWrite()`, and `digitalRead()` to interact with the hardware.

Right now, I feel like Sisyphus carrying a rock on top of me up the hill, not quite sure I'll make it to the top before the rock rolls again!

I hope this is just a very steep learning curve, which I will eventually manage to climb. The plan for tomorrow is to cover many pages of the 'Data Sheet' in the hope that it might help things fall into place.

I started going through the data sheet and started having a LOT of questions! Although the presentation screenshot cleared things up a bit, I soon felt like I needed to understand more about the abbreviations I was reading. Especially the ones that looked like hieroglyphics to me so I wrote down their abbreviations and did some Google searches which gave me the various results.

Program used: Arduino

Now that I am a little calmer and downloaded the "Arduino" software.

Documentation of the week:

semana 9 de Cindy Marilyn

References

https://fablab.esan.edu.pe/aprende/arduino-n1