Assignments

  • Browse through the datasheet for your microcontroller
  • 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 apport

  • Ernesto: My contribution to the group work was to browse through the datasheet of the seeeduino xiao SAMD21 and compared it to the atiny44 and the atmega328P-AU.
  • Jorge: I took on the task of researching the ATtiny44 microcontroller datasheet to identify its key features, advantages, and disadvantages.
  • Marcela: My contribution to the group involved researching the Atmega328P-AU, identifying its advantages, disadvantages, and key features. Additionally, I mapped out the programming pins and outlined the workflow from the software perspective.

Microcontroller's Comparison:

In this week's assigment we are comparing three popular microcontrollers: the ATtiny44, the ATmega328, and the Seeeduino XIAO based on the SAMD21. The ATtiny44 is a small, low-power microcontroller from the AVR family, known for its simplicity and efficiency in compact applications. The ATmega328, another member of the AVR family, is widely recognized for its versatility and extensive use in the Arduino Uno, making it suitable for a broad spectrum of projects. The Seeeduino XIAO, based on the ARM Cortex-M0+ architecture, stands out for its high performance in a tiny form factor, ideal for modern, high-demand applications such as wearables and IoT devices. This comparison will explore their technical specifications, features, development tools, and typical use cases to provide a comprehensive understanding of their strengths and weaknesses.

Atmega328p and Attiny44:

Technical Specifications

Feature ATtiny44 ATmega328 Seeeduino XIAO (SAMD21)
Core Architecture AVR AVR ARM Cortex-M0+
Clock Speed Up to 20 MHz 16 MHz 48 MHz
Flash Memory 4 KB 32 KB 256 KB
SRAM 256 bytes 2 KB 32 KB
EEPROM 256 bytes 1 KB None (emulated in flash)
Power Consumption Low Moderate Low
Operating Voltage 1.8V - 5.5V 1.8V - 5.5V 3.3V
Package Type SOIC, QFN, PDIP TQFP, PDIP, QFN SMD
Pin Count 14 28 14

Features and Peripherals

Feature ATtiny44 ATmega328 Seeeduino XIAO (SAMD21)
I/O Pins 12 23 11
ADC 10-bit, 8 channels 10-bit, 6 channels 12-bit, 11 channels
UART 1 1 1
I2C 1 1 1
SPI 1 1 1
Timers and Counters 2 (8-bit, 16-bit) 3 (2x 8-bit, 1x 16-bit) 4 (4x 16-bit)
PWM Channels 4 6 11

Development Tools and Ecosystem

Feature ATtiny44 ATmega328 Seeeduino XIAO (SAMD21)
Development Boards Custom, Digispark Arduino Uno, Nano Seeeduino XIAO
IDEs Arduino IDE, AVR Studio Arduino IDE, AVR Studio Arduino IDE, PlatformIO
Libraries Limited AVR libraries Extensive Arduino libraries Extensive Arduino libraries
Community Support Moderate Very High Growing

Applications and Use Cases

ATtiny44:

  • Small projects
  • Battery-powered devices
  • Simple I/O control

ATmega328:

  • General-purpose projects
  • Prototyping (Arduino Uno)
  • Embedded systems

Seeeduino XIAO (SAMD21):

  • Compact and high-performance applications
  • Wearables
  • IoT devices

Conclusion

Summary:

  • ATtiny44 is great for compact, low-power applications with basic requirements.
  • ATmega328 is versatile and well-supported, making it suitable for a wide range of projects.
  • Seeeduino XIAO (SAMD21) offers high performance in a small form factor, ideal for modern applications requiring more processing power and memory.

Recommendations:

  • Choose ATtiny44 for simple, low-power tasks.
  • Use ATmega328 for general-purpose applications and prototyping.
  • Opt for Seeeduino XIAO (SAMD21) for high-performance, space-constrained projects.

Useful Links: