Configuring the MakerHawk Heltec ESP32 LoRa Development Board for Arduino IDE

This guide runs you through the basic steps to configure the Arduino IDE for the MakerHawk Heltec ESP32 LoRa Development Board.

What is the MakerHawk Heltec ESP32 LoRa Development Board

Top of the MakerHawk Heltec ESP32 LoRa Development Board

The MakerHawk Heltec ESP32 LoRa Development board combines an ESP32 microcontroller with a LoRa node chip, and display panel. This has the power of something like an Arduino with the additional features of Wi-Fi, Bluetooth, and LoRa support.

The ESP32 provides Wi-Fi (802.11 b/g/n) and Bluetooth 4.2/LE which can be useful to communicate with standard devices. This board also has a LoRa chip which allows communication with other LoRa nodes. This has an advantage over Wi-Fi and Bluetooth as the range is significantly longer.

The ESP32 has two CPU units which means you can power one down and run on a small amount of power. Then you only need to wake and power the primary CPU when more intensive work has to be done. This can extend the life of the microcontroller when on batteries significantly.

Bottom of the MakerHawk Heltec ESP32 LoRa Development Board

This development board has the ability to run on a Lithium battery which it will charge up when connected to a power source. The low power combined with the ability to run off a battery allows this to be placed somewhere without permanent power.

On the top of the board is a small 128*64 OLED display which can display useful information or graphics.

Configuring the Arduino IDE for the MakerHawk Heltec ESP32 LoRa Development Board

I am going to program my ESP32 LoRa development board using the Arduino IDE. To do this I am going to have to install the board software needed to compile my sketches.

You will need to ensure your Arduino IDE is higher than version 1.6.4 as this is the first version that supports alternative boards.

Once you have opened the Arduino IDE you need to go into File -> preferences on the main menu. You will want to insert the board URL in the “Additional Boards Manager URLs” box. If this already has text in it press the button to the right of the box.

Once selected you will want to put the board URL on a new line. The Board URL for this chip is:

https://resource.heltec.cn/download/package_heltec_esp32_index.json

Once this is saved you then need to install the Heltec ESP32 boards to the Arduino IDE. You can do this by going into Tools -> Board -> Boards Manager.

Then in the board manager enter “ESP32” and select the “Heltec ESP32 Series Dev-boards” board set and press the install button. This will download the necessary tools to build software for the Heltec ESP32 board.

Finally you should be able to select the WiFi LoRa 32 (V2) on the Arduino Board dropdown under the Heltec ESP32 Arduino subheading.

Compiling my first program for the MakerHawk Heltec ESP32 LoRa Development Board

Now that I have selected the correct board, the IDE will be able to compile programs written for it. My first test will be the classic Hello World program printing to the Serial port. This will ensure that the Arduino IDE is configured correctly for my ESP32 module.

I am going to use the below code to test it is working.

void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.println("Hello I am a MakerHawk Heltec ESP32 LoRa Development Board");
  delay(2000);
}

This just prints out a simple message on the serial port every two seconds. Once the IDE has the code I can then select the right COM port and press Upload.

You may find that the first time you compile a sketch for the ESP32 it will take a while. This is because the Arduino IDE has to compile all the standard ESP32 libraries however it will cache them for future use.

After running this I can see that it has printed out my message and the Arduino IDE has successfully written my program to the ESP32.

Now this is working I will look at testing the Heltec library on the ESP32.

If you have any questions configuring your ESP32 feel free to ask in the comments below.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.