Skip to content

Commit 56b70f6

Browse files
committed
ESP8266AVRISP: add README.md
1 parent 5ac5d8e commit 56b70f6

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

libraries/ESP8266AVRISP/README.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# AVR In-System Programming over WiFi for ESP8266
2+
3+
This library allows an ESP8266 module with the HSPI port available to become
4+
an AVR In-System Programmer.
5+
6+
## Hardware
7+
8+
The ESP8266 module connects to the AVR target chip via the standard 6-pin
9+
AVR "Recommended In-System Programming Interface Connector Layout" as seen
10+
in [AVR910](http://www.atmel.com/images/doc0943.pdf) among other places.
11+
12+
If the AVR target is powered by a different Vcc than what powers your ESP8266
13+
chip, you **must provide voltage level shifting** or some other form of buffers.
14+
Exposing the pins of ESP8266 to anything larger than 3.6V will damage it.
15+
16+
Connections are as follows:
17+
18+
ESP8266 | AVR / SPI
19+
--------|------------
20+
GPIO12 | MISO
21+
GPIO13 | MOSI
22+
GPIO14 | SCK
23+
any* | RESET
24+
25+
For RESET use a GPIO other than 0, 2 and 15 (bootselect pins), and apply an
26+
external pullup/down so that the target is normally running.
27+
28+
## Usage
29+
30+
See the included example. In short:
31+
32+
```arduino
33+
34+
// Create the programmer object
35+
ESP8266AVRISP avrprog(PORT, RESET_PIN)
36+
// ... with custom SPI frequency
37+
ESP8266AVRISP avrprog(PORT, RESET_PIN, 4e6)
38+
39+
// Check current connection state, but don't perform any actions
40+
AVRISPState_t state = avrprog.update();
41+
42+
// Serve the pending connection, execute STK500 commands
43+
AVRISPState_t state = avrprog.serve();
44+
```
45+
46+
### License and Authors
47+
48+
This library started off from the source of ArduinoISP "sketch" included with
49+
the Arduino IDE:
50+
51+
ArduinoISP version 04m3
52+
Copyright (c) 2008-2011 Randall Bohn
53+
If you require a license, see
54+
http://www.opensource.org/licenses/bsd-license.php
55+
56+
Support for TCP on ESP8266
57+
Copyright (c) Kiril Zyapkov <kiril@robotev.com>.

0 commit comments

Comments
 (0)