Chat freely about anything...

User avatar
By eriksl
#73560 If you're seeing garbage it can mean two things:

- the serial port is not at 9600 actually. That would be strange because it's 9600 by default.
- you're seeing the initial boot loader output (from the ROM), it's running at a very strange baudrate, something like 78500 bps, because the crystal normally used isn't in line with what's expected by the boot loader. It's harmless, but it means you can't see what the boot loader outputs.

Can you upload any other image?

I've heard from some people they succeed in flashing the image, so it must be possible ;-)

This is what I am using (not all of it is necessary, but it makes sure all is reset to default values):

Code: Select allesptool write_flash --flash_size 16m --flash_mode qio \
                  0x000000 espiobridge-plain-iram-0x000000.bin \
                  0x010000 espiobridge-plain-irom-0x010000.bin \
                  0x07c000 esp_init_data_default.bin \
                  0x07e000 blank.bin \
                  0x07b000 blank.bin

This should be sufficient though:
Code: Select allesptool write_flash --flash_size 16m --flash_mode qio \
                  0x000000 espiobridge-plain-iram-0x000000.bin \
                  0x010000 espiobridge-plain-irom-0x010000.bin
User avatar
By dhouston
#73580 I have no other image to try.

Using your two .bin files I tried with a brand new just out of the box (actually just out of the sealed antistatic envelope) WeMos D1 mini Lite and got the same result - Putty just sees constant gibberish.
User avatar
By eriksl
#73582 So you're actually not sure the Wemos can flash an image this way ;-) Flashing needs some dancing around with the reset, gpio0, gpio2 and gpio15 pins. If it can't/doesn't control these, nothing will happen.

flash mode: pull gpio0 to the ground, assert reset briefly (pull to ground), then release gpio0
run mode: pull gpio0 to +, assert reset briefly (pull to ground), then release gpio0

gpio2 needs to be slightly pulled up and gpio15 needs to be pulled down, both during booting.

Also I noticed that if you load TXD a bit too heavy, the ESP8266 won't boot at all. That's because initially some internal clock is output on it and if loaded more then slightly (i.e. too strong pull up or pull down), the clock signal gets corrupted and it won't run.

And also note that you should never pull to either ground or + directly, insert a resistor of 10-50 kOhm.

And never forget, it's best to add a small ceramic capacitor to CH_PD/chip-enable, it will prevent some random crashes, and of course, this needs to be pulled to + as well, otherwise the ESP8266 won't run as well.
User avatar
By wogoos
#73599 Why not use a single chip Atmega328 as General purpose IO controller and hook that one up to an ESP. All Your have all possible interfaces available and can do the prepossessing on the Atmega. Simple and easy.