PCD8544 Paint
A downloadable tool for Windows
Powered by Python 3.10.5, pygame-ce 2.4.1, NumPy, Pillow, pySerial, tkinter (Tk interface), pywin32, python-paint-program and gouache
Code (Python script, procedural) by Kyuchumimo
UI Graphics by Alexx Dip
CHANGELOG 2024.10.20
- This version is pen pressure sensitive thanks to the wintab32 library and the gouache project. To use this feature, a graphics tablet or pressure-sensitive monitor is required.
- A bar has been added at the bottom to indicate how much pressure is being applied. This only appears when the pressure is greater than 0.
- In case of a hypothetical crash (which is unlikely to happen), the program will automatically close. In the future, a backup function will be implemented in case of a crash.
- Fixed a crash error when using the line tool.
"A custom tool for creating graphics for the PCD8544 LCD display by interacting with microcontrollers"
SUPPORTED IMAGE FORMAT
BMP | Windows Bitmap Format |
JPEG | Joint Photographic Experts Group |
PNG | Portable Network Graphics |
TGA | Truevision Graphics Adapter |
CONTROLS
KEYBOARD
1 | Paintbrush / Eraser (thickness 1) |
2 | Paintbrush / Eraser (thickness 2) |
3 | Paintbrush / Eraser (thickness 3) |
Q | Rectangle |
W | Ellipse |
E | Line |
A | Filled rectangle |
S | Filled ellipse |
D | Eraser (toggle) |
Z | Fill |
X | Rectangular selection |
LCTRL + Z | Undo (up to 50 actions) |
LCTRL + Y | Redo (up to 50 actions) |
LCTRL + V | Preview rectangular selection (release V key to paste rectangular selection at pointer position or release LCTRL key to cancel) |
LCTRL + N | New ... |
LCTRL + S / LCTRL + LSHIFT + S | Save ... / Save as ... |
LCTRL + O | Open ... |
LCTRL + B | Grab image from clipboard |
DELETE | Erase canvas |
ESCAPE | Close software |
MOUSE
POINTER (OPTIC / LASER / MOUSEBALL / TOUCHPAD / TOUCHSCREEN / PEN TABLET) | Cursor |
PEN PRESSURE | Paintbrush / Eraser (thickness 1-3) |
LEFT-CLICK | Draw / Tool selection |
RIGHT-CLICK | Suspend draw (press) / Restart draw (release) |
DRAG AND DROP | Load image |
KEYBOARD + MOUSE @ POINTER
LSHIFT + LEFT-CLICK @ SAVE ICON | Save as ... |
PREVIEW FEATURE
At the moment, the software is only compatible with the Raspberry Pi Pico development board with MicroPython, but there are plans to make it compatible with other MicroPython-compatible development boards such as ESP8266 and ESP32.
This feature works by talking MicroPython REPL commands with the microcontroller using pySerial.
The software can detect if you have more than one serial device connected to your computer (e.g. Bluetooth, USB-to-Serial), in these cases, you must make a selection to continue.
To display the graphics on the LCD, you need to have the micropython-pcd8544 library installed on your microcontroller:
https://github.com/mcauser/micropython-pcd8544
But if you wish, this software can install this library on your microcontroller for you.
The LCD connection pins are fixed for the moment and are as follows:
RESET | GP22 (pin 29) |
CHIP ENABLE | GP21 (pin 27) |
DATA / COMMAND | GP20 (pin 26) |
SERIAL DATA INPUT | GP19 (pin 25) |
SERIAL CLOCK INPUT | GP18 (pin 24) |
SUPPLY VOLTAGE (VCC) | 3V3 (OUT) (pin 36) |
BACKLIGHT | GP17 (pin 22) |
GROUND | GND (pin 23) |
CODE GENERATOR
This feature only appears when you close the software.
This code is only intended to be used in programs written in the MicroPython language for MicroPython-compatible development boards.
Status | Released |
Category | Tool |
Platforms | Windows |
Author | Kyuchumimo |
Tags | Pixel Art |
Download
Development log
- -CHANGELOG-Jun 12, 2023
Leave a comment
Log in with itch.io to leave a comment.