New member
I ran into some limits with Python and connecting to USB LCDs, communicating over the USB port itself. Python offers ctypes, which provides a bridge over to C libraries. One USB library just simply wouldn't work alongside Python's threading system, and the other library had a bunch of memory leaks. So now I've pretty much scrapped the Python-based LCD controller. It controls all the Crystalfontz LCDs and Pertelian 100%. I stopped coding on it when I gave up with the USB-based picoLCDGraphics. For one, a 16348 long frame buffer really slowed things down to a crawl. GTK was dropping a lot of instructions. It wouldn't even perform a transition, since it has to write to every single pixel. Indeed, I found Python's limits when considering graphics and USB LCDs. You should have seen the CPU time it was consuming trying to run the graphics LCD. lol

I've started one written in C++, using Google's v8 Javascript engine and JSON for configuration. It's really going smoothly so far. I know a college course worth of C++, which isn't saying much considering the liberal arts college I attended, which had a mediocre CS department. On top of that, I forgot almost everything outside of general concepts. So I'm learning a lot of C++ along the way. I'm pretty excited about this controller, mainly because it'll be able to do what the Python program couldn't in terms of graphics and USB-based LCDs.
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
Last edited:


New member
Getting there. The Crystalfontz driver isn't finished yet. I'll get to writing the drivers once other things are finished.



New member
I just finished much of the graphic display support. Here's a demo of what can be done.

It's a little slow transitioning right now because of copying buffers. libvisual has some assembly code for this very purpose that I'll probably borrow. There may be other options that'll speed it up as well. We'll see.

CF Tech

Wow. Looks great. Can you do a video of an actual LCD? Like do you have a camera that will take video?


Bravo! That's some very impressive work you've done! Thanks for sharing.