Stefans Lab Notes: Difference between revisions

From ZS64
Jump to navigationJump to search
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 15: Line 15:
Links to sources:
Links to sources:
* [http://bbs.espressif.com/viewforum.php?f=5 Espressif official forum, including SDK download]
* [http://bbs.espressif.com/viewforum.php?f=5 Espressif official forum, including SDK download]
* [http://www.esp8266.com ESP8266.com user forum]: [http://www.esp8266.com/viewtopic.php?f=5&t=28 mode versions]
* [http://www.esp8266.com ESP8266.com user forum]: [http://www.esp8266.com/viewtopic.php?f=5&t=28 module versions]
* [https://github.com/themadinventor/esptool esptool.py to upload firmware to the controller through it's bootloader]
* [https://github.com/themadinventor/esptool esptool.py to upload firmware to the controller through it's bootloader]
* [https://onedrive.live.com/?cid=C4DDF72E6EEA3826&id=C4DDF72E6EEA3826%21631 Collection of firmware, SDKs, etc.]
* [https://onedrive.live.com/?cid=C4DDF72E6EEA3826&id=C4DDF72E6EEA3826%21631 Collection of firmware, SDKs, etc.]
=== Burning Firmware ===
[[File:ESP-01-pinout.png|100px|thumb|right|ESP-01 pinout]] There seems to be little consolidated information, so here's my experiences so far.
<b>The bootloader is not protected; overwriting the bootloader with a non-functioning version will brick the module.</b>
To get the boot loader into firmware update mode, GPIO0 must be pulled low to GND, GPIO2 must be left floating. (For the module to work at all, CH_PD [chip power-down] must be pulled high.)
==== ElectroDragon Wi07c AT Command Firmware ====
The ElectroDragon [http://www.electrodragon.com/w/Wi07c firmware for the Wi07c] mode can be programmed like this:
<source lang="bash">
$ esptool.py --port /dev/cu.usbserial write_flash 0x00000 Electrodragon-V0925/eagle.app.v6.flash.bin
$ esptool.py --port /dev/cu.usbserial write_flash 0x40000 Electrodragon-V0925/eagle.app.v6.irom0text.bin
</source>
<b>Note that the command given on their page lists the load address for the irom0 part as 0x4000 which is wrong, it must be 0x40000.</b>
Then you can connect to the serial at 9600 to issue AT commands. Note that the firmware requires LF (ctrl-J) after each command, not CR (Ctrl-M or the return key).
==== Sprite's Web Server Firmware ====
[http://www.esp8266.com/viewtopic.php?f=6&t=376 Forum Post], [http://www.esp8266.com/viewtopic.php?f=6&t=376 git repo]
This [http://www.esp8266.com/viewtopic.php?f=6&t=376&start=30#p2136 post] has a link to precompiled binaries; I managed to flash them successfully like this:
<source lang="bash">
$ ~/working/esp8266/esptool/esptool.py --port /dev/cu.usbserial write_flash 0x00000 0x00000.bin
$ ~/working/esp8266/esptool/esptool.py --port /dev/cu.usbserial write_flash 0x40000 0x40000.bin
$ ~/working/esp8266/esptool/esptool.py --port /dev/cu.usbserial write_flash 0x12000 webpages.espfs
</source>
==== Zeroday's/funshine's nodemcu ====
[http://www.esp8266.com/viewtopic.php?f=6&t=534&hilit=lua Forum post], [https://github.com/funshine/nodemcu-firmware github repo]
<source lang="bash">
~/working/esp8266/esptool/esptool.py --port /dev/cu.usbserial write_flash 0x00000 ~/working/nodemcu-firmware/0.9.2/512k-flash/nodemcu_512k.bin
</source>
Serial console at 9600 let's you enter LUA commands. The commands appear to be quite comprehensive.
== HLK RM04 Ralink based, OpenWrt compatible WiFi module ==
[http://wiki.openwrt.org/toh/hilink/hlk-rm04 OpenWrt page]

Latest revision as of 18:40, 16 November 2014

Interesting Bits and Pieces

WiFiG25

http://armdevs.com/WiFiG25.html Atmel G25-based small board, like the Arietta G25, but with an USB WiFi module already integrated, and with 256MB flash onboard

PL9823 Programmable RGB LEDs

Everybody loves the WS2812B, but sometimes, you need a classic 5mm LED. Adafruit's NeoPixel apparently is a PL9823 (datasheet), availablable at some AliExpress stores and at LED Genial. Also Soldering Sunday, Cool Components.

Thread auf µc.net

ESP8266 WiFi Controller Module

Links to sources:

Burning Firmware

ESP-01 pinout

There seems to be little consolidated information, so here's my experiences so far.

The bootloader is not protected; overwriting the bootloader with a non-functioning version will brick the module.

To get the boot loader into firmware update mode, GPIO0 must be pulled low to GND, GPIO2 must be left floating. (For the module to work at all, CH_PD [chip power-down] must be pulled high.)

ElectroDragon Wi07c AT Command Firmware

The ElectroDragon firmware for the Wi07c mode can be programmed like this:

$ esptool.py --port /dev/cu.usbserial write_flash 0x00000 Electrodragon-V0925/eagle.app.v6.flash.bin
$ esptool.py --port /dev/cu.usbserial write_flash 0x40000 Electrodragon-V0925/eagle.app.v6.irom0text.bin

Note that the command given on their page lists the load address for the irom0 part as 0x4000 which is wrong, it must be 0x40000.

Then you can connect to the serial at 9600 to issue AT commands. Note that the firmware requires LF (ctrl-J) after each command, not CR (Ctrl-M or the return key).

Sprite's Web Server Firmware

Forum Post, git repo

This post has a link to precompiled binaries; I managed to flash them successfully like this:

$ ~/working/esp8266/esptool/esptool.py --port /dev/cu.usbserial write_flash 0x00000 0x00000.bin
$ ~/working/esp8266/esptool/esptool.py --port /dev/cu.usbserial write_flash 0x40000 0x40000.bin
$ ~/working/esp8266/esptool/esptool.py --port /dev/cu.usbserial write_flash 0x12000 webpages.espfs

Zeroday's/funshine's nodemcu

Forum post, github repo

~/working/esp8266/esptool/esptool.py --port /dev/cu.usbserial write_flash 0x00000 ~/working/nodemcu-firmware/0.9.2/512k-flash/nodemcu_512k.bin

Serial console at 9600 let's you enter LUA commands. The commands appear to be quite comprehensive.

HLK RM04 Ralink based, OpenWrt compatible WiFi module

OpenWrt page