Difference between revisions of "Stefans Lab Notes"

From ZS64
Jump to navigationJump to search
(ESP8266 WiFi Controller Module)
 
(10 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
Atmel G25-based small board, like the Arietta G25, but with an USB WiFi module already integrated, and with 256MB flash onboard
 
Atmel G25-based small board, like the Arietta G25, but with an USB WiFi module already integrated, and with 256MB flash onboard
  
== Programmable RGB LEDs ==
+
== PL9823 Programmable RGB LEDs ==
  
 
Everybody loves the WS2812B, but sometimes, you need a classic 5mm LED. [http://www.adafruit.com/products/1938 Adafruit's NeoPixel] apparently is a PL9823 ([[media:PL9823.pdf|datasheet]]), availablable at some AliExpress stores and at [http://www.led-genial.de/LED-PL9823-5mm-mit-integriertem-WS2811-Controller-10-Stueck LED Genial]. Also [http://solderingsunday.com/shop/components/pixelbit-leds-5mm-100-pack/ Soldering Sunday], [https://www.coolcomponents.de/digital-rgb-addressable-led-8mm-through-hole-10-pack.html Cool Components].
 
Everybody loves the WS2812B, but sometimes, you need a classic 5mm LED. [http://www.adafruit.com/products/1938 Adafruit's NeoPixel] apparently is a PL9823 ([[media:PL9823.pdf|datasheet]]), availablable at some AliExpress stores and at [http://www.led-genial.de/LED-PL9823-5mm-mit-integriertem-WS2811-Controller-10-Stueck LED Genial]. Also [http://solderingsunday.com/shop/components/pixelbit-leds-5mm-100-pack/ Soldering Sunday], [https://www.coolcomponents.de/digital-rgb-addressable-led-8mm-through-hole-10-pack.html Cool Components].
 +
 +
[http://www.mikrocontroller.net/topic/325107 Thread auf µc.net]
 +
 +
== ESP8266 WiFi Controller Module ==
 +
 +
Links to sources:
 +
* [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 module versions]
 +
* [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.]
 +
 +
=== 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