Skip to content

Week 4 - Microcontroller Group Assignment

A microcontroller is a small self-contained computer on a single integrated circuit (IC) that controls specific devices within electronic systems. It is programmed using a specialized computer language and can execute instructions stored in its memory. A microcontroller is also called an embedded controller or microcontroller unit (MCU). Microcontrollers are commonly used in various applications, such as robotics, automotive, consumer electronics, and medical devices. They are preferred over other processors due to their low cost, low power consumption, and small size. All this makes them an ideal choice for embedded systems.


What's the name of the microcontroller (include a picture)

How Many pins does your microcontroller have

What are the types of pins your microcontroller has

What type of sensors does your microcontroller have embedded on it directly? (if any) 

What is your microcontroller’s operational voltage? 

What type of languages can you program it with

List of connectivity options (Can it connect to wifi? Bluetooth? Neither?) 



MKR1010




28 PINS


Built-in LED Pin = 6


Digital I/O = 8

Analog input pins= 7(ADC8/10/12 bit)


Analog output pins = 1(DAC 10bit)


PMW-pins = 13(0-8, 10, 12, A3, A4)


External interrupts = 10(0,1,4,5,6,7,8,9,A1,A2)

Supported battery





5-7V

LANGUAGES: C++, Python.


SOFTWARE: arduino IDE, Arduino cloud, Wokaki.

Bluetooth: Nina W102 uBlox module


Wi-Fi: Nina W102 uBlox module


Secure element: ATECC508A

Arduino UNO



References

A total of 32 pins


Analogue

NC: 1

IOREF: 1

Reset: 1

Power: 5

Analog/GPIO: 4

Analog input/I2C: 2


Digital

Digital/GPIO: 10

Digital: 7

Power:1

Not Connected (NC): 1

Reference for Digital Logic V - connected to 5V (IOREF): 1

Reset: 1

+3V3 Power Rail: 1

+5V Power Rail: 1

Ground (Power): 2

Voltage Input (Power): 1

Analog Input/GPIO: 4

Analog input/I2C Data line: 1

Analog input/I2C Clock line: 1


Digital pin/GPIO: 10

SPI Chip Select: 1

SPI1 Main Out Secondary In: 1

SPI Main In Secondary Out: 1

SPI serial clock output: 1

Ground(Power): 1

Analog reference voltage: 1

Analog input/I2C Data line: 1

Analog input/I2C Clock line: 1

Arduino UNO has no embedded sensors as they are focused to provide a simple platform to be able to add your own desired sensors.

3.3V, 5V

The most functional language for it to be programmed with would be C++.


But there are some alternatives such as Python and Visual Programming Languages.


Although, for beginners it is possible to use different programming languages such as blocky programmes such as Scratch or BlocklyDuino but they will not be offering the same level of function as C++

As arduino UNO is created to be an affordable and beginner friendly device it is made to not have WiFi connection nor Bluetooth and gives the option for the users to do what they want.

Arduino Nano Classic


A total of 30 pins

Built-in LED Pin: 13


Digital I/O Pins: 14


Analog Input Pins: 8 


PWM Pins: 6

None

I/O Voltage: 5V


Input voltage (nominal): 7-12V

C++

Neither

Adafruit Feather BlueFruit Sense nRF52840


28

  • 21 GPIO, 6 x 12-bit ADC pins, up to 12 PWM outputs (3 PWM modules with 4 outputs each)
  • Hardware SPI, UART, I2C and I2S on any pins

-

3.3v

Arduino

MicroPython

C

C++ 

Bluetooth

ESP32


38 Pins

  • 18 Analog-to-Digital Converter (ADC) channels
  • 3 SPI interfaces
  • 3 UART interfaces
  • 2 I2C interfaces
  • 16 PWM output channels
  • 2 Digital-to-Analog Converters (DAC)
  • 2 I2S interfaces
  • 10 Capacitive sensing GPIOs

The ESP32-S3 has a built-in sensor used to measure the chip's internal temperature.

The ESP32's operating voltage range is 2.2 to 3.6V.

C/C++, Micropython, Lua, and more.



SOFTWARE: Arduino IDE

,Eclipse IDE

WIFI - Bluetooth


ESP boards now support three modules: Bluetooth (BT & BLE), IEEE802. 15.4, and Wi-Fi.

Arduino Nano 33 IoT


30

Built-in LED Pin: 13

Digital I/O Pins: 22

Analog input pins: 8

PWM pins: 5

IMU LSMS36D

3.3V

a variant of C++ programmed using arduino IDE

-Wifi (Arduino Cloud)

-Bluetooth

Arduino Nano Every


30 pins

Built-in LED Pin: 13

Digital I/O Pins: 22

Analog input pins: 8

PWM pins: 5

No sensor

6-20V unregulated external power supply, or 5V regulated external power supply

C and C++

Bluetooth / wifi (Arduino Cloud)


It lacks only a DC power jack, and works with a Mini-B USB cable instead of a standard one.

Adafruit Feather BlueFruit Sense nRF52840


28

21 GPIO, 6 x 12-bit ADC pins, up to 12 PWM outputs (3 PWM modules with 4

outputs each)

Pin #13 red LED for general purpose blinking, Blue LED for general purpose

connection status, NeoPixel for colorful feedback

Power/enable pin

ST Micro series 9-DoF motion – LSM6DS33 Accel/Gyro + LIS3MDL magnetometer

APDS9960 Proximity, Light, Color, and Gesture Sensor

PDM Microphone sound sensor

SHT Humidity

BMP280 temperature and barometric pressure/altitude


Votage Range:

1.7V - 5.5V

Recommended: 3.3V








Arduino

Circuit Python

blutNordic SDK - C/C++

MicroPython

ARM MBED

Rust 

Bluetooth / wifi

TEENSY 3.2


34 I/O PINS

Digital I/O pins: 34
PWM output pins: 5

Analog input pins: 21

Analog output pins: 1

capacitive sense pins: 12

Not available 

3.3 V - 5 V


A10 - A14 are not 5 V tolerant.


 Recommended:

3.3 V 

  • Arduino IDE (with Teensyduino)
  •  C/C++
  • Rust
  • Micropython

Neither

 


Last update: July 25, 2024