Wemos D1 Mini Firmware Download

1 view
Skip to first unread message

Melony Holden

unread,
Jan 18, 2024, 7:32:54 PM1/18/24
to raincolitli
Most of the time I am using Wemos D1 mini development boards in combination with the Arduino IDE to make my own firmware to run directly on the ESP8266 chip. But I also have some bare ESP-01 and ESP-12 modules lying around, and recently I came up with the plan to use one of them.
The specific project requires very well controlled timing of an ADC, for which I will use a regular ATmega328P-based Arduino board. In this project the ESP8266 will only be used to transmit the data over WiFi. Neither my ESP-01, not my ESP-12 still have the original AT firmware, since I have been experimenting with various other firmwares.
wemos d1 mini firmware download
This is where the challenge starts, since my plan required restoring my ESP-12 to the AT firmware and use a library like ESP8266wifi or WiFiEsp. I realize that I have been struggling with different firmwares before, hence this post to give a short review and to keep some notes for my own future reference.
Besides the number of GPIO pins that is exposed by each of the modules, another important feature is their flash memory capacity. The AI-Thinker website has a module list table that includes this. The ESP-01 module comes with 512kB flash (old modules) or 1MB (now more common). The ESP-12 module comes with 4MB. Note that there are development boards such as the Wemos D1 mini pro that even have more.
I tried various options to flash my ESP-12 with the original firmware, most of which failed. The challenge is to figure out which firmware is compatible with my specific module, and to which flash memory locations to write the different pieces of the firmware. In the next section I will describe three things that worked, going from the oldest to most recent firmware versions.
I did not try the new firmware. I usually use ESP boards with many IO pins (not the ESP01, but e.g. the Wemos D1 mini) and flash it directly from within the Arduino IDE rather than dealing both with an Arduino/Atmel board plus an ESP board just for the wifi.
I can flash an older version (1.5.1 SDK) NodeMCU firmware to a 16 MB ESP board in my previous instructables. But when I flash the most recent version (1.5.4.1 SDK) of NodeMCU firmware to this board, it will loop forever on the rf_cal_size reboot.
After SDK boot process, NodeMCU firmware is intelligent enough to detect the correct flash size and format the remained 15.48 MB flash size to SPIFFS. It can store Lua code and other resource files, GREAT!
If I try to build my firmware from -build.com/ It doesn't work again. I tried to build a firmware from the site with 18 modules (432KB) and when I use a simple sketch to connect it with my WiFi (wifi.STATION) it stops at "wifi.sta.config", it seems it hasn't this reference...
I can flash your firmware and when I reset wemos I can see formatting message. Now, in this situation, if I choose 115200 as baude rate I receive the init.lua message and if I choose 74800 I can see again the rf cal sector error:
Hi, MansourFatna. tiawild have reported a few problems, which one you encountered? Can you flash the firmware at step 4 properly? And I think this old instructables is a little bit outdated. Since Arduino ESP8266 already officially support 16 MB flash, I think you should try Arduino IDE first.
Ray and his contributors have come up with many great products and have been kind enough to provide them to others as open source. I have limited knowledge and experience with Arduino and with esp8266 and I decided to build my own opengarage as a learning experience.
I decided to use the Wemos d1 mini esp8266 breakout board because of its online support, its built in USB to serial chip for programming the Wemos, its 3.3v regulator and because of the shields available for it which further simplified adding relays and other peripherals.
My goal was to get the opengarage firmware working on the Wemos and to also add a dht22 temperature and humidity sensor. I decided to document my experience in case others are interested in doing something similar and would appreciate some tips as to what I did and what problems I encountered.
Below is the bill of materials for the parts I decided to use, I sourced them from Aliexpess.com
In the Configuration -> Configure Module page, select Module Type: "18 Generic". After Saving the settings, the WEMOS reboots with the Generic configuration. The first time you switch to "18 Generic" you will NOT see all the options as seen in the picture below YET. You have to save "18 Generic" first and when you go there again after the reboot you get the long table where you can change all the pin's parameters. These steps are confirmed to also work with the Wemos D1 mini PRO v2.0.0.
The LOLIN S2 Mini is a small (33.4 mm x 25.4 mm) development board. The form factor is almost the same as the well-known LOLIN D1 mini. This means that there is a high chance that the D1 Mini Shields could also be uses with this board.
I think the problem you describe is a problem with RF calibration parameters. The arduino package doesn't handle the RF calibration settings on flash. Maybe the 2.4.2 version SDK will read the parameter, which the 3.0.0 can't. Or flash the RF data bundled with AT firmware (one with 2.x.x. SDK)
If running Windows, you need a driver from here: _driver.html before your computer will show the COM port in ESPhome Flasher. With a Wemos D1 mini you do not need to hold down the reset button while flashing.
You can alternatively use my basic HTTP OTA updater sketch and upload the binary! This requires the Arduino IDE and ESP8266 core installed.If your device is already running a firmware with built-in OTA capability, you can probably use that as well.
Yesterday i tried to generate new firmware bin from nodemcu-build.com and after flashing with esptool.py, my esp started blinking (blue diode on esp chip) and sending out (trough USB converter) garbage data. I tried to generate build with combination of modules, tried to flash them (binary and float) and it always start blinking and sending out garbage. Than my co-worker tried his older build and everything worked perfectly, than he send me his older build and after flashing everything works also perfectly. So there is no problem with flashing tool or system (tested on both mac and linux) and no problem with old builds. Any new build is failing for us.
Thanks to a fix in the firmware you won't have to provide the init data yourself anymore, the firmware does it automatically if necessary. Has been available in the dev branch for a few days and will also be on master in early December 2016.
I faced the same issue. I did the following steps, which solved the problem. Before flashing a new firmware, make sure your chip is fully erased. You may use the command below where "serial-port-of-ESP8266" may vary:
I have my firmware all debugged and working, it's been stable for a few months now. All it does is read a temperature from an Inkbird Bluetooth temperature sensor and log that info into a spreadsheet online for me via WiFi.
Before working on the firmware to include a nicer UI for the cryptocurrency data, we ported the simple version we have running on the DevKit over to the WeMos D1 Mini, which is our chosen platform for the project.
Thanks for the pointers, to install the firmware I have been using the web installer, I tried Platformio but had trouble with libraries, I was messing with it between stuff at work so was not getting my full attention and yes both the CC1101 and oil sensor are 433
Tasmota is an open-source firmware that provides an interface for controlling IoT devices. Devices running Tasmota can be integrated into open home automation platforms such as Home Assistant, OpenHab, or any other platform with MQTT support. To install Tasmota, visit the Tasmota web installer website at
In conclusion, programming the firmware of ESP32-S2 based devices with Tasmota using the web installer is a simple and straightforward process. With this guide, you will be able to flash your Wemos S2 Mini (or any other ESP32-S2 based device) with ease and configure it to suit your needs. Happy programming!
Currently running OS Firmware 2.1.7 and wondering if upgrading to 3.0 (once an instruction guide has been created) will give me an easier path to utilising both flow and rain sensors without have to modify OPTION_SENSOR_TYPE in the firmware?
Another solution for OSX is to make a sparse bundle that is case insensitive (so that Time.h and time.h are seen as different) and put all the source files in there. That is what I did to build the firmware on OSX using the makeEspArduino makefile.
I therefore purchased some CT sensors and planned to make something using Arduinos or RasberryPis. But then I found a 4 channel CT sensor card which supported Wemos D1 mini (ESP8266) and bought two of those. (4 Channel ESP8266 Mains Current Sensor - Wemos - Current - SCT013 - 100A/50mA eBay)
I have installed EmonCMS on my home server using the Docker image and EmonCMS is up and running fine. Now, how should I continue to put some data? The sensor card + Wemos D1 has some firmware which supports MQTT. I can maybe use this as a start?
In order to use a Wi-Fi board that is not supplied by OpenEVSE, you'll need at least two pieces of hardware (the Wi-Fi board and a programming tool), the flashing software esptool, and three files (firmware, plus one-time prep code/information).
2) Programming tool: I bought three different ones, but only one from eBay , $8, worked without issue. You'll need to fiddle with your OS to get the programmer's driver (often FTDI-based) to work correctly; I've found it was more difficult with Windows than with Ubuntu, but YMMV. These units often come with minimal instructions, but thousands of people have used them before and common problems and fixes are available via an internet search. If I figured it out, you can, too.
f448fe82f3
Reply all
Reply to author
Forward
0 new messages