Tags: ,

The Wemos D1 Mini is a smaller version of the NodeMU ESP8266. It’s a microcontroller with an integrated Wifi module. Very easy to use, it’s small and has a memory and calculation capacity superior to that of the Arduino. Ideal for your connected and embedded projects.

Microcontroller features

The Wemos D1 Mini microcontroller uses the Tensilica 32-bit RISC CPU Xtensa LX106 microprocessor. This processor operates at a clock frequency of 80 MHz, and 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 Wemos D1 Mini 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.


  • Analog I/O : 1 (A0)
  • Digital I/O : 5 (D0, D1, D3, D4, D7)
  • PWM pins: 8 (D1, D2, D3, D4, D5, D6, D7, D8)
  • Communication Serial: 2 (D7, D8)
  • I2C communication : 1 ((‘D1’, ‘D2’))
  • SPI communication: 1 ((‘D8’, ‘D5’, ‘D6’, ‘D7’))
  • I2S communication: 1 ((‘D7’, ‘D5’, ‘D6’))
  • Interrupt: 9 (D0, D1, D2, D3, D4, 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() {

  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

Summary of features

Marque: Espressif
CPU: Tensilica 32-bit RISC CPU Xtensa LX106
Tension d’alimentation : 7-12V
Tension logique: 3.3V
E/S digitales: 9
Entrées analogiques: 1
Flash: 4000kB
SRAM: 64kB
Fréquence d’horloge: 80 MHz
Wifi: Yes
Bluetooth: No
SD card: No
Touch: Yes
UART/SPI/I2C/I2S: Yes/Yes/Yes/Yes

Where to start

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?