Skip to content

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

For more info - Datasheet

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:


Microcontroller Image

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:


Microcontroller Image

Datasheet Pinout

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

Last update: December 12, 2024