Wireless AVR Programmer (WiFi)

Published

Introduction: Wireless AVR Programmer (WiFi)

About: Electronics and Telecommunication Engineer, Software Engineer, Hobbyist

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

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

  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.


( Donate )

Share

    Recommendations

    • Water Contest

      Water Contest
    • Clocks Contest

      Clocks Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    38 Discussions

    0
    user
    khoriz

    2 months ago

    why in my IDE is no there ESP8266 sketch data upload ?

    1 reply

    Did you add ESP8266 board?

    Installing with Boards Manager

    Starting with 1.6.4, Arduino allows installation of third-party platform packages using Boards Manager. We have packages available for Windows, Mac OS, and Linux (32 and 64 bit).


    • Install the current upstream Arduino IDE at the 1.8 level or later. The current version is at the Arduino website.
    • Start Arduino and open Preferences window.
    • Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.
    • Open Boards Manager from Tools > Board menu and install esp8266 platform (and don't forget to select your ESP8266 board from Tools > Board menu after installation).
    0
    user
    alibbb

    3 months ago

    No, I want to know this micro (Atmega 328) has arduino bootloader ?

    1 reply

    The programmer device we are creating is based on ESP8266. So don't worry for this device.

    The AVRs we are going to program does not require any bootloader, cause we are creating an ISP programmer, which is capable programming AVR directly. No bootloader needed. You can install the bootloader itself using this.

    0
    user
    alibbb

    3 months ago

    hi does it need arduino bootloader for atmega328 p?

    1 reply

    Not necessary. You can directly upload the HEX or use any AVR Programmer.

    i've try the tutorial with nodemcu and arduino, and i can connected nodeMCU with the laptop but when i upload the program (step 6), i got error like :

    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03

    ...

    attempt 10 of 10: not in sync: resp=0x03

    could you help me ?
    thanks before :)

    1 reply

    Did you follow the steps exactly?

    Please provide the connection you are using. Picture or video.

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

    9 replies

    SSID of what?

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

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

    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?

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

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

    You can always PM me for personal queries.

    0
    user
    Joanen

    1 year ago

    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.

    1 reply

    Use:

    https://github.com/Subhajitdas298/ESP_ConfigStorage