|
|
|
@ -4,15 +4,113 @@ Boards with ESP-Link |
|
|
|
|
This readme provides instructions for PCBs that I've made that are designed for esp-link. |
|
|
|
|
Some of the instructions may be helpful to others as well. |
|
|
|
|
|
|
|
|
|
Installing esptool.py |
|
|
|
|
--------------------- |
|
|
|
|
esp-bridge |
|
|
|
|
---------- |
|
|
|
|
|
|
|
|
|
The esp-bridge has an esp-03 modulde, an FTDI connector (with wrong pinout!), a 3-pin power |
|
|
|
|
and debug connector, and two buttons. |
|
|
|
|
Next to the buttons it is marked "TvE2015 esp-ftdi". |
|
|
|
|
It comes preloaded with the latest version of esp-link. |
|
|
|
|
|
|
|
|
|
Power: the on-board MCP1825S-33 regulator can provide 500mA and is good from about 3.6v to 6v. |
|
|
|
|
Connect power either to the 3-pin connector (gnd in center, 5v towards the esp module), or to |
|
|
|
|
the FTDI connector (GND marked, next to the buttons, 5V 3rd pin). |
|
|
|
|
|
|
|
|
|
On power-up you should see the green LED on for ~1 second (the yellow should go on too, but |
|
|
|
|
the firmware may not be configured correctly). After that it should blink according to the |
|
|
|
|
patterns described in the README's LED indicators section. Follow the Wifi configuration details |
|
|
|
|
section thereafter. |
|
|
|
|
|
|
|
|
|
Reflashing the esp-bridge serially: you should not need to do this, use the over-the-air |
|
|
|
|
reflashing by running `make wiflash`. If you do need to reflash serially, connect TX of a |
|
|
|
|
USB BUB to RX of the esp-bridge and RX to TX (i.e. cross-over). Hold the flash button down |
|
|
|
|
and briefly press the rest button. Then run esptool.py.as described below. (Note that a USB-BUB |
|
|
|
|
will not generally power the esp-03, you need to feed 5v separately.) |
|
|
|
|
|
|
|
|
|
To connect a JeeNode to the esp-bridge to flash it or debug it, plug it into the FTDI |
|
|
|
|
port flipped-over, i.e. the component side of the JeeNode will be on the bottom and the |
|
|
|
|
components of the esp-bridge will be on the top. (Yes, the FTDI port should have been reversed |
|
|
|
|
on the esp-bridge...) |
|
|
|
|
|
|
|
|
|
To program the JeeNode, having set-up the Wifi through the web pages, run avrdude with an |
|
|
|
|
option like "-Pnet:esp8266:23" (you can use an IP address instead of `esp8266`). My test command |
|
|
|
|
line is as follows: |
|
|
|
|
``` |
|
|
|
|
/home/arduino/arduino-1.0.5/hardware/tools/avrdude \ |
|
|
|
|
-C /home/arduino/arduino-1.0.5/hardware/tools/avrdude.conf -DV -patmega328p \ |
|
|
|
|
-Pnet:esp8266:23 -carduino -b115200 -U flash:w:greenhouse.hex:i |
|
|
|
|
``` |
|
|
|
|
If you're using "edam's Arduino makefile" then you can simply set `SERIALDEV=net:bbb:2000` in your |
|
|
|
|
sketch's Makefile. |
|
|
|
|
|
|
|
|
|
jn-esp |
|
|
|
|
------- |
|
|
|
|
|
|
|
|
|
The jn-esp has an esp-03 module, an LPC824, a pseudo-FTDI connector (marked in tiny letters) |
|
|
|
|
and a JeePort (also marked). On the bottom it is marked "JN-ESP-V2". |
|
|
|
|
It comes preloaded with the latest version of esp-link. |
|
|
|
|
|
|
|
|
|
Power: the on-board MCP1825S-33 regulator can provide 500mA and is good from about 3.6v to 6v. |
|
|
|
|
Connect power either to the FTDI connector (GND and 5V marked on bottom) or to the |
|
|
|
|
JeePort (GND next to "reg-out" jumper and 5V marked P on bottom). |
|
|
|
|
|
|
|
|
|
To program the LPC824 point the Embello uploader at port 23. Something like: |
|
|
|
|
``` |
|
|
|
|
uploader -w -t -s 192.168.0.92:23 build/firmware.bin |
|
|
|
|
``` |
|
|
|
|
Remove the -s option if you don't want to stay connected. A simple sketch to try this out |
|
|
|
|
with is the [hello sketch](https://github.com/jeelabs/embello/tree/master/projects/jnp/hello). |
|
|
|
|
The result should look something like: |
|
|
|
|
``` |
|
|
|
|
$ uploader -w -t -s jn-esp:23 build/firmware.bin |
|
|
|
|
found: 8242 - LPC824: 32 KB flash, 8 KB RAM, TSSOP20 |
|
|
|
|
hwuid: 16500407679C61AE7189A053830200F5 |
|
|
|
|
flash: 0640 done, 1540 bytes |
|
|
|
|
entering terminal mode, press <ESC> to quit: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[hello] |
|
|
|
|
500 |
|
|
|
|
1000 |
|
|
|
|
1500 |
|
|
|
|
2000 |
|
|
|
|
2500 |
|
|
|
|
... |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
The pseudo-ftdi connector has the following pin-out: |
|
|
|
|
- 1: GND (marked on bottom) |
|
|
|
|
- 2: LPC824 P17/A9 |
|
|
|
|
- 3: 5V (marked on bottom) |
|
|
|
|
- 4: LPC824 P11/SDA |
|
|
|
|
- 5: LPC824 P10/SCL |
|
|
|
|
- 6: LCP824 P23/A3/C4 |
|
|
|
|
|
|
|
|
|
If you need to serially reflash the jnp-esp there are SMD pads for an FTDI connector on the |
|
|
|
|
bottom below the esp-03 module. GND is marked. The best is to solder a right-angle |
|
|
|
|
connector to it such that the pins point up (i.e. to the component side). You can then |
|
|
|
|
hook-up a USB-BUB. I recommend jumpering the flash pin (next to GND) to GND and you need to |
|
|
|
|
hook the reste pin (6) to the USB-BUB's DTR (should happen automatically). RX&TX also go |
|
|
|
|
straight through). Note that your USB-BUB will not be able to power the esp-03, you will |
|
|
|
|
need to feed 5v separately. |
|
|
|
|
|
|
|
|
|
Serial flashing |
|
|
|
|
--------------- |
|
|
|
|
|
|
|
|
|
Once you have a version of esp-link flashed to your module or if you received a pre-flashed |
|
|
|
|
module from me you should not need this section. But sometimes things fail badly and your |
|
|
|
|
module is "brocked", this is how you receover. |
|
|
|
|
|
|
|
|
|
### Installing esptool.py |
|
|
|
|
|
|
|
|
|
On Linux I am using [esptool.py](https://github.com/themadinventor/esptool) to flash the esp8266. |
|
|
|
|
If you're a little python challenged (like I am) then the following install instructions might help: |
|
|
|
|
- Install ez_setup with the following two commands (I believe this will do something reasonable if you already have it): |
|
|
|
|
- Install ez_setup with the following two commands (I believe this will do something |
|
|
|
|
reasonable if you already have it): |
|
|
|
|
|
|
|
|
|
wget https://bootstrap.pypa.io/ez_setup.py |
|
|
|
|
python ez_setup.py |
|
|
|
|
|
|
|
|
|
- Install esptool.py: |
|
|
|
|
|
|
|
|
|
git clone https://github.com/themadinventor/esptool.git |
|
|
|
@ -21,23 +119,17 @@ If you're a little python challenged (like I am) then the following install inst |
|
|
|
|
cd .. |
|
|
|
|
esptool.py -h |
|
|
|
|
|
|
|
|
|
Flashing esp-link |
|
|
|
|
----------------- |
|
|
|
|
### Flashing esp-link |
|
|
|
|
|
|
|
|
|
Using esptool.py an esp-link release can be flashed as follows: |
|
|
|
|
Using esptool.py a esp-link release can be flashed as follows: |
|
|
|
|
``` |
|
|
|
|
mkdir firmware |
|
|
|
|
curl -L https://github.com/jeelabs/esp-link/releases/download/0.9.5/esp-link.tgz | tar xzf - |
|
|
|
|
cd firmware |
|
|
|
|
wget https://github.com/jeelabs/esp-link/releases/download/0.9.3/blank.bin |
|
|
|
|
wget https://github.com/jeelabs/esp-link/releases/download/0.9.3/boot_v1.3.b3.bin |
|
|
|
|
wget https://github.com/jeelabs/esp-link/releases/download/0.9.3/user1.bin |
|
|
|
|
esptool.py write_flash 0x00000 boot_v1.3.b3.bi 0x1000 user1.bin 0x7e000 blank.bin |
|
|
|
|
``` |
|
|
|
|
(I see that I need to produce a tgz download...) |
|
|
|
|
|
|
|
|
|
esp-bridge |
|
|
|
|
---------- |
|
|
|
|
|
|
|
|
|
The esp-bridge |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you want to speed things up a bit and if you need to specify the port you can use a command |
|
|
|
|
line like: |
|
|
|
|
``` |
|
|
|
|
esptool.py --port /dev/ttyUSB0 --baud 460880 write_flash 0x00000 boot_v1.4\(b1\).bin \ |
|
|
|
|
0x1000 user1.bin 0x7e000 blank.bin |
|
|
|
|
``` |
|
|
|
|