pydisplaypydisplay is a portable graphics library for small monochrome graphic displays. It supports many popular controllers for graphic LCDs, VFDs, OLEDs, and ELs.

'Portable' means anything that pyparallel or libusb runs on. Pydisplay has been tested on Ubuntu and Windows XP.

The library has a common interface that is compatible with the ImageDraw module of the Python Imaging Library. A two-layer driver model means that any display can be used either with the common library framework, or independently for access to the native hardware interface.

Download the current release

What's new

Version 0.2.0 now available for download

It's been a long time since the last release, but pydisplay development is still a going concern. There have been big improvements in the sample scripts. Windows testing is now more routine, although new features will still tend to show up on Linux first. More USB development has been done, including KS0108 support for the latest released firmware for the USB Bit Whacker.

Windows

Pydisplay will now install and run on Windows XP. USB displays do not work on Windows yet, but all parallel port displays should. Note: for some reason pyparallel/giveio run much faster if you reboot after installing them. I have no idea about Vista.

USB

I'm pleased to announce the inclusion of support for USB-connected displays. The USB Bit Whacker is a PIC18F24xx board that you can build yourself or buy here. The first display to get support is the KS0108, but others will be forthcoming.

Another USB option is the FTDI interface, either the FT232R or FT245R. The first displays to get support are the Planar EL320.240 and Noritake GU7000, but others will be forthcoming. You can buy breakout boards for these from DLP Design or Spark Fun.

Sample scripts

Pydisplay is meant to be a graphics library, but there are some fun and possibly useful sample scripts to go along with it. They are meant to be examples, and they may or may not work for you.

linuxstat.py is a script for computer case displays. The display cycles through three screens.

The first has some host info:

...then some CPU info:

...then some storage info:

Of course, you still want to be alerted when interesting events happen, like the mail:

superclock.py is a network-connected clock. It shows current weather conditions. It has an smooth-scrolling RSS ticker for stocks, weather, and news. It shows an alert when new mail arrives in your gmail account, and shows the unread inbox count on the main page. Superclock works with GU300, GU3900, SED133x, and USB/Planar EL320.240 displays.

Superclock with a bluetooth-serial-attached GU3900 is now known to work on Mac OS X. Watch for more Mac support via USB.

USB displays

  • Planar EL320.240 (FTDI FT232/245)
  • Samsung KS0108 or Hitachi HD61202 (USB Bit Whacker)
  • Seiko/Epson SED1330, SED1335, or S1D13305 (USB Bit Whacker)
  • Noritake T-series Vacuum Fluorescent Displays (USB-TTL)
  • Noritake GU7000 Vacuum Fluorescent Displays (FTDI FT232/245)
  • Noritake GU3900 Vacuum Fluorescent Displays (FTDI FT232/245, USB-RS232)

Parallel displays

  • Babcock GD120C280 plasma display
  • Toshiba T6963C
  • Samsung KS0108 or Hitachi HD61202
  • Seiko/Epson SED1330, SED1335, or S1D13305
  • Seiko/Epson SED1520
  • Noritake T-series Vacuum Fluorescent Displays
  • Noritake GU7000 Vacuum Fluorescent Displays
  • Noritake GU3900 Vacuum Fluorescent Displays
  • Noritake GU355 and 372 (and possibly other 300 series) VFDs
  • Noritake GU128x32-311 Vacuum Fluorescent Display

Serial displays

  • Noritake T-series Vacuum Fluorescent Displays
  • Noritake GU7000 Vacuum Fluorescent Displays
  • Noritake GU3900 Vacuum Fluorescent Displays

Volunteer opportunities

  • Windows system statistics scripts
  • Network statistics scripts
  • Winamp visualization scripts
  • Amarok integration
  • Macintosh testing
  • new display drivers

Coming later

  • Windows USB compatibility
  • Macintosh compatibility
  • Easier wiring configuration
  • Sanyo LC7981 / Hitachi HD61830 (send me one to see it sooner!)
  • Noritake K6xxA
  • Noritake 800

If you would like to see a driver for your display controller, send me one and I'll do it.

SourceForge.net Logo Support This Project