19/11/2014 - Wednesday Evening

Continuing the discussion from ESP8266 Wifi Board Presentation + Workshop - Wednesday - 19/11/14:

Yes. I’m looking forward to it.

I’ll be there by 6:30pm. I also have a few (not many) to give away.

I can’t help myself - I also quickly designed some breakout boards that make it very quick to get up and running with the modules to do something fun/maybe-useful :slight_smile: in not much time. LED, Temperature-Sensor and Button shown left-to-right.

There’s a H-Bridge controller somewhere for the sliding-door project - but it didn’t make it for photo time. I will find it and bring it along too.

The content of the presentation will be pretty conventional - and won’t be dependant on the custom (open-source) hardware I’m showing in the photo.

If other people have the modules too, they’re welcome to bring them along and show what projects they’ve been working on too. That will just make it much more interesting.

1 Like

Thanks David, it was a good evening.

I have a question: I can see the ‘i’ and ‘o’ pins that connect the processor to the PC, I expect that these go to the U0{T,}XD pads. Correct?

I also see pins ‘i’ and ‘o’ at the top, going to any attached device. I expect that these actually go to the GPIO{0,2} pads.
Correct? If so, unusual labelling aside, which one is GPIO0? I need to know for programming the firmware.

Or did I get it completely wrong?

cheers

Not wrong - pretty right.

The ‘i’ is input, and corresponds to rx-data.

The ‘o’ is output, and corresponds to tx-data.

When I get back to my computer I will lookup the pin wirings for the gpio’s. An easy way to find out quickly is to use a multimeter - but I will do a datasheet/diagram within a day or so as it is essential to have. I’ll post back a link.

I’m looking forward to the next stage which will be uploading and firmware hacking.

Edit (Pinouts):
Top Peripheral Pins:
i = GPIO2
o = GPIO0
Bottom Host Pins:
i = URXD
o = UTXD

Today [Sat 22/Nov/14] I found some time to progress my work on the ESP8266 (clixx).

My first attempt was to upgrade to the latest off-the-net firmware, which is 0.9.2.2 from
Firmware ESP8266
and the file is
http://www.mlt-group.com/download/V0.9.2.2_AT_Firmware.bin.zip
[later] 0.9.3 was just released today…

The process was simple, but some preparation was required. Mainly because I used windows
here (should be easier with Linux).

  1. install python 2.7.8 from
    https://www.python.org/ftp/python/2.7.8/python-2.7.8.amd64.msi
    and now I have
    C:\Python-2.7.8\python.exe
  1. grabbed the updater
    https://github.com/themadinventor/esptool/raw/master/esptool.py
    and tested (ran without arguments) it. It failed with missing ‘serial’ module.

  2. downloaded python updater
    setuptools · PyPI
    https://bootstrap.pypa.io/ez_setup.py
    and ran this python script. It installed

    C:\Python-2.7.8\Scripts\easy_install.exe

used it

    C:\Python-2.7.8\Scripts\easy_install pyserial

and now the ESP updater is working (did not yet connect the module).

  1. Prepared the module. Need to tie GPIO0 low and GPIO2 high. On the U side of the
    module (sockets, not pins) I did this:
    short ‘o’ (GPIO0) to ‘-’
    short ‘i’ (GPIO2) to ‘+’
        +--------+
        | +----+ |
        | |    | |
        i o    - +
  1. I now connected the USB dongle to the computer and to the module.
    Looked up the port (got COM6) and then ran

C:\Python27\Python esptool.py -p COM6 write_flash 0x00000 “V0.9.2.2 AT Firmware.bin”
Connecting…
Erasing flash…
Writing at 0x0007ec00… (100 %)

Leaving…

Looks good. Removed the module (left the dongle connected).

  1. Reconnected the module. Started putty and set it to 9600 baud. Yes, this image starts like this. But this is not all, it does not understand simple Enter key. Need to hit Ctrl-M then Ctrl-J. I did not find a setting to make putty do this, but other terminal programs should be able to do this for you.

Finally a few commands to test the new firmware:

AT+GMR
0018000902 [this was 00160901]
OK
AT+CHELLO
*** Modified by ***
HuangRui vowstar@gmail.com
JiYaping jyp1817@gmail.com
OK
AT+RST

OK
[some delay here]
ets Jan 8 2013,rst cause:4, boot mode:(3,0)

wdt reset
load 0x40100000, len 25020, room 16
tail 12
chksum 0x55
ho 0 tail 12 room 4
load 0x3ffe8000, len 3280, room 12
tail 4
chksum 0x1d
load 0x3ffe8cd0, len 6468, room 4
tail 0
chksum 0xe1
csum 0xe1

[System Ready, Vendor:www.ai-thinker.com]

It even listed available access points properly.

  1. Enough for now. Next job: program with own built firmware…

[later] The module remembers some settings - importantly baud rate, but also local AP (SSID, channel, password) and maybe more, so these only need to be set once after programming.

cheers
Eyal

2 Likes

Hi Eyal,

That’s awesome. I’ll try doing that today.

I think I could make a ‘Programming-Adaptor’ tab that could plug into the top to make accessing the firmware-upload mode easier. ie just plug in and then it goes into firmware-update mode.

It looks like we might be needing a workshop #2 sooner rather that later. Maybe Wednesday December 3? How would that suite (everybody )?

3/Dec is possible (as of now).
Eyal

I’m free and can open up if that suits others.