ESPBanking Software by Dumasha

by dumasha05 in Circuits > Arduino

60 Views, 1 Favorites, 0 Comments

ESPBanking Software by Dumasha

ESPBanking Demo video
20260806_133028.jpg

Hello Guys, I am going to present my newest innovation. in the evening I got an Idea of "I have an ESP32 and a TFT Screen, Why not make a banking simulator that we csn use to play around", then it hit me the idea of building it. first I grabbbed my esp32 and a 2.4 inch tft spi st7789 screen. I hooked everything up and then started coding. After debugging, being frustrated like 4 5 times, I finally got the best version I could have.


If you are feeling to bored to listen to this you can watch the Demo video with the features

Supplies

20260806_133028.jpg
  1. 1x ESP32 Development Board (30-pin or 38-pin version)
  2. 1x 2.4-inch ST7789 TFT SPI Display (240x320 resolution)
  3. 1x Breadboard & Jumper Wires (Male-to-Female)
  4. 1x Micro-USB / USB-C Cable (Power & Programming)

Hardware Note: Ensure your TFT display uses the ST7789 SPI driver. Displays using the ILI9341 driver rely on different library initialization calls and will not work with this configuration.

x

Circuit Wiring and Pinout




















































ST7789 TFT Pin ESP32 Pin Description / Signal
VCC 3.3V / 5V Power Input
GND GND Ground
SCL / SCK GPIO 18 SPI Clock (VSPI CLK)
SDA / MOSI GPIO 23 SPI Data Out (VSPI MOSI)
RES / RST GPIO 4 Display Reset Pin
DC / RS GPIO 16 Data / Command Selection
CS GPIO 5 Chip Select (If present on module)
BLK / LED 3.3V / GPIO 32 Backlight Power or Dimming Control

Configuration

Screenshot 2026-08-06 143947.jpg

  1. Open the Arduino IDE and verify that the ESP32 Board Package is installed via Tools > Board > Boards Manager.

  2. Install the required libraries via Tools > Manage Libraries:

    • Adafruit GFX Library

    • Adafruit ST7735 and ST7789 Library

    • ESPAsyncWebServer

    • AsyncTCP

    • ArduinoJson (v7)



  3. CRITICAL BOARD CONFIGURATION:

    The embedded single-page web app and LittleFS file system require extra flash allocation. Go to Tools > Partition Scheme in the top menu and select:

    Huge APP (3MB No OTA / 1MB SPIFFS/LittleFS)



Failure to select the Huge APP partition scheme will result in a flash memory overflow compilation error.

Features Available in My Software

The ESPBanking firmware implements low-level embedded hardware optimizations:




  • Dual-Core Processing (FreeRTOS): Network sockets (Wi-Fi and Async Web Server) are pinned to Core 0, while hardware execution (ST7789 display rendering and accounting math) runs isolated on Core 1.

  • Differential Display Driver: Rather than clearing the full screen buffer on every frame, the ST7789 differential renderer repaints only the specific character bounding boxes that change—delivering crisp, flicker-free status updates.

  • 64-Bit Fixed-Point Math Engine: Currency operations are calculated strictly as 64-bit integers (storing balances as base cents) to eliminate floating-point rounding errors.

  • LittleFS Flash Persistence: Accounts, configurations, and transaction logs are stored directly on internal flash memory with power-loss protection and wear leveling.

  • Embedded Security Engine: Features runtime SHA-256 password hashing, hardware-generated random session tokens (esp_random), sliding session timeouts, and rate-limited brute-force protection.

Download Source Code

Flash the firmware to your ESP32. Once booted, the microcontroller connects to local Wi-Fi and displays its assigned IP address on the ST7789 screen.



Entering this IP address into any smartphone or desktop web browser on your network loads the embedded dark-mode banking app directly from internal flash memory.



Complete Source Code & Project Files


If you want to skip manual debugging, SPI tuning, and library setup, the pre-configured project bundle, full manual, and repository are available below: