Fab Academy 2023

@ Fab Lab Rwanda, Kigali

Embedded Programming:

Microcontroller Architecture Performance Development Workflow
Atmega328p 8-bit AVR, 20 MHz clock frequency, 32KB Flash memory Supports C and C++ programming languages, popular for hobbyists and small-scale projects, good community support, relatively simple development process
ARM Cortex-M0 32-bit architecture, 48 MHz clock frequency, up to 512KB Flash memory Supports C and C++ programming languages, good for low-power and real-time applications, complex development process, requires advanced knowledge of embedded systems
PIC18F 8-bit architecture, up to 64 MHz clock frequency, up to 128KB Flash memory Supports C and assembly programming languages, popular for industrial and automotive applications, requires specialized development tools, steep learning curve
ESP32 Dual-core 32-bit architecture, up to 240 MHz clock frequency, up to 8MB Flash memory Supports C and C++ programming languages, good for IoT applications, extensive Wi-Fi and Bluetooth connectivity, complex development process, requires advanced knowledge of networking
Raspberry Pi 64-bit architecture, up to 1.5 GHz clock frequency, up to 8GB RAM Supports various programming languages, including Python and C++, powerful computing capabilities, good for complex projects and prototyping, requires additional components and peripherals

1. Atmega328p

ATmega328/P is a low-power CMOS 8-bit
microcontroller based on the AVR® enhanced RISC architecture. By
executing powerful instructions in a single clock cycle, the ATmega328/P
achieves throughputs close to 1MIPS per MHz. This empowers system
designer to optimize the device for power consumption versus processing speed

High Performance, Low Power Atmel®AVR® 8-Bit Microcontroller Family
• Advanced RISC Architecture
– 131 Powerful Instructions
– Most Single Clock Cycle Execution
– 32 x 8 General Purpose Working Registers
– Fully Static Operation
– Up to 20 MIPS Throughput at 20MHz
– On-chip 2-cycle Multiplier
• High Endurance Non-volatile Memory Segments
– 32KBytes of In-System Self-Programmable Flash program
Memory – 1KBytes EEPROM
– 2KBytes Internal SRAM
– Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
– Data Retention: 20 years at 85°C/100 years at 25°C(1)
– Optional Boot Code Section with Independent Lock Bits
• In-System Programming by On-chip Boot Program
• True Read-While-Write Operation
– Programming Lock for Software Security
• Atmel QTouch Library Support
– Capacitive Touch Buttons, Sliders and Wheels
– QTouch and QMatrix Acquisition
– Up to 64 sense channels
• I/O and Packages
– 23 Programmable I/O Lines
– 28-pin PDIP, 32-lead TQFP, 28-pad QFN/MLF and 32-pad QFN/MLF

2. ARM Cortex-M0

Working Space

3. PIC18F

the PIC18FXX2 series consists of four devices. PIC18F2X2 microcontrollers are 28-pin devices, while PIC18F4X2 microcontrollers are 40-pin devices. The architectures of the two groups are almost identical except that the larger devices have more input-output ports and more A/D converter channels. In this section we shall be looking at the architecture of the PIC18F452 microcontroller in detail. The architectures of other standard PIC18F-series microcontrollers are similar, and the knowledge gained in this section should be enough to understand the operation of other PIC18F-series microcontrollers.

Working Space

Working Space

Working Space

4. ESP32

ESP32-WROOM-32 is a powerful, generic Wi-Fi+BT+BLE MCU module that targets a wide variety of applications, ranging from low-power sensor networks to the most demanding tasks, such as voice encoding, music streaming and MP3 decoding. At the core of this module is the ESP32-D0WDQ6 chip*. The chip embedded is designed to be scalable and adaptive. There are two CPU cores that can be individually controlled, and the CPU clock frequency is adjustable from 80 MHz to 240 MHz. The user may also power off the CPU and make use of the low-power co-processor to constantly monitor the peripherals for changes or crossing of thresholds. ESP32 integrates a rich set of peripherals, ranging from capacitive touch sensors, Hall sensors, SD card interface, Ethernet, high-speed SPI, UART, I²S and I²C.

Working Space

4.Raspberry Pi

The Raspberry Pi is a low-cost single-board Linux computer designed and produced by the Raspberry Pi Foundation. This datasheet shows the conventions and pin mappings used when Particle firmware is running on the Raspberry Pi. For more information about the Raspberry Pi hardware itself, please visit the Raspberry Pi Foundation's Hardware documentation.

Working Space

Working Space

download

Instructor

Contacts

  • Map
  • +250 781 187 555