Ardbox GPRS and Ardbox WIFI & BLE uses the SPI pins MISO and MOSI to communicate with the module GPRS Sim800L and the module WIFI ESP32. For that reason, while using these modules, the SPI communication is disabled for other purpose.
In order to burn the bootloader, Arduino has established that the way to communicate two Arduinos is by SPI communication. So, it's necessary to disable the modules. For this purpose we have the Pin2. Connecting Pin2 to ground we can disable the modules GPRS/WIFI and use SPI communication pins.
NOTE: This tutorial can be followed for all the IndustrialShields familiy devices except with the Ardbox DALI and Ardbox WiFi (NOT DO IT WITH THESE TWO DEVICES). With the Ardbox GPRS, you have to disable the GPRS module as it will be explained.
Burning the Bootloader
There are different ways to burn the Bootloader of our Ardbox GPRS/WIFI. The most important thing is to use an Arduino board which has SPI communication. So, it's possible to use M-Duino or Ardbox because they are based on Arduino Mega and Arduino Leonardo respectively. The Arduino board, M-Duino or Ardbox is the burner.
In this case, we use an Ardbox as a burner. Ardbox Analog or Relay, it doesn't matter. In the Ardbox burner we have to upload a program from Arduino. Open Arduino IDE. Go to File -> Examples -> 11.ArduinoISP -> ArduinoISP.
You have two change the two Reset defines.
#define RESET 10 // Use pin 10 to reset the target rather than SS
#define RESET 4
#define RESET 2 // Use pin 10 to reset the target rather than SS
#define RESET 2
Now you are in position to UPLOAD the program to the Ardbox Burner.
Once is uploaded make the connections. Connections:
|Ardbox burner||Ardbox GPRS/WIFI|
Once you have the connections made, disable the GPRS or WIFI module connecting Pin2 from the Ardbox GPRS/WIFI to ground. Here you have a diagram:
Now you can burn the Arduino Leonardo of the Ardbox GPRS/WIFI. For that, having the Ardbox Burner connected to the PC, go to Tools -> Programmer -> Arduino as ISP.
Now burn the Bootloader. Go to Tools -> Burn Bootloader.
This process will take some time. If everything went well, you will see a success message.