Embedded programming¶
Group assignment requirements¶
The group assignment for this week is the following:
- Research different types of microcontrollers boards and compare between them.
- Research different programming languages, compare between them and how many can you use to program the same microcontrollers.
Microcontrollers¶
Adafruit Feather nRF52840 Sense:¶
Feature | Details |
---|---|
Digital I/O Pins | 20 digital I/O pins (3.3V logic levels). Some pins are dedicated to specific functions. |
Analog Input Pins | 6 analog input pins (A0 to A5), capable of reading voltages from 0V to 3.3V with 12-bit resolution for ADC (analog-to-digital conversion). |
PWM Pins | 8 PWM pins (D3, D5, D6, D9, D10, D11, D12, D13) for generating variable analog-like signals. |
I/O Voltage | 3.3V (Caution: Higher voltages can damage the board. Use level shifters if necessary). |
GND | Multiple GND (ground) pins around the board, marked as G or GND. |
Built-in LED Pin | Built-in LED connected to Pin D13, controllable via software for debugging or signaling. |
Microcontroller | Powered by the Nordic Semiconductor nRF52840 (32-bit ARM Cortex-M4, 64 MHz) with Bluetooth 5.0 BLE, Thread, and Zigbee support. |
Memory | 1MB Flash, 256KB RAM, suitable for complex applications. |
Built-in Sensors |
- BME680: Measures temperature, humidity, pressure, and gas (VOC). - LSM6DSOX: 6-axis IMU (Accelerometer + Gyroscope) for motion tracking. - APDS9960: Gesture, proximity, and ambient light sensor. - Microphone: Built-in for sound detection. |
Wireless Communication | Bluetooth 5.0 Low Energy (BLE), Thread, and Zigbee for wireless communication with low power consumption. |
Compatibility | Compatible with the Arduino IDE (C/C++) and CircuitPython (Python). |
Form Factor | Compact form factor, Feather-compatible, allowing for easy expansion with Feather accessories (e.g., displays, sensors). |
Microcontroller 2 Name: Xiao-ESP32-S3¶
Number of pins | 20 pins |
---|---|
Digital I/O Pins: | 11 (D0-D10) |
PMW Pins: | 1 ground pin All digital pins support PWM |
UART: | 1 (D6-TX, D7-RX) |
SPI: | (A8-SCK, A9-MISO, A10-MOSI) |
Analog Input Pins: | The XIAO ESP32S3 has 9 analog input pins: A0, A1, A2, A3, A4, A5, A8, A9, and A10. These pins can be used to read analog signals from various sensors, such as: Light sensors: To measure light intensity Temperature sensors: To measure temperature Humidity sensors: To measure humidity Potentiometers: To control the value of a variable Other analog sensors: To measure other physical quantities |
Analog Output Pins: | The XIAO ESP32S3 does not have dedicated analog output pins. However, it can be used to generate analog signals using Pulse-Width Modulation (PWM). |
External Interrupts: | All digital pins can be configured as interrupt inputs |
Embedded Sesnors | None |
Operational Voltage | 3.3 V |
Programming Languages | MicroPython, C/C++ |
Connectivity Options | Wi-Fi, Bluetooth, USB |
Unique selling point¶
The XIAO ESP32-S3 boasts a number of unique selling points that make it a compelling choice for developers and hobbyists alike:
Compact Size and Portability:
• Its incredibly small form factor allows for easy integration into various projects, making it ideal for portable and wearable devices.
Powerful Performance:
• Powered by the Express if ESP32-S3 chip, it offers robust processing capabilities, enabling complex tasks and efficient multitasking.
• Supports 2.4GHz Wi-Fi and Bluetooth 5.0, providing seamless wireless connectivity for IoT applications.
Rich Feature Set: • Includes a variety of sensors and peripherals, including a built-in microphone, camera sensor, and more, making it versatile for a wide range of applications.
• Offers ample memory (8MB PSRAM and 8MB Flash) for storing data and running complex algorithms.
Easy-to-Use Development Environment: • Fully compatible with the Arduino IDE, making it accessible to beginners and experienced developers alike.
• Extensive community support and a wealth of resources available online.
Cost-Effective: • Offers excellent value for money, providing a powerful and feature-rich development board at an affordable price.
Additional Considerations:
• XIAO ESP32-S3 Sense: This variant specifically targets AI and machine learning applications, with its integrated sensors and powerful processing capabilities.
• XIAO Powerbread: This accessory board provides a convenient power supply and metering solution for breadboard-based projects, making it a great companion for the XIAO ESP32-S3.
Overall, the XIAO ESP32-S3’s combination of size, power, features, ease of use, and affordability makes it a standout choice for a variety of projects, from simple IoT devices to complex AI applications.
Conclusion¶
Overall, the XIAO ESP32-S3’s combination of size, power, features, ease of use, and affordability makes it a standout choice for a variety of projects, from simple IoT devices to complex AI applications.The XIAO ESP32S3 is a powerful microcontroller board with a wide range of capabilities, but it doesn’t have built-in sensors. However, you can easily connect various external sensors to its GPIO pins to expand its functionality.
Microcontroller 3 Name:¶
Number of pins | |
---|---|
Digital I/O Pins: | |
PMW Pins: | |
UART: | |
SPI: | |
Analog Input Pins: | |
Analog Output Pins: | |
External Interrupts: | |
Embedded Sesnors | |
Operational Voltage | |
Programming Languages | |
Connectivity Options |
Arduino MKR WIFI 1010:¶
Number of pins | 22 |
---|---|
Digital I/O Pins: | 22 |
PWM Pins: | 12 |
UART: | 1 |
SPI: | 1 |
Analog Input Pins: | 7 (A0 to A6) |
Analog Output Pins: | 1 (DAC0) |
External Interrupts: | Yes |
Embedded Sensors: | Accelerometer, Gyroscope, and Magnetometer (via Bosch BNO055 sensor) |
Operational Voltage: | 3.3V |
Programming Languages: | Arduino Software IDE (C++) |
Connectivity Options: | USB, Bluetooth, WIFI |