The firmware was built with the Arduino IDE. Here's how to set it up:
- Install the Arduino IDE from https://www.arduino.cc/en/software.
- Download this repository as a .zip file (available here: https://github.com/jblanked/FlipperHTTP/archive/refs/heads/main.zip).
- Unzip the file and within that
src/flipper-httpfolder, double-click theflipper-http.inofile to open it in Arduino IDE. - Go to Preferences/Settings, and add the following to the
Additional Boards Manager URLsfield:
https://github.com/earlephilhower/arduino-pico/releases/download/5.5.1/package_rp2040_index.json,https://github.com/Ameba-AIoT/ameba-arduino-d/raw/dev/Arduino_package/package_realtek_amebad_early_index.json,https://dl.espressif.com/dl/package_esp32_index.json
- In
Boards Manager:
- Search for
rp2040and install theRaspberry Pi Pico/RP2040/RP2350package byEarl Philhower. - Search for
esp32and install theESP32package byEspressif Systems. - Search for
realtekand install theRealtek Ameba Boards (32-bit ARM Cortex)package byAmeba-AIoT(this is not available on Linux).
- In
Library Manager:
- Search for
TFT_eSPIand install theTFT_eSPIlibrary byBodmer. - Search for
ArduinoJsonand install theArduinoJsonlibrary byBenoit Blanchon. - Search for
ArduinoHttpClientand install theArduinoHttpClientlibrary byArduino. - Search for
FlashStorageand install theFlashStorage_RTL8720library byKhoi Hoang.
-
Restart your Arduino IDE.
-
Hold the
BOOTbutton while connecting yourUSBdata cable to your board. -
In
Tools, clickBoardand then select your specific board type (e.g.,Raspberry Pi Pico W). Note, theBW16isAi-Thinker BW16 (RTL8720DN)andWiFi Developer BoardisESP32S2 Dev Module -
Select the serial port to which your board is connected to.
-
If you plan on developing/compiling for the PicoCalc, then in the
User_Setup.hfile in theTFT_eSPIlibrary folder (usually located at../../Documents/Arduino/libraries/TFT_eSPI/User_Setup.hor../Arduino/libraries/TFT_eSPI/User_Setup.h) and:
Replace it with the following code snippet:
#define USER_SETUP_ID 60
#define ILI9488_DRIVER
#define TFT_RGB_ORDER TFT_BGR
#define TFT_MISO 12
#define TFT_MOSI 11
#define TFT_SCLK 10
#define TFT_CS 13
#define TFT_DC 14
#define TFT_RST 15
#define TFT_SPI_PORT 1
#define SPI_FREQUENCY 25000000
#define SPI_TOUCH_FREQUENCY 2500000
#define LOAD_GLCD
#define LOAD_FONT2
#define SMOOTH_FONT
#define TFT_INVERSION_ON- Back in the
Arduino IDE, inToolsmenu:
- if you're compiling for a Raspberry Pi Pico device: change the
Flash Sizeto2MB (Sketch: 1984KB, FS: 64KB)(or4MB (Sketch: 4032KB, FS: 64KB)if compiling for a Raspberry Pi Pico 2W device) andCPU Speedto200MHz. - if you're compiling for an ESP32 device: change the
Partition SchemetoMinimal SPIFFS (... with OTA/190KB SPIFFS)andUpload Speedto115200. - if you're compiling for the BW16, change
Auto Flash ModetoEnableandUpload Speedto921600.
- In the
board.hppfile, set your board type by uncommenting your board definition. For example, for a BW16, the line should look like this:
#define BOARD_BW16 10 // AI-Thinker BW16 (RTL8720DN) instead of
// #define BOARD_BW16 10 // AI-Thinker BW16 (RTL8720DN) - Finally, click
Sketchin the menu, then selectUpload.