Author: INDUREVOL
A web-based tool for creating custom characters for 16x2 LCD displays used with Arduino projects. This tool provides a visual interface where you can design custom characters on a 5x8 pixel grid and generate the corresponding Arduino code.
LCD displays support a maximum of 8 custom characters. While this tool will generate code for all unique characters you create, only the first 8 characters will actually work on real hardware. This is a hardware limitation of LCD displays, not a limitation of this software.
- 16x2 LCD display simulator with clickable cells
- 5x8 pixel grid editor for each character cell
- Real-time code generation (no manual saving required)
- Support for both I2C and basic (parallel) LCD connections
- Choice between hexadecimal and binary code formats
- Automatic optimization of character usage (detects and reuses duplicate characters)
- One-click code copying to clipboard
- No artificial limits on number of characters in generated code (but hardware limited to 8)
- Cell copy/paste functionality
- Bidirectional animation preview with speed control
- Animation direction selection (left-to-right or right-to-left)
- Synchronized animation controls between preview and code generation
- Simply copy the project files to your computer
- Open
index.htmlin any modern web browser - Click on any cell in the 16x2 display to select it for editing
- Use the 5x8 grid editor to create your custom character:
- Click or drag to toggle pixels on/off
- Changes are automatically saved and code is generated in real-time
- Use the copy/paste buttons to duplicate cell designs
- Control animation preview with the right-side controls:
- Set animation speed with the slider
- Choose direction (left or right) with the dropdown
- Play/stop the animation preview
- Switch between I2C and basic transmission modes as needed
- Choose between hexadecimal or binary code format
- Click "Copy Code" to copy the generated Arduino code to your clipboard
- Paste the code into your Arduino IDE project
The generated code includes:
- Proper LCD initialization for both I2C and basic connections
- Efficient character creation using
lcd.createChar() - Automatic detection and optimization of duplicate characters
- Use of
lcd.setCursor()andlcd.write()for precise character placement - Optional scrolling text animation with configurable direction and speed
This project is licensed under the GNU General Public License Version 3 (GPLv3).
Copyright (C) 2025 INDUREVOL
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.


