Introduction: Wireless AVR Programmer (WiFi)

This wireless programmer provides an AVR ISP programmer over Wi-Fi network.

You can either have it connected to your WiFi router/access point or open an Access Point in the programmer itself and connect to it directly.

Hardware Materials:

1x -- ESP8266 (ESP-12E/F module) -- Rs.250 ($3-4 appx)

1x -- 5v SMPS (12v would also do) -- Rs.50 ($1 appx)

7x -- Jumper / Hookup wire -- Rs.35 (50cents appx)

1x 1117 3.3v regulator (if 5v is used for Atmega)

Note: Follow schematic for circuit for programmer.

Software Material:


ESP_ConfigStorage (library)

Note: Download the master folder into your arduino sketchbook folder.


PC (With Java and Arduino software installed along with ESP8266 hadware and tools)

USB to TTL converter (CP2102/FTDI232 etc)

USB cable for connecting PC to USB-TTL

Connecting wire for USB-TTL to ESP-12E

Step 1: Install Netburner Virtual COMM Port Driver

Install netburner com port driver software from Netburner site.

Steps: -> Products -> Netburner Software, Protocols & Tools Suite -> Deployment Tools -> Download Virtual COMM Port Driver

Install the software as usual.

Step 2: Uploading the AVR_ISP Program to ESP8266

  1. First confirm your USB-TTL port in device manager.
  2. Then open Arduino IDE and WiFi_AVRISP program in it.
    Note: You must have ESP8266 boards installed first. If not do so now.
  3. Select NodeMcu 1.0 (ESP-12E) in boards menu.
  4. Set Flash size to 4M (1M SPIFFS), 4M (3M SPIFFS) will also do.
  5. Port to USB-TTL port.
  6. Upload the program.
  7. Upload data folder.

Step 3: Connect to ESP8266

Connect to ESP8266 module.

It can have any name based on module or previous configurations. But it should be open by default.

I used a phone, any WiFi enabled device should do.

Step 4: Configure ESP8266

Configure ESP8266 WiFi configuration.
You can make it connect to your Access Point (I used TPLINK WR841ND router), or open an access point inside it.

Step 5: Configure Netburner Virtual COMM Driver

User your preconfigured IP or check router for IP allocated.

I used reserved IP address in router.

Step 6: Program Atmega Using AVRISP

Connect your Atmega chip in ISP connection to your newly made WiFi_AVRISP device.

Upload program using programmer option.

Note: First upload after power up will miss first 3-4 sync, but will upload finally. Net uploads will have no such hiccups.


ratz123 made it!(author)2017-05-07


i get error when compiling

'initISP' was not declared in this scope

'initConfigServer' was not declared in this scope

Subhajitdas298 made it!(author)2017-05-08

Did you install the library first?

ratz123 made it!(author)2017-05-09

I have deleted everything completely and reinstalled.

Now it works wonderfull without error.

thanks again

Good work

Subhajitdas298 made it!(author)2017-05-09

Happy to help.

AltantsoojB made it!(author)2017-04-26


I can't upload WiFi_AVRISP to ESP8266. Can you explain that? I used CH340 converter. (ESP8266->TTL?RS232->CH340->PC connected)

Subhajitdas298 made it!(author)2017-04-26

I need a full log. Keep verbose output for upload and verification active in IDE. And send me the log. Google for further details.

Joanen made it!(author)2016-10-12

This is a clone of your board. It works perfectly through the router following your instructions.
I've only had a warning because Atmega328bb had not defined the build.board in boards.txt. I have defined " = AVR_UNO". I do not know if it is correct, but it works and I do not have the warning.
I have tried to directly connect the computer with nodemcu but I have not succeeded. I could define the access point within nodemcu and connect the notebook. But Arduino IDE makes ten attempts and nothing happens. I do not know whether to make changes to the virtual port.
Please, could you explain step by step how to do it?. This not depend on the router connection. Thanks in advance.

Subhajitdas298 made it!(author)2016-10-13

Did you follow the video instructions closely? The type of error you are talking about usually happens due to improper connections.

Joanen made it!(author)2016-10-13

If there is not defined a build board for atmega328bb in boards.txt, when compiling, Arduino Ide says:

"Warning: Board arduino:avr:atmega328bb doesn't define a 'build.board' preference. Auto-set to: AVR_ATMEGA328BB"

But all is working fine via router. In Direct mode, I am unable to make it work.

Subhajitdas298 made it!(author)2017-04-14

Sorry for direct mode problem. I will look into it soon. I was busy in the mean with my studies. Sorry for that.

Subhajitdas298 made it!(author)2017-02-27

It is not a problem.

Joanen made it!(author)2016-10-11

Nice work:

I tried to compile and have an error because Arduino Ide not find ESP_ConfigStorage library.
I searched the web and find nothing. I have properly installed all libraries for ESP8266 and have already updated several sketcks for nodemcu ESP12E.
Please can you tell me where to find this library?.
Thank you.

Subhajitdas298 made it!(author)2016-10-13

I have updated the instructable with library link directly.

Subhajitdas298 made it!(author)2016-10-11


Joanen made it!(author)2016-10-12

Many Thanks

MartinD8 made it!(author)2016-07-23

Do you have a schematic for my ???

Subhajitdas298 made it!(author)2016-07-24


MartinD8 made it!(author)2016-07-24

Thank's Perfect :)

Subhajitdas298 made it!(author)2016-07-23

I gave description. But I will provide soon.

About This Instructable




Bio: Electronics and Telecommunication Engineer, Software Engineer, Hobbyist
More by Subhajitdas298:Wireless AVR Programmer (WiFi)Rotary Car Parking SystemClick Counter - VB.NET
Add instructable to: