Week 04 — Embedded Programming

Group assignment

  • Compare the performance and development workflows for other architectures
  • Document your work to the group work page and reflect on your individual page what you learned
  • Individual assignment

  • Read a microcontroller datasheet
  • Program your board to do something, with as many different programming languages and programming environments as possible
  • Learning outcomes

  • Identify relevant information in a microcontroller datasheet
  • Checklist


    W4 Documentation

    Some general knowledge interpretation

    I linked the lecture page and my notes to ChatGPT and had a conversation to clarify the fundamentals. Below are the highlights I used to build my Week 4 understanding.

    1. Embedded system: a specialized computer integrated into a device for a dedicated function.
    2. Embedded system concept notes
      Figure. Embedded system concept map.
    3. Architecture: Von Neumann vs Harvard memory models and their tradeoffs.
    4. Von Neumann and Harvard architecture comparison
      Figure. Architecture comparison: Von Neumann vs Harvard.
    5. RISC vs CISC: instruction-set style and execution behavior.
    6. RISC and CISC comparison chart
      Figure. RISC vs CISC overview.
    7. Microprocessor vs microcontroller: external components vs all-in-one integration.
    8. Microprocessor and microcontroller comparison
      Figure. Microprocessor vs microcontroller.

    Research focus

    First, I need to determine the area of research. I uploaded the whole lecture transcripts to ChatGPT and asked this question:

    So in Neil’s class, he presented a lot of microcontrollers, and which of the top four is better to deep dive, deep research, so for my project, because I need to control lights, which does not need too much frequency, just needs to be easier to program, so probably it's ATTiny412. Then in the future, I will need Wi-Fi and Bluetooth to connect with other devices, so which is probably use ESP32. And another one, which is also famous and easy to start, so give me suggestions.

    ChatGPT reply about the four microcontrollers:

    Research direction and selected microcontrollers
    Figure. Selection of the four microcontrollers for deep dive research.

    I created 5 NotebookLM pages: one for lecture materials and one for each microcontroller datasheet.

    NotebookLM overview for week 4 research
    Figure. NotebookLM pages and generated visual materials.

    Datasheet links used for the analysis:

    ATtiny412

    ATtiny412 (tinyAVR 1-series) is a compact 8-bit RISC microcontroller up to 20 MHz with integrated Flash/SRAM/EEPROM, event system support, timers, ADC, and serial interfaces (USART/SPI/TWI). It is a good fit for minimal embedded control.

    Helpful reference video: Programming ATtiny with Arduino Nano

    ATtiny412 sheet overview ATtiny412 sheet comparison
    Figure. ATtiny412 sheets and extracted details.
    More detailed presentation about selected microcontroller (ATtiny412)
    ATtiny412 presentation slide 1 ATtiny412 presentation slide 2 ATtiny412 presentation slide 3 ATtiny412 presentation slide 4 ATtiny412 presentation slide 5 ATtiny412 presentation slide 6 ATtiny412 presentation slide 7 ATtiny412 presentation slide 8 ATtiny412 presentation slide 9 ATtiny412 presentation slide 10 ATtiny412 presentation slide 11 ATtiny412 presentation slide 12 ATtiny412 presentation slide 13 ATtiny412 presentation slide 14 ATtiny412 presentation slide 15
    Figure. ATtiny412 detailed PPT slides (converted from PDF).

    SAMD21

    SAMD21 is a 32-bit ARM Cortex-M0+ platform with a broad set of peripherals, low-power operation modes, and strong Arduino ecosystem support. It is a practical bridge from AVR to more advanced ARM workflows.

    SAMD21 sheet overview
    Figure. SAMD21 datasheet extraction and peripheral summary.
    More detailed presentation about selected microcontroller (SAMD21)
    SAMD21 presentation slide 1 SAMD21 presentation slide 2 SAMD21 presentation slide 3 SAMD21 presentation slide 4 SAMD21 presentation slide 5 SAMD21 presentation slide 6 SAMD21 presentation slide 7 SAMD21 presentation slide 8 SAMD21 presentation slide 9 SAMD21 presentation slide 10 SAMD21 presentation slide 11 SAMD21 presentation slide 12 SAMD21 presentation slide 13 SAMD21 presentation slide 14 SAMD21 presentation slide 15
    Figure. SAMD21 detailed PPT slides (converted from PDF).

    ESP32

    ESP32 combines microcontroller capabilities with built-in Wi-Fi and Bluetooth, making it highly suitable for connected devices. The datasheet covers architecture variants, security features, pin/boot behavior, and low-power states.

    ESP32 sheet overview
    Figure. ESP32 datasheet extraction and architecture notes.
    More detailed presentation about selected microcontroller (ESP32)
    ESP32 presentation slide 1 ESP32 presentation slide 2 ESP32 presentation slide 3 ESP32 presentation slide 4 ESP32 presentation slide 5 ESP32 presentation slide 6 ESP32 presentation slide 7 ESP32 presentation slide 8 ESP32 presentation slide 9 ESP32 presentation slide 10 ESP32 presentation slide 11 ESP32 presentation slide 12 ESP32 presentation slide 13 ESP32 presentation slide 14 ESP32 presentation slide 15
    Figure. ESP32 detailed PPT slides (converted from PDF).

    RP2040

    RP2040 features dual Cortex-M0+ cores, 264 KB SRAM, and flexible PIO blocks for custom hardware interfaces. It provides a powerful but approachable environment for parallel control and rapid prototyping.

    RP2040 sheet overview
    Figure. RP2040 datasheet extraction and subsystem summary.
    More detailed presentation about selected microcontroller (Raspberry Pi RP2040)
    RP2040 presentation slide 1 RP2040 presentation slide 2 RP2040 presentation slide 3 RP2040 presentation slide 4 RP2040 presentation slide 5 RP2040 presentation slide 6 RP2040 presentation slide 7 RP2040 presentation slide 8 RP2040 presentation slide 9 RP2040 presentation slide 10 RP2040 presentation slide 11 RP2040 presentation slide 12 RP2040 presentation slide 13 RP2040 presentation slide 14 RP2040 presentation slide 15
    Figure. RP2040 detailed PPT slides (converted from PDF).