Introduction: Wireless AVR Programmer (WiFi)

Picture of 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:

WiFi_AVRISP

ESP_ConfigStorage (library)

Note: Download the master folder into your Arduino sketchbook folder. Install ESP_ConfigStorage to your default library folder or copy all files to downloaded WiFi_AVRISP folder.

Tools:

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

Note: If you have Nodemcu or something similar, you might not need this extra cables.

Step 1: Install Netburner Virtual COMM Port Driver

Picture of Install Netburner Virtual COMM Port Driver

Install netburner com port driver software from Netburner site.

Steps:
http://www.netburner.com/ -> 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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.

Comments

Joanen (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 (author)Joanen2016-10-11

Use:

https://github.com/Subhajitdas298/ESP_ConfigStorage

Joanen (author)Subhajitdas2982016-10-12

Many Thanks

Subhajitdas298 (author)Joanen2017-08-29

Happy to help.

Subhajitdas298 (author)Joanen2016-10-13

I have updated the instructable with library link directly.

AhmedA119 (author)2017-08-28

please help!!, where I can change SSID and Password ,, thanks in advance

Subhajitdas298 (author)AhmedA1192017-08-28

SSID of what?

If you are asking for changing SSID of ESP, then check Step 4.

AhmedA119 (author)Subhajitdas2982017-08-28

I mean that after uploading avrisp and data folder, I can't access the esp through IP .

Subhajitdas298 (author)AhmedA1192017-08-29

How did you connect to ESP?
Did you connect to it using built-in AP?

AhmedA119 (author)Subhajitdas2982017-08-29

May I contact you by email ? :) :)

Thank you for your help

Subhajitdas298 (author)AhmedA1192017-08-29

I would prefer to use this chat, as it would also help others while troubleshooting.

You can always PM me for personal queries.

Subhajitdas298 (author)AhmedA1192017-08-29

Also at which step?

AhmedA119 (author)Subhajitdas2982017-08-29

I can't complete Step 4 :(

Subhajitdas298 (author)AhmedA1192017-08-29

So you connect to esp directly?
But after that when you open ip addess 192.168.4.1 in your phone/pc it dosen't open?

ratz123 (author)2017-05-07

hello

i get error when compiling

'initISP' was not declared in this scope

'initConfigServer' was not declared in this scope

Subhajitdas298 (author)ratz1232017-05-08

Did you install the library first?

https://github.com/Subhajitdas298/ESP_ConfigStorage/

ratz123 (author)Subhajitdas2982017-05-09

I have deleted everything completely and reinstalled.

Now it works wonderfull without error.

thanks again

Good work

Subhajitdas298 (author)ratz1232017-05-09

Happy to help.

AltantsoojB (author)2017-04-26

Hello,

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

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 (author)2016-10-12

Hello:
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 "atmega328bb.build.board = 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 (author)Joanen2016-10-13

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

Joanen (author)Subhajitdas2982016-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 (author)Joanen2017-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 (author)Joanen2017-02-27

It is not a problem.

MartinD8 (author)2016-07-23

Do you have a schematic for my ???

Subhajitdas298 (author)MartinD82016-07-24

Updated.

MartinD8 (author)Subhajitdas2982016-07-24

Thank's Perfect :)

Subhajitdas298 (author)MartinD82016-07-23

I gave description. But I will provide soon.

About This Instructable

5,242views

17favorites

License:

Bio: Electronics and Telecommunication Engineer, Software Engineer, Hobbyist
More by Subhajitdas298:Liquid Level Sensor (using Ultrasonic)Wireless AVR Programmer (WiFi)Rotary Car Parking System
Add instructable to: