# DFRobot_GDL
**Repository Path**: dfrobot/DFRobot_GDL
## Basic Information
- **Project Name**: DFRobot_GDL
- **Description**: DFRobot_GDL is a comprehensive display interactive framework that combines display, touch, and UI.
- **Primary Language**: C
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2021-06-02
- **Last Updated**: 2025-06-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# DFRobot_GDL
DFRobot_GDL is a comprehensive display interaction framework that supports multiple MCUs, supporting display, touch, and UI.
It supports a variety of display ICs and touch ICs. Users can use GDL to drive a wide variety of displays, such as colorful screen, black and white screen, e-ink screen and so on.
GDL is designed to make your project more colorful by making it easier and faster to get started and learn.
## GDL Software
GDL integrates a number of functional components contained in the wiki.
#### GDL WIKI
* [点击此处查看中文wiki](https://github.com/DFRobot/DFRobot_GDL/wiki/中文-WIKI)
* [Click here to check its wiki](https://github.com/DFRobot/DFRobot_GDL/wiki/English-WIKI)
#### Basic Display
* Display graphics: lines, dots, geometry, etc.



* Show graphics
* Supports display of 16-bit, 24-bit BMP images.
* Supports display of 32-bit BMP-format pictures, but because 32-bit
* cannot set the background color, the transparent part is black.
* Support for displaying pictures in jpg format.
* There are some icons available for your reference, please [click here](https://github.com/DFRobot/DFRobot_Icon) to download and
* check.
* Built-in Font
Below is a list of built-in fonts that can be used
* FreeMono9pt7b
* FreeMono12pt7b
* FreeMono18pt7b
* FreeMono24pt7b
* FreeMonoBold12pt7b
* FreeMonoBoldOblique12pt7b
* FreeMonoOblique12pt7b
* FreeSans12pt7b
* FreeSansBold9pt7b
* FreeSansBold12pt7b
* FreeSansBoldOblique12pt7b
* FreeSansOblique12pt7b
* FreeSerif12pt7b
* FreeSerifBold12pt7b
* FreeSerifBoldItalic12pt7b
* FreeSerifItalic12pt7b
* SIMKAIFont12pt
* SIMKAIFont18pt
* SIMKAIFont24pt
* SIMKAIFont36pt
* SIMKAIFont48pt
* SIMKAIFont72pt
* ttf font
* Users can customize fonts by themselves;Its generation and learning files are stored in the
* DFRobot_GDL\src\Fonts\FontCustomScript.
* [Please click here] to learn how to use it.
* (https://github.com/DFRobot/DFRobot_GDL/blob/master/src/Fonts/FontCustomScript/README.md)
#### Touch
* Click/double-click
* Press/swipe
* Gesture operation
* Single point gestures (supported by resistance display and capacitive screens)
* Slide to top, bottom, left and right by one finger
* Multi-point gestures (supported by multi-touch capacitive screen)
* Slide to top, bottom, left and right by two fingers
* Magnify or minify fonts by two fingers
* Rotate fonts by two fingers
* Rotate images by two fingers
#### UI功能
* Slider

* Progress Bar

* Text Box

* Keys


* Table View

* XYZ Control(Not released yet)
## GDL Compatibility
#### Support MCU
The GDL can support a variety of MCUs, and the following table allows you to view the supported MCU models.
GDL | Uno | Leonardo | ESP32 | ESP8266 | m0 | BK7251
----------- | :----------: | :----------: | :----------: | :----------: | :------------: | ------------
Geometric Figure | √ | √ | √ | √ | √ |
BMP Image Decode | √ | √ | √ | √ | √ |
Read SD | √ | | | √ | √ |
Built-in Fonts | √ | √ | √ | √ | √ |
ttf Fonts | √ | √ | √ | √ | √ |
Single-point Touch | √ | √ | √ | √ | √ |
Multiple-point Touch | | | | | |
Gesture Operation | √ | √ | √ | √ | √ |
Slider | √ | √ | √ | √ | √ |
Progress Bar | √ | √ | √ | √ | √ |
Text Box | √ | √ | √ | √ | √ |
Keys | √ | √ | √ | √ | √ |
Table View | √ | √ | √ | √ | √ |
#### Display IC
This GDL supports a wide range of display-driven ICs and resolutions, and supports the DFRobot series screens and Adafruit series screens, the available drivers are shown in the following table.
Product Name | Product Pictures | Link
---------- | :-------------: | --------
1.54" | | [购买链接]()
#### Touch
The GDL supports a variety of touch ICs, and the touch drivers supported are as follows:
GDL: Touch IC | XPT2046 | GT911 | GT5688
---------------- | :----------: | :----------: |------------
## Install GDL firmware
GDL meets the needs of people at different levels of software development. With the GDL library, even users don't have a lot of Arduino or software development experience, they also can achieve cool display.
1. Download Arduino IDE
1. Download GDL code from [github](https://github.com/dfrobot/DFRobot_GDL)
1. Open “basicTest.ino” from files downloaded from `Arduino IDE`.
1. Connect `Arduino Uno`
1. Select Tools>boards:`Arduino Uno` and Tools>Ports: Arduino Uno or other boards
1. Click "Verify/Compile" and "Upload"the code to the board.
## Tutorial Video
This is a 120-minute instructional video designed to help beginners quickyly get started.
1. GDL Introduction - 5 minutes
2. How to donwload and install GDL and basic use - 5 minutes
3. How to use GDL show figures - 20 minutes
4. How to use GDL show words - 10 minutes
5. How to use GDL show pictures - 5 minutes
6. How to use ttf fonts in GDL - 10 minutes
7. GDL Touch Introduction - 5 minutes
8. GDL-Touch basic operation - 5 minutes
9. GDL-Touch gesture operation - 10 minutes
10. GDL UI Introduction - 5 minutes
11. GDL-UI-Text control - 5 minutes
12. GDL-UI-slider/progressbar control - 5 minutes
13. GDL-UI-button control - 5 minutes
14. GDL-UI-Tableview control - 5 minutes
15. GDL-UI-XYZ system control - 5 minutes
## FAQ
1.Q: why some examples cannot run in Arduino UNO/Leonardo?
A: For the lack of store memory, Arduino UNO/Leonardo cannot store the full program. You can try it with other boards with bigger storage memory such as Firebettle-ESP32 and so on. There are introductions in each head fil ino for your reference.
## About Branchs
**Branch: master ** is the latest stable version.
**Other branches** are development versions to store experimental versions that have not been fully tested.
## 待办事项清单
- [ ]坐标系控件
- [ ]教学视频
- [ ]支持屏幕的链接
## Contacts
Please contact us via e-mail addresses as below:
* Ajax.zhong@dfrobot.com
* Ivey.lu@dfrobot.com
* li.feng@dfrobot.com
## Thanks
* Internally integrated Adafruit's [GFX](https://learn.adafruit.com/adafruit-gfx-graphics-library) library.
* The font section refers to the encoding format of [u8g2](https://github.com/olikraus/u8g2)