mirror of https://github.com/jeelabs/esp-link.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
5.4 KiB
135 lines
5.4 KiB
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.
|
|
|
|
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):
|
|
|
|
wget https://bootstrap.pypa.io/ez_setup.py
|
|
python ez_setup.py
|
|
|
|
- Install esptool.py:
|
|
|
|
git clone https://github.com/themadinventor/esptool.git
|
|
cd esptool
|
|
python setup.py install
|
|
cd ..
|
|
esptool.py -h
|
|
|
|
### Flashing esp-link
|
|
|
|
Using esptool.py a esp-link release can be flashed as follows:
|
|
```
|
|
curl -L https://github.com/jeelabs/esp-link/releases/download/0.9.5/esp-link.tgz | tar xzf -
|
|
cd firmware
|
|
esptool.py write_flash 0x00000 boot_v1.3.b3.bi 0x1000 user1.bin 0x7e000 blank.bin
|
|
```
|
|
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
|
|
```
|
|
|