fbpixel
Raspberry Pi Zero microcontroller overview

Raspberry Pi Zero microcontroller overview

The Raspberry Pi Zero microcomputer is very compact, with an integrated Bluetooth and WiFi module. Very easy to use, it is smaller but less powerful than the Raspberry Pi3.

Microcontroller features

The Raspberry Pi Zero microcontroller uses the ARM11 single-core microprocessor. This processor operates at a clock frequency of 1000 MHz. It has NC kB RAM, NC kB EEPROM and 512,000 kB Flash memory (for programming and data logging).

  • CPU single-core ARM11
  • Voltage : 3.3V
  • Flash : 512000 kB
  • RAM : NC kB
  • EEPROM : NC kB
  • Clock speed : 1000MHz
  • WiFi : Yes
  • Bluetooth : Yes
  • SD : Yes

The microcontroller has a WiFi chip, enabling it to connect to the local network, create a server or create its own network for other devices to connect to. The microcontroller has a Bluetooth chip that enables it to interact with other devices. The Raspberry Pi Zero microcontroller also has an SD card slot for storing files for a website, for example.

Power supply

The Raspberry Pi Zero microcontroller operates on a voltage range of 4.9-5.2V, thanks to its on-board voltage regulator, while the microprocessor operates on a voltage of 3.3V. In normal operation, the microcontroller consumes up to 45mA (if no power is supplied) and can accept a maximum current of 20mA on each of its IO pins.

Pinout

  • Digital I/O : 29 (GPIO0, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, GPIO11, GPIO12, GPIO13, GPIO14, GPIO15, GPIO16, GPIO17, GPIO18, GPIO19, GPIO20, GPIO21, GPIO22, GPIO23, GPIO24, GPIO25, GPIO26, GPIO27, GPIO28)
  • Broches PWM : 29 (GPIO0, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, GPIO11, GPIO12, GPIO13, GPIO14, GPIO15, GPIO16, GPIO17, GPIO18, GPIO19, GPIO20, GPIO21, GPIO22, GPIO23, GPIO24, GPIO25, GPIO26, GPIO27, GPIO28)
  • Communication Serial: 1 ((‘GPIO14’, ‘GPIO15’))
  • I2C communication : 1 ((‘GPIO2’, ‘GPIO3’))
  • SPI communication : 1 ((‘GPIO8’, ‘GPIO11’, ‘GPIO9’, ‘GPIO10’))
  • I2S communication: 1 ((‘GPIO18’, ‘GPIO19’, ‘GPIO21’))

Summary of features

Microcontrôleur
Nom: RaspberryPiZero
Marque: RaspberryPi
Caractéristiques
CPU: single-core ARM11
Tension d’alimentation : 4.9-5.2V
Tension logic: 3.3V
E/S digitales: -1
Entrées analogiques: 0
Flash: 512000kB
SRAM: NCkB
EEPROM: NCkB
Fréquence d’horloge: 1000 MHz
Wifi: Yes
Bluetooth: Yes
SD card: Yes
Touch: No
UART/SPI/I2C/I2S: Yes/Yes/Yes/Yes

How to get started

Teensy 3.5 microcontroller overview

Teensy 3.5 microcontroller overview

The Teensy 3.5 is a development board with a 32-bit ARM processor. It has a large number of interfaces and high computing power, enabling it to be used in a wide range of applications. In particular, it can emulate USB devices, so is often used to develop HID or MIDI peripherals.

Microcontroller features

The Teensy 3.5 microcontroller uses the ARM Cortex-M4 microprocessor. This processor operates at a clock frequency of 120 MHz, and has 256 kB RAM, 4 kB EEPROM and 512 kB Flash memory (for programming and data storage).

  • CPU ARM Cortex-M4
  • Voltage : 5V
  • Flash : 512 kB
  • RAM : 256 kB
  • EEPROM : 4 kB
  • Clock speed : 120MHz
  • WiFi : No
  • Bluetooth : No
  • SD : Yes

The Teensy 3.5 microcontroller also features an SD card slot for storing files for websites, for example…

Power supply

