Embedded Systems

Embedded Systems #

I took a few courses on this topic, but never felt this to be too difficult. My experience in this has been limited to micro-controllers, breadboarded circuits, and the occasional FPGA.

For this reason, things followed a pretty set pattern:

  1. Read the datasheet
  2. Wire up hardware
  3. Write code
  4. Profit

Working with FPGAs and micro-controllers does have the benefit of being more demonstrable than others. The joys of dynamic programming might be lost on your grandmother, everyone understands blinking LEDs.

This was also my first foray into understanding the hardware-software interface. I learned a bit about how C worked under the hood and also how to write assembly code.

I mostly worked with RISC and MIPS architecture assembly code. The difficulty comes from the fact that operations take many more lines of code and it is a bit harder to visualize complicated programs. It was a bit of pain to write, but a few hundred lines later, I became fairly fluent. 🫠

My first embedded project was a simple LED clock using an arduino nano. Later I worked on a wordle game, an LED strip controller, and many more.