ESPRESSIF update for ESP8266

I have to say the people at Expressif are starting to be really helpful – SO – if you are using the binaries of their AT software (released today) – the loading addresses stay the same – ie…


Default baud rate is 115200


Please note – this information is now utterly out of date. I now start all code at 0x2000 (above rboot) and continue in one piece all the way to 1MB… for much more interesting information – visit

I hope that is useful. They are making other updates I’ve requested and will release update for CYGWIN next week. I can’t wait! For example this might lend the possibility to easily add port bit control to their existing AT software – and possibly even finally get to understand the IOT demo and put it on a useful baud rate!


28 thoughts on “ESPRESSIF update for ESP8266

  1. Have you tried “uart.on()” (in the last lua from zeroday) Can your phone talk with arduino now? That can be a valuable info …
    Thank you very much for sharing knowledge … I forgot to say this

    • Ok you’ve lost me. Oh no not tried that – my main concern was memory loss as everything comes second to that. It’s gone away, turns out his original example which I’d cluged had a mistake keeping a port open permanently. The LATEST update however, I’m checking but I’m getting a silly error right at startup – I’ll get to the bottom of it tomorrow.

  2. Hi,

    Which tool do you recommend for performing the flashing?
    I tried the ESP FLASH DOWNLOAD TOOL (allows you to specify all the files and their offsets in 1 go) but I appear to have bricked my module – hence keen to use a different tool on one of my remaining modules 🙂

    I’m assuming that bricking is permanent, and there is no magic ‘back to factory defaults’ – let me know if I’m wrong on that.


    • I use the same tool and apart from crap that comes up at the start (why do people leave stuff like that in) it’s fine… Bricking – no – I’ve been utterly unable to permanently brick one of the boards and believe me I’ve tried – ensure you power off and on etc.. you should be able to re-blow a board no matter what you’ve done to it – well apart from applying 5v for any length of time.

  3. Hi Peter, great to see your progress here!! I’ve been out of the loop for a few weeks & I’m amazed by how much has happened. Have you tried this code? I tried to upload the binaries using esp8266_flasher.exe at the addresses you’ve given & get a division by zero error when attempting to upload “blah_default.bin” Is this the tool you’re using? I find it incredibly iffy 😦
    If you are looking for a similarly small PSU for your devices I found a nice one on ebay! Check out my web switch:

  4. Hi – that project is great – but nothing I’ve not done before – indeed using LUA you can get a very reliable simple on-off switch. As you say the PSUs are cheap – and indeed I’ve just ordered two… but the BIG thing to come out of that is the solid state relay – they are INDEED £1.99 and I will be ordering one – as for cases – Maplins do black boxes like those with the mains plug on the end.. and amazingly for Maplin they are not very expensive… Yes, I plan to make some plug in the wall mains switches using WIFI. However, I suspect it won’t take the Chinese very long to use the ESP8266 to do just that with a web interface 🙂

    • Cheers Peter, just trying to keep my students entertained/inspired… Not always easy 😉
      The PSUs and the SSRs are great! 🙂
      I’m not sure that WiFi is generally viable for wall mains switches: 99% of users wouldn’t have the first idea about port forwarding so they probably need to be client based(?)
      There are quite a few of these around already – they all seem to use a ‘middle ware’ server as far as I can tell. Keep up the good work 🙂

      • There is an additional thought here that is too long for typing on my S4 phone so I may blog it later in the week…using these units stand alone has some disadvantages… Implementing any kind of security is likely to be very difficult which limits outside use for fear of attacks etc.

        I don’t personally like the idea of using yet another computer as an intermediary other than say an external service to log temperatures which works for me as you will see on my blog in Spain where a board there talks to a data logging service 24,7 via WIZ Ethernet card. I suspect that without something like an ATMEGA1284 attached I could quickly run out of space for stuff… So I am following both the AT route and the Lua route.

  5. Hi Peter,
    i really need your help.
    I’m trying to use this module for more then 72hours almost no-stop…

    The fact is that this thing crash very often!
    If i issue AT+RST it crashes almost half the time. And it randomly crashes when i use AT+CIPSEND.

    I’m using a 12v 1.5A power supply with a lm317 voltage regulator set to push out 3.4v.
    The lm317 became VERY hot in a couple of minutes….do you think that my chip is fault or this thing needs all that current?
    What do you use to power the chip?


    • Ok so much of this is guesswork… 12v supply – you do know that the chip can take up to 250ma – so with the voltage you are throwing at the regulator – the regulator is having to get rid of 9v at up to 250ma – that’s, erm, over 2w… I hope it’s on some copper! I would start with a 5v power (plug in the wall USB – cut the connector off?) The question is – did the ESP8266 get hot?? And crashing – well if you’d screwed the chip it would not be working at all. IF you are talking to this I hope you are using a level convertor – don’t feed 5v digital signals straight into it – somewhere on my blog I point out that the input to the serial on the chip can easily be level shifted with a 5k6 resistor out of, say the Arduino or whatever is driving it – to the chip – then a 1k to ground – no doubt about it looking at the spec it is not 5v compatible.

      So – try to use a lower voltage – if it is talking at all – maybe it’s the level shifting – or maybe you’re using a really early AT command set – last update was about a week ago and it’s stable now. Does that help?

      • MANY MANY thanks.
        yes i use a couple of resistors for level shifting.
        the esp8266 doesn’t get hot…only the lm317, and no…it’s not on copper 😀
        i will try tomorrow with a 5v power supply and the last firmware..will let you know.

    • Oh what a GOOD MAN – I really hate this having files to load all over the place – it’s only 500k, having one file to load up is a much better idea – thanks for that – others here may also benefit.

  6. Got my modules yesterday, and in a few hours, I even managed to write my first Arduino sketch for it 🙂

    Did you know that using the command AT+IPR=19200 , switches the baudrate to 19200 ? (ofcourse, you can alter the 19200 to whatever baudrate you want)
    I searched and searched the web, and couldn’t find anything, besides a modified version of the firmware. I used the 2014.11.28 version, and simply tried the default AT+IPR (seems to be a standard on modems to switch baudrate), and found out that it is already implemented !

    Best regards,

    • Do you mean, that for example, when you have an address, , you need a way to retrieve the IP of it ? That’s an easy one:
      1. make a connection: AT+CIPSTART=”TCP”,””,80
      2. do: AT+CIPSTATUS
      this will give you: +CIPSTATUS:0,”TCP”,”″,80,0

      In the responses, the website name is automatically replaced by the IP address 🙂

  7. Nope… As I thought.. first one works – second one doesn’t.. Tried it on two programs…

    char PROGMEM cmd[]=”AT+CIPSTART=\”TCP\”,\”\”,80″;
    char PROGMEM cmd[]=”AT+CIPSTART=\”TCP\”,\”\”,80″;

  8. FYI, I tried replacing the URL with a non existing one, (www.scargill.nep) and as a response, I get a “DNS fail” ! Are you able to see your output response ?
    It seems like there are 3 DNS servers built-in. Can you ping at least one of them ? Maybe this is blocked by your ISP ? (I have read the UK ISP’s are a bit *pesky* about those things)
    (I can only ping the last one, but 1 is enough to get the DNS functionality up and running)

  9. You’re right
    I simple wasn’t waiting long enough – there must be some extra overhead in fetching the name and I was diving in as soon as I saw “Linked”

    I increased the wait time and voila!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s