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

BMPWindows Bitmap Format
JPEGJoint Photographic Experts Group
PNGPortable Network Graphics
TGATruevision 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)
ZFill
XRectangular 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 + NNew ...
LCTRL + S / LCTRL + LSHIFT + S
Save ... / Save as ...
LCTRL + OOpen ...
LCTRL + BGrab image from clipboard
DELETEErase canvas
ESCAPEClose software

MOUSE

POINTER (OPTIC / LASER / MOUSEBALL / TOUCHPAD / TOUCHSCREEN / PEN TABLET)Cursor
PEN PRESSUREPaintbrush / Eraser (thickness 1-3)
LEFT-CLICKDraw /  Tool selection
RIGHT-CLICKSuspend draw (press) / Restart draw (release)
DRAG AND DROPLoad image

KEYBOARD + MOUSE @ POINTER

LSHIFT + LEFT-CLICK @ SAVE ICONSave 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)
GROUNDGND (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.

Download

Download
PCD8544 Paint 2024.10.20 [Windows].zip 37 MB

Development log

Leave a comment

Log in with itch.io to leave a comment.