ESP Sketch Data Upload Tool

This project uses the SPIFFS (ESP32 flash memory) to store images used as background. You’ll need to upload these to the ESP32 before you upload the sketch to the ESP32. For this you’ll need the ESP32 Sketch Data Upload tool.

You can download this from Github: «». Follow the instructions on the Github to install the tool:

  • Download the tool archive from releases page.
  • In your Arduino sketchbook directory, create tools directory if it doesn’t exist yet.
  • Unpack the tool into tools directory (the path will look like /Arduino/tools/ESP32FS/tool/esp32fs.jar).
  • Restart Arduino IDE.

(On MacOS create the tools directory in ~/Documents/Arduino/ and unpack the files there).

Upload the data folder

Before you upload the data folder to the ESP32, you’ll first have to select the right partitioning scheme.

  1. Go to Tools -> Board and select ESP32 Dev Module.
  2. Still under Tools, select Partition Scheme. -> «Default 4MB with spiffs».
  3. Plug in the ESP32.
  4. Click on Tools and select «ESP Sketch Data Upload».

Tip!: If the data upload fails, chances are you have the serial monitor open. If this happens, close the serial monitor and try again.


On Github you can find the full source code for this project. Go to the Bluetooth-System-Monitor Github repository and click «Code» and «Download .ZIP»:…

Extract and rename the extracted folder to «Bluetooth-System-Monitor». This is so the Arduino IDE does not complain that the folder and the sketch do not have the same name. If this happens, you will get a popup asking you if it should move the sketch. The dangerous thing here is, that it will only move the sketch and not the Data folder. This will result in errors when uploading!

Open the Bluetooth-System-Monitor.ino sketch in the Arduino IDE.

Some settings in the sketch

Firstly, depending on the board you are using (with resistive touch, capacitive touch, or no touch) you will have to uncomment the correct one. For example, if you are using the ESP32 TouchDown uncomment: «#define ENABLE_CAP_TOUCH». If you are using a DevKitC with separate TFT, uncomment «#define ENABLE_RES_TOUCH».

In the sketch you can set some warning levels. This will make the text under the icons red. Scroll down until you see «// Define warning levels, change this as you like». Here you can set some warning levels.

You can also set the scale of the y-axis of the graphs. This is done under «// The scale of the Y-axis per graph». If these are to big or to small, the data will not be displayed correctly on the graph. You might have to experiment with these.

Upload the sketch to the ESP32

Go ahead and upload the Bluetooth-System-Monitor.ino sketch to the ESP32. The settings under tools besides the Partition Scheme can be left to the default (see image). Go to «Sketch» and select «Upload». This may take a while because it is a large sketch.

And now that is done, let’s get our computer to send data to our System Monitor!

Leave a Reply