1. Introduction
This manual provides comprehensive instructions for setting up and operating your ideaspark ESP32 1.9 inch LCD Development Board. This board integrates a powerful ESP32-WROOM-32 module with a vibrant 1.9-inch ST7789 TFT LCD display (170x320 pixels). It offers Wi-Fi and Bluetooth connectivity, 16MB of flash memory, and a CH340 USB-to-serial chip for convenient programming via a Type-C USB port. It is designed for use with Arduino and Micropython environments, making it suitable for a wide range of embedded projects requiring a compact display and wireless communication capabilities.

Figure 1: ideaspark ESP32 1.9 inch LCD Development Board
2. What's Included
Your package should contain the following:
- 1 x ideaspark ESP32 1.9 inch LCD Development Board
Note: The board is available in two variants: 'Solder PIN' (with header pins pre-soldered) and 'Not Solder PIN' (requiring user soldering of header pins).
3. Specifications

Figure 2: Board Dimensions
| Feature | Description |
|---|---|
| Brand Name | ideaspark |
| Type | Logic ICs |
| Condition | New |
| Origin | Mainland China |
| High-concerned chemical | None |
| Module | ESP32-WROOM-32 |
| Flash Memory | 16MB |
| USB-to-Serial Chip | CH340 |
| USB Interface | Type-C |
| Wi-Fi Standard | 802.11 b/g/n |
| Bluetooth | v4.2 BR/EDR and BLE |
| Operating Voltage | 3.3V |
| Logic Voltage | 3.3V |
| LCD Driver IC | ST7789 |
| LCD Resolution | 170x320 pixels |
| LCD Interface | 4-wire SPI |
| LCD Display Area | 24.91 x 41.49 mm |
| LCD Pixel Pitch | 0.1465 x 0.1465 mm |
| LCD Viewing Angle | Full viewing angle |
| LCD Brightness | 400 cd/m² |

Figure 3: Pinout Diagram
Pinout Notes:
- GPIOs 4, 16, 17, 34, 35, 36, 39 are input only. GPIO pins are Input and Output.
- TXD (GPIO1) and RXD (GPIO3) are used for USB programming.
- TX2 and RX2 can be used for Serial.
- DAC: Digital-to-Analog Converter. ADC: Analog-to-Digital Converter.
- Default SPI is VSPI. Both VSPI and HSPI pins can be set to any GPIO pins.
- All GPIO pins support PWM and interrupts.
- Some LCD pins are not shown.
- Some GPIO pins are used for interfacing flash memory and thus are not shown.
- ideaspark ESP32 Board pins name and function are the same as "ESP32 DEVKIT V1".
4. Setup Instructions (Arduino IDE)
This section guides you through setting up your ideaspark ESP32 1.9 inch LCD Development Board with the Arduino IDE.
Video 1: Product Overview and Demonstration

