1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-22 21:23:07 +03:00
2017-05-14 11:44:16 -05:00

71 lines
2.0 KiB
ReStructuredText

AVR In-System Programming over WiFi for ESP8266
===============================================
This library allows an ESP8266 module with the HSPI port available to
become an AVR In-System Programmer.
Hardware
--------
The ESP8266 module connects to the AVR target chip via the standard
6-pin AVR "Recommended In-System Programming Interface Connector Layout"
as seen in `AVR910 <http://www.atmel.com/images/doc0943.pdf>`__ among
other places.
If the AVR target is powered by a different Vcc than what powers your
ESP8266 chip, you **must provide voltage level shifting** or some other
form of buffers. Exposing the pins of ESP8266 to anything larger than
3.6V will damage it.
Connections are as follows:
+-----------+-------------+
| ESP8266 | AVR / SPI |
+===========+=============+
| GPIO12 | MISO |
+-----------+-------------+
| GPIO13 | MOSI |
+-----------+-------------+
| GPIO14 | SCK |
+-----------+-------------+
| any\* | RESET |
+-----------+-------------+
For RESET use a GPIO other than 0, 2 and 15 (bootselect pins), and apply
an external pullup/down so that the target is normally running.
Usage
-----
See the included example. In short:
.. code:: arduino
// Create the programmer object
ESP8266AVRISP avrprog(PORT, RESET_PIN)
// ... with custom SPI frequency
ESP8266AVRISP avrprog(PORT, RESET_PIN, 4e6)
// Check current connection state, but don't perform any actions
AVRISPState_t state = avrprog.update();
// Serve the pending connection, execute STK500 commands
AVRISPState_t state = avrprog.serve();
License and Authors
~~~~~~~~~~~~~~~~~~~
This library started off from the source of ArduinoISP "sketch" included
with the Arduino IDE:
::
ArduinoISP version 04m3
Copyright (c) 2008-2011 Randall Bohn
If you require a license, see
http://www.opensource.org/licenses/bsd-license.php
Support for TCP on ESP8266
Copyright (c) Kiril Zyapkov <kiril@robotev.com>.