The Teensy 3.5 microcontroller operates over a voltage range of 3.6-6V, thanks to its on-board voltage regulator, while the microprocessor operates at 3.3V. In normal operation, the microcontroller consumes up to 50mA (if no power is supplied) and can accept a maximum current of NCmA on each of its IO pins.

Pinout

  • Analog I/O : 27 (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26)
  • Digital I/O : 40 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
  • PWM pins: 20 (2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 20, 21, 22, 23, 29, 30, 35, 36, 37, 38)
  • Communication Série : 6 ((0, 1), (9, 10), (7, 8), (31, 32), (34, 33), (47, 48))
  • I2C communication: 3 ((’18’, ’19’), (’38’, ’37’), (‘4’, ‘3’))
  • SPI communication: 3 ((’10’, ’13’, ’12’, ’11’), (’31’, ’32’, ‘1’, ‘0’), (’43’, ’46’, ’45’, ’44’))
  • I2S communication: 1 ((’26’, ’25’, ’33’))
  • Interrupt: 40 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)

Basic code and pin identification

To use the input/output pins in the code, simply use the labels present on the board, i.e. 0-57 for digital pins and A0-A26 (or 0-26) for analog pins.

const int analogPin=A0; // broches A0-A26
const int digitalInPin=2; // broches 0-57
const int digitalOutPin=4; 
const int pwmPin=3; //2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 20, 21, 22, 23, 29, 30, 35, 36, 37, 38

int analogVal=0;
int digitalState=LOW;
int pwmVal=250;

void setup() {
  Serial.begin(9600);
  
  pinMode(analogPin,INPUT_PULLUP); // Argument OUTPUT, INPUT, INPUT_PULLUP
  pinMode(digitalInPin,INPUT);
  pinMode(digitalOutPin,OUTPUT);
  pinMode(pwmPin,OUTPUT);
}

void loop() {
 analogVal=analogRead(analogPin); // return int
 digitalState=digitalRead(digitalInPin); // return boolean
 digitalWrite(digitalOutPin,HIGH); // valeur LOW(0) ou HIGH(1)
 analogWrite(pwmPin,pwmVal);// valeur 0-255 en fonction de analogWriteResolution();
}

Summary of features

Microcontrôleur
Nom: Teensy 3.5
Marque: PJRC
Caractéristiques
CPU: ARM Cortex-M4
Tension d’alimentation : 3.6-6V
Tension logique: 5V
E/S digitales: 64
Entrées analogiques: 27
Flash: 512kB
SRAM: 256kB
EEPROM: 4kB
Fréquence d’horloge: 120 MHz
Wifi: No
Bluetooth: No
SD card: Yes
Touch: No
UART/SPI/I2C/I2S: Yes/Yes/Yes/Yes

Where to start

Sources

NodeMCU ESP8266 microcontroller overview

NodeMCU ESP8266 microcontroller overview

The NodeMCU ESP8266 is a microcontroller with an integrated Wifi module. Very easy to use, it’s lightweight and has a memory and calculation capacity superior to that of the Arduino. Ideal for your connected projects.

Microcontroller features

The NodeMCU ESP8266 microcontroller uses the Tensilica 32-bit RISC CPU Xtensa LX106 microprocessor. This processor operates at a clock frequency of 80 MHz. It has 64 kB RAM, NC kB EEPROM and 4000 kB Flash memory (for programming and data logging).

  • CPU Tensilica 32-bit RISC CPU Xtensa LX106
  • Voltage : 3.3V
  • Flash : 4000 kB
  • RAM : 64 kB
  • EEPROM : NC kB
  • Clock speed : 80MHz
  • WiFi : Yes
  • Bluetooth : No
  • SD : No

The microcontroller has a Wifi chip that enables it to connect to the local network, create a server or set up its own network so that other devices can connect to it.

Power supply

The NodeMCU ESP8266 microcontroller operates over a voltage range of 7-12V, thanks to its on-board voltage regulator, while the microprocessor operates with a voltage of 3.3V. In normal operation, the microcontroller consumes up to 45mA (if no power is supplied) and can accept a maximum current of 40mA on each of its IO pins.

