Published: February 18, 2019, Edited by: Sara Almeida Santos Daugbjerg

Wemos installation guide

A quick guide on how to get starteds with the Wemos D1, wireless enabled microcontroller.

What to do

  • Install arduino (IDE), not the online version
  • Install the USB-Wemos serial driver directly from the manufacturer of the Serial chip. Look carefully, find the right drivere for MAC & Windows between the Chinese signs.
  • In the Arduino software, add the wemos-board:
    • Go to Menu: File / Preferences.
    • Type the below link into the "Additional boards managers" URL field: http://arduino.esp8266.com/versions/2.4.0/package_esp8266com_index.json
    • Install the board by going to Menu: Tools / board / board manager. Type “ESP8266” In the search field. Press the install box
  • Restart arduino & Restart your computer.
  • Final setup in the Arduino software:
    • Connect the wemos to your computer with a micro-usb cable.
    • Go to tools / Board and select and select "Wemos D1 R2 & mini".
    • Go to tools / Port and select the port where it says "...usb serial 14310.." or something similar. (ry out the different COM-ports shown until it works.
  • Test the board with the blink code. Menu: File / Sketchbook / D1miniExamples / Blink. Or use the code below. (It can take long time for the Arduino IDE to compile and upload to Wemos board)
  • Trouble shooting guide if things doesn't work:
    • Restart Arduino and restart your computer.
    • Change upload speed. Menu: Tools / upload speed -> set to 115200.
    • When using the serial monitor, you have to use the same speed. start serial communication with Serial.begin(9600);
    • Check that you have installed all the libraries to the sensors that you use.
// Wemos D1 Blink example.
void setup() {  
  pinMode(BUILTIN_LED, OUTPUT);  // initialize onboard LED as output
  Serial.begin(115200); // Wemos uses another serial communication speed than arduino, thus initiate serial communication with 115200 or slower.
}

void loop() {  
  digitalWrite(BUILTIN_LED, HIGH);  // turn on LED with voltage HIGH
  delay(1000);                      // wait one second
  digitalWrite(BUILTIN_LED, LOW);   // turn off LED with voltage LOW
  delay(1000);                      // wait one second
}