Reputation: 20255
Working with the RobotDyn ESP8266PRO version of the NodeMCU.
First, no doc provided by manufacturer.
Here is as far as I got:
python esptool.py --port /dev/ttyUSB0 write_flash -fm dio -fs 32m 0x00000 nodemcu-master-12-modules-2016-11-17-02-07-27-integer.bin 0x3fc000 esp_init_data_default.bin
Results: fatal error: Digest mistmatch
Anybody successful with this thing yet?
Upvotes: 7
Views: 3521
Reputation: 1
Mine worked from the Arduino IDE, out of the box, with some tweaks.
Initially, I had to hold down the boot button until the python script started sending the script.
Then I changed the setting Tools | Reset Method to select NodeMCU reset method, and I no longer need to hold down that pesky boot button.
The built-in LED interferes with / shares the IO pin with the Serial Port, so once you have a script running that is blinking the built-in LED, serial communication and loading a new script gets much more tricky.
My Serial Monitor works ok. Serial seems to go to 115200 * 8 - about 1000000 baud, but might not be so stable at that rate. I certainly was able to speed up the upload speed in the Arduino IDE.
I think maybe we should tell the IDE this is a NODEMCU (because I don't have a board definition for this board) and things seem to work smoother.
Upvotes: 0
Reputation: 21662
Reza's answer certainly helped me, but I was able to program the RobotDyn ESP8266-Pro with a simpler configuration using no resistors or external 5V power.
For clarity's sake, let me say that I'm not using any external power, relying only on 5V the power coming through my SiLabs CP2102 breakout programmer plugged into my Mac. The wires from the CP2102 almost line up correctly with the EPS8266-Pro, except that you must swap order of GROUND and CTS coming from the CP2102. Here are the connections needed:
CP2102 -> ESP8266-Pro
---------------------
DTR -> RST
RXI -> TXD
TXO -> RXD
VCC -> 3.3V
GND -> GND
CTS -> IO12
In order to be able to program from the Arduino IDE, I then had to make a few more connections from the ESP8266-Pro to itself. I did not use resistors for the EN-VIN and GND-IO15 connections, as Reza did.
EN -> VIN
GND -> IO15
GND -> IO0
With any of the three above connections missing, you can't program the ESP8266-Pro. All three are necessary. This makes the board pretty inconvenient to program in place, so I think I'm not going to be ordering any others in the future.
Here are the settings I'm using in the Arduino IDE:
Programming works just fine with these settings. When using an FTDI232 programmer, I had to drop the speed down to 460800 baud, but otherwise the experience was the same.
Unfortunately, I still can't seem to get the serial monitor working from the IDE so I can see what is (and is not) going on with my code.
Upvotes: 3
Reputation: 86
I just received this unit from RobotDyn. Using the exact same pin connections as you, I am able to upload sketches via the Arduino IDE. I am using a CP2102 USB to UART. For uploading I selected "Generic ESP8266" and uploaded at 115200 baud.
Here is my Arduino IDE setup: https://i.sstatic.net/glRRn.png
Update: some additional scripts:
Upvotes: 7