Pinout

  • Analog I/O : 1 (A0)
  • Digital I/O : 5 (D0, D1, D3, D4, D7)
  • PWM pins: 4 (D2, D5, D6, D8)
  • Communication Serial: 10 (D0, D1, D2, D3, D4, D5, D12, D13, D14, D15)
  • I2C communication : 1 ((‘D1’, ‘D2’))
  • SPI communication: 1 ((‘D8’, ‘D5’, ‘D6’, ‘D7’))
  • I2S communication: 1 ((‘D15’, ‘D2’, ‘D3’))
  • Interrupt: 6 (D1, D2, D5, D6, D7, D8)

Basic code and pin identification

const int analogPin = A0;
const int digitalInPin = D1; // broches D1, D2, D5, D6,D7
const int digitalOutPin = D2; // D1 à D7
const int pwmPin = D4; // broches D1 à D8

int analogVal = 0;
int digitalState = LOW;
int pwmVal = 250;

void setup() {
  Serial.begin(115200);

  pinMode(analogPin, INPUT); // Argument OUTPUT, INPUT
  pinMode(digitalInPin, INPUT);
  pinMode(digitalOutPin, OUTPUT);
}

void loop() {
  analogVal = analogRead(analogPin); //  return int
  digitalState = digitalRead(digitalInPin); //  return boolean
  digitalWrite(digitalOutPin, HIGH); // valeur LOW(0) ou HIGH(1)
  analogWrite(pwmPin, pwmVal);// valeur 0-1023
}

For more information on pinout usage, please visit the ESP8266 Pinout Reference page.

Summary of features

Microcontrôleur
Nom: ESP8266
Marque: Espressif
Caractéristiques
CPU: Tensilica 32-bit RISC CPU Xtensa LX106
Tension d’alimentation : 7-12V
Tension logic: 3.3V
E/S digitales: 16
Entrées analogiques: 1
Flash: 4000kB
SRAM: 64kB
EEPROM: NCkB
Fréquence d’horloge: 80 MHz
Wifi: Yes
Bluetooth: No
SD card: No
Touch: Yes
UART/SPI/I2C/I2S: Yes/Yes/Yes/Yes

How to get started

Overview of the NodeMCU ESP32 microcontroller

Overview of the NodeMCU ESP32 microcontroller

NodeMCU ESP32 is a microcontroller with integrated WiFi and Bluetooth modules. Very easy to use, it’s lightweight and has a memory and calculation capacity superior to that of the Arduino. This makes it an ideal board for learning programming, developing connected objects or servers.

Microcontroller features

The NodeMCU ESP32 microcontroller uses the ESP-WROOM-32 microprocessor (Tensilica Xtensa LX6). This processor operates at a clock frequency of 240 MHz, with 520 kB RAM, 448 kB EEPROM and 4000 kB Flash memory (for programming and data logging).

  • CPU ESP-WROOM-32 (Tensilica Xtensa LX6)
  • Voltage : 3.3V
  • Flash : 4000 kB
  • RAM : 520 kB
  • EEPROM : 448 kB
  • Clock speed : 240MHz
  • WiFi : Yes
  • Bluetooth : Yes
  • SD : No

The microcontroller has a WiFi chip, enabling it to connect to the local network, create a server or create its own network for other devices to connect to. The microcontroller has a Bluetooth chip that enables it to interact with other devices.

Power supply

The NodeMCU ESP32 microcontroller operates over a voltage range of 7-12V, thanks to its on-board voltage regulator, while the microprocessor operates with a voltage of 3.3V. In normal operation, the microcontroller consumes up to 45mA (if no power is supplied) and can accept a maximum current of 40mA on each of its IO pins.

Pinout

  • Analog I/O : 15 (2, 4, 12, 13, 14, 15, 25, 26, 27, 32, 33, 34, 35, 36, 39)
  • Digital I/O : 4 (all except 6 to 11)
  • PWM pins: 16 (2, 4, 5, 6, 12, 13, 14, 15, 18, 19, 21, 25, 26, 27, 32, 33)
  • Communication Série : 9 (1, 2, 3, 4, 5, 12, 13, 14, 15)
  • I2C communication : 1 ((’21’, ’22’))
  • SPI communication: 1 ((‘5′, ’18’, ’19’, ’23’))
  • I2S communication: 1 ((’26’, ’25’, ’33’))
  • Touch: 9 (2, 4, 12, 13, 14, 15, 27, 32, 33)
  • Interrupt: 26 (0, 1, 2, 4, 5, 7, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33, 34, 35, 36, 39)

Basic code and pin identification

const int analogPin=34; // 2, 4, 12, 13, 14, 15, 25, 26, 27, 32, 33, 34, 35, 36, 39
const int digitalInPin=2; // all except 6 to 11
const int digitalOutPin=4; // all except 6 to 11 and 34, 35, 36 and 39 inputs only
const int pwmPin=3; // broches 2, 4, 5, 6, 12, 13, 14, 15, 18, 19, 21, 25, 26, 27, 32, 33

int analogVal=0;
int digitalState=LOW;
int pwmVal=250;

// setting PWM properties
const int freq = 5000;
const int ledChannel = 0;
const int resolution = 8;

void setup() {
  Serial.begin(115200); 
  
  pinMode(analogPin,INPUT); // broches 0-13 et 14-19, Argument OUTPUT, INPUT
  pinMode(digitalInPin,INPUT);
  pinMode(digitalOutPin,OUTPUT);

  ledcSetup(ledChannel, freq, resolution);
  ledcAttachPin(pwmPin, ledChannel);
}

void loop() {
 analogVal=analogRead(analogPin); //  return int
 digitalState=digitalRead(digitalInPin); //  return boolean
 digitalWrite(digitalOutPin,HIGH); // valeur LOW(0) ou HIGH(1)
 ledcWrite(ledChannel, pwmVal);// valeur 0-255
}

For more information on the use of pins, please visit the ESP32 Pinout Reference website.

Summary of features

Microcontrôleur
Nom: ESP32
Marque: Espressif
Caractéristiques
CPU: ESP-WROOM-32 (Tensilica Xtensa LX6)
Tension d’alimentation : 7-12V
Tension logic: 3.3V
E/S digitales: 14
Entrées analogiques: 6
Flash: 4000kB
SRAM: 520kB
EEPROM: 448kB
Fréquence d’horloge: 240 MHz
Wifi: Yes
Bluetooth: Yes
SD card: No
Touch: Yes
UART/SPI/I2C/I2S: Yes/Yes/Yes/Yes

How to get started

Arduino MEGA microcontroller overview

Arduino MEGA microcontroller overview

The Arduino Mega 2560 board is an enhanced version of the Arduino UNO. It has a large memory capacity and a large number of inputs.

Microcontroller features

The Arduino MEGA microcontroller uses the ATmega2560 microprocessor, which operates at a clock frequency of 16 MHz and has 8 kB RAM, 4 kB EEPROM and 256 kB Flash memory (for programming and data storage).

  • CPU ATmega2560
  • Voltage : 5V
  • Flash : 256 kB
  • RAM : 8 kB
  • EEPROM : 4 kB
  • Clock speed : 16MHz
  • WiFi : No
  • Bluetooth : No
  • SD : No

Power supply

The Arduino MEGA microcontroller operates over a voltage range of 7-12V, thanks to its on-board voltage regulator, while the microprocessor operates at 5V. In normal operation, the microcontroller consumes up to 45mA (if no power is supplied) and can accept a maximum current of 40mA on each of its IO pins.

Pinout

  • Analog I/O : 16 (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)
  • Digital I/O : 38 (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 51, 52, 53)
  • Broches PWM : 17 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 44, 45, 46)
  • Communication Serial: 10 (10, 11, 12, 13, 14, 15, 50, 51, 52, 53)
  • I2C communication: 1 ((20, 21))
  • SPI communication: 1 ((53, 52, 50, 51))
  • Interrupt : 1 (2)

Summary of features

Microcontrôleur
Nom: ArduinoMEGA
Marque: Arduino
Caractéristiques
CPU: ATmega2560
Tension d’alimentation : 7-12V
Tension logic: 5V
E/S digitales: 54
Entrées analogiques: 16
Flash: 256kB
SRAM: 8kB
EEPROM: 4kB
Fréquence d’horloge: 16 MHz
Wifi: No
Bluetooth: No
SD card: No
Touch: No
UART/SPI/I2C/I2S: Yes/Yes/Yes/No

How to get started