ESP8266 New AT Code

Is there new firmware out for the ESP8266? You bet.

tmpC94CThe new Espressif AT code is out for the ESP8266 boards – this I understand is largely a development of the code they had me testing a week or so ago but there is new stuff in there – only one problem – here is the code – but the instructions for loading the BIN files indicate using only 3 files – and they DO seem to work.. which begs the question what are the others for?

This is a major update – the BUSY is still there and still unexplained but like the test version I had, it’s not a show stopper any more.

This does leave me with some questions however  here’s the code.  There is a transparent SERVER mode but as far as I can tell no transparent LISTENER mode – and yet that surely would be the most obvious use – if you’re using a micro to talk to this board, then you might want a mobile device to send instructions… and have responses sent back… it would be the LISTENER mode that would allow that as the mobile would always initiate the conversation.

There is also the ability to set the Soft Access point NAME – but it doesn’t work properly – it adds a “0” on the end – it’s still usable but that needs fixing.

Anyone any thoughts on that, have I missed something?

15 thoughts on “ESP8266 New AT Code

  1. Thank you for that kind sir. Actually it seems to work without USER2 – but I’ll do that right now.

    But now you have my interest up – what was that last bit about custom firmware??? I didn’t understand the last line at all and I’m interested???

  2. I am working with those now – I can get the BIN version to work but I can’t compile in CYGWIN. I’ll detail the updates in my blog shortly – right now the phone I’m using to test this has gone dead.. Flat battery 🙂

  3. I agree completely about a transparent server. I desperately want a super simple firmware that just starts up a TCP server and does passthrough of incoming data out to the uart. I can’t believe I’m the only one who wants such a thing.

  4. Hi Dave – that’s great but unless it’s available as a BIN it isn’t of much use to me, As Windows user I already tried compilation and ended up with frustration instead. I think the one post that goes along with that suggests it’s not documented and no-one seemed to reply to the query?

  5. I can get you a bin. Maybe on Github? I’ve tested the change from that post and it works. It is still a bit quirky. You use the AT commands to do the setup for transparent and the command ordering is counterintuitive. In my dreams there is an absolutely transparent UART to WiFi bridge that could be configured via a web interface, e.g. esphttpd.

    I have used the WiFly in the past and it allows you to disable all of the control messages which is ideal for a truly transparent mode. By control messages, I mean CONNECT, etc. The problem with the WiFly is the price is all wrong, at least from Sparkfun.

    For my current application (a robotic arm that accepts GCODE like syntax) having the transparent mode is absolutely essential. The overhead of the AT command set is prohibitive in terms of SRAM for the uController I’m using (MicroView, i.e. Arduino w/ OLED). For kicks, here is the thingiverse for the arm (I’m not the creator of the arm): and GitHub for my firmware: and GitHub for my PCB schematic/layout/footprints to run the firmware:

    I was surprised by the response from the alternate AT firmware creator’s response for the ESP regarding transparent bridge mode:

    I have used transparent BlueTooth and WiFi bridges in the past. Having a transparent bridge mode radically simplifies development / deployment. Among a myriad of other options, it allows the us to do AVR and Arduino firmware programming over the ether so to think that it wouldn’t be useful to someone is odd. Moreover, developing under direct serial and then dropping in a radio module is a huge win.

    Can you tell us more about your app that would utilize a transparent firmware?

    I have spent about 5 minutes with the Lua firmware, so I’m very green there. I know from your posts that you have invested a lot of time and energy in it. Is it possible to do a Lua script to provide a transparent bridge? My recollections is that there are some limitations in serial handling with the current Lua toolset. Please correct me if I’m wrong.

    • I would say yes there are still problems with Lua. You can now turn off the Serial Echo but I understand the terminal prompt still comes up? You’d have to check. As of yesterday I’ve put my Lua development on hold to work on the AT codes for a little while as I was starting to get very frustrated. I’ve tested code to read the temperature from a Dallas chip – I have code to make non-volatile variables, code to go get the time from a website (and that works other than the domain name lookup is VERY flaky) and code to make the units into a TCP/IP listeners. The problem is – when you put them altogether – they simply DON’T WORK. If you were sitting in front of my screen I can show you a function that when called will go and get the time – no problem – embed it in the startup – even after a delay – and 99% of the time it simply won’t work. Like the designer I have put many many hours into this and I’m really disappointed. The AT code also still has issues, last night I was doing some testing and I noted “busy…s” coming back again… and then at one point I was monitoring the traffic – and the ESP-01 crashed on me for no apparent reason – I can only put most of this down to the SDK that basically others are using as the basis of their code. I will plough on over the weekend but someone with skills greater than mine really needs to get to grips with this and develop a rock solid SDK for the chip.

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