Figure 4: Arduino IDE Setup Guide
- Web Search CH340 Driver: Search and download the appropriate CH340 driver for your operating system. This is recommended for Windows 10 OS.
- Add Boards Manager URLs in IDE:
Open the Arduino IDE. Go toFile > Preferences.
In the 'Additional Boards Manager URLs' field, add the following URL:https://dl.espressif.com/dl/package_esp32_index.json - Install ESP32 Board Package:
Go toTools > Board > Boards Manager.
Search for "esp32" and install the "esp32 by Espressif Systems" package. - Select ESP32 Board:
Go toTools > Boardand select "ESP32 Dev Module". - Include Library:
Go toSketch > Include Library > Manage Libraries. - Install "ST7789" Library:
In the Library Manager, search for "Adafruit ST7789" and install the "Adafruit ST7789 and ST7735 Library". Ensure all necessary dependencies are also installed. - Set Board and Processor:
Configure the following parameters underTools:- Board: ESP32 Dev Module
- CPU Frequency: 240MHz (WiFi/BT)
- Flash Mode: QIO
- Flash Size: 4MB (12MB)
- Partition Scheme: Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
- Core Debug Level: None
- PSRAM: Disabled
- Arduino as ISP: No
- Events Run On: Core 1
- Sample Code:
Copy and upload the following sample code to test the display. For image display source code, visit: https://github.com/GJKJ/ESP3219LCD#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>
#define LCD_MOSI 23
#define LCD_SCLK 18
#define LCD_CS 15
#define LCD_DC 2
#define LCD_RST 4
#define LCD_BLK 32
Adafruit_ST7789 lcd = Adafruit_ST7789(LCD_CS, LCD_DC, LCD_RST);
void setup() {
lcd.init(170, 320);
lcd.fillScreen(ST77XX_BLACK);
}
void loop() {
lcd.setTextSize(3);
lcd.print("Hello, ideaspark");
delay(100000);
}
5. Operating Instructions
The ideaspark ESP32 1.9 inch LCD Development Board is a versatile platform for various embedded projects. Once set up with the Arduino IDE or Micropython, you can program it to perform a multitude of tasks:
- Display Graphics and Text: Utilize the ST7789 LCD to show sensor data, user interfaces, animations, or custom graphics. Refer to the Adafruit GFX and ST7789 libraries for display functions.
- Wi-Fi Connectivity: Connect the board to your local Wi-Fi network or create an access point. This enables IoT applications, web servers, and remote control functionalities.
- Bluetooth Communication: Use Bluetooth Classic or Bluetooth Low Energy (BLE) for short-range wireless communication with other devices, such as smartphones or sensors.
- GPIO Control: Access the various General Purpose Input/Output (GPIO) pins to interface with external sensors, actuators, buttons, and other electronic components. Refer to the pinout diagram (Figure 3) for specific pin assignments.
- Analog and Digital I/O: Leverage the Analog-to-Digital Converter (ADC) and Digital-to-Analog Converter (DAC) capabilities for analog signal processing.
For detailed programming examples and API references, consult the official Espressif ESP32 documentation, Arduino ESP32 core examples, and Micropython documentation.
6. User Tips
- Soldering Pins: If you purchased the 'Not Solder PIN' variant, ensure you have basic soldering skills or seek assistance. Proper soldering is crucial for reliable connections.
- Flash Memory: The 16MB flash memory is integrated on the ESP32-WROOM-32 module and is used for storing your program code, firmware, and data (e.g., for SPIFFS file system). It is already mounted and ready for use.
- Wi-Fi and Bluetooth: To utilize Wi-Fi or Bluetooth, you will need to write code that implements these functionalities. The Arduino ESP32 core and Micropython provide extensive libraries and examples for Wi-Fi station/AP mode and Bluetooth Classic/BLE communication.
- Video Playback: While the display can show images and animations, the ESP32 and this small display are not optimized for high-quality video playback. Simple, low-resolution, low-framerate video clips might be possible with significant optimization and specific libraries, but it's primarily intended for static images, UI elements, and data visualization.
- Power Supply: Always ensure a stable 3.3V power supply. The Type-C USB port can power the board during development.
7. Troubleshooting
- Q: What is the difference between 'Solder PIN' and 'Not Solder PIN' options?
- A: The 'Solder PIN' option means the header pins are pre-soldered onto the board, making it ready for immediate use with breadboards or female jumper wires. The 'Not Solder PIN' option means the header pins are not soldered, allowing you to choose your preferred connection method (e.g., soldering directly to a PCB, using different types of headers, or not using headers at all).
- Q: The 16MB flash memory, is it for additional memory or already mounted?
- A: The 16MB flash memory is already mounted and integrated into the ESP32-WROOM-32 module on the board. It serves as the primary storage for your program code, firmware, and any data you wish to store (e.g., using the SPIFFS file system).
- Q: How can I connect this ESP32 to Wi-Fi or Bluetooth?
- A: Wi-Fi and Bluetooth functionalities are enabled through programming. You will need to write code using the ESP-IDF framework or the Arduino ESP32 core libraries. There are numerous examples available online for connecting to Wi-Fi networks (station mode), creating an access point (AP mode), and establishing Bluetooth Classic or Bluetooth Low Energy (BLE) connections.
- Q: Can videos be displayed on this board?
- A: While the display is capable of showing dynamic content, the ESP32 and its small display are not primarily designed for high-definition video playback. It can handle simple animations, GIFs, or very low-resolution, low-framerate video clips with optimized code. For complex video, a more powerful processor and dedicated video hardware would be required.
- Q: What software should I upload to make NerdMiner work on this board?
- A: For specific applications like NerdMiner, you should refer to the official NerdMiner project documentation or community resources. They typically provide detailed instructions on compatible hardware, firmware compilation, and upload procedures. The general Arduino IDE setup provided in this manual is a prerequisite for uploading any custom firmware.
8. Warranty and Support
For warranty information, please refer to the seller's policy at the time of purchase. For technical support, programming resources, and community forums, please consult the following:
- Espressif Systems Documentation: Official documentation for the ESP32 microcontroller.
- Arduino ESP32 GitHub Repository: For Arduino core and examples.
- Micropython Documentation: For Micropython firmware and programming guides.
- Online Forums and Communities: Websites like Stack Overflow, ESP32.com, and various maker forums offer extensive community support.
Always ensure you are using the latest stable versions of drivers, IDEs, and libraries for optimal performance and compatibility.