AnyDisplay Supported Displays

Here’s my initial list of displays which will be supported by AnyDisplay. Currently working on a breakout board for the Sharp MLCD devices which should make these easier to work with.

Display Type Price Size Resolution Colors Controller
Sharp LS013B4DN02 PNLC $20.43 28×32 96×96 Mono
Sharp LS027B7DH01 HR-TFT $45.25 62×42 400×240 Mono
Liquidware Touchshield Slide OLED     320×240 RGB666
EA DOGM128W-6 FSTN $18.00 55×46 128×64 Mono ST7565R
EA DOGXL160W-7 FSTN $35.98 78×61 160×104 Mono UC1610
FSTN $18.55 49×48 160×100 4 bit gray ST7528i
ScreenKey TFT128 TFT n/a 35×30 128×128 RGB565  
Nokia 6100 TFT $4.95 27×27 128×128 RGB565 PCF8833
Osram Pictiva OLED n/a 92×19 288×48 8 bit gray

AnyDisplay: Unified library for graphical displays

OK, I admit it.  I have a weakness for displays.  Most of the projects that I’ve got in the hopper include some sort of graphical display.  While the ubiquitous LCD character display may be inexpensive, I find them to be terribly limiting and, frankly, kind of boring.

Since delving into microcontroller development I’ve managed to get my hands on a pretty decent collection of graphical displays.  I’m currently rather obsessed with the new(ish) MemoryLCD displays from Sharp; look for a subsequent post detailing how to work with these.

One of my frustrations with the current state of graphical displays in the microcontroller realm is the lack of consistency and uniformity in terms of libraries.  Switching displays is a painful proposition; if you are lucky you may find an existing library for the display as a starting point.  The library may or may not be functional, will undoubtably be incomplete, and will most likely have a completely different API than what you are used to.    The GLCD project makes an attempt at supporting several displays, but I’m not fond of the API and adding support for new displays is rather difficult.  Some vendors such as Adafruit do take the time to build simple display libraries for the displays that they sell, but they tend to lack uniformity between displays.

I’ve spent a good deal of time researching and prototyping solutions and have designed a new unified library for graphical displays.  Called AnyDisplay, this library will provide a single, consistent API for integrating graphical displays with Microcontroller projects.  The library consists of a well-fleshed out, well tested API for graphics primitives which is consistent across all displays.  Adding support for new devices requires developing a small driver for device-specific implementations.

Ultimately, this will allow you to easily add cool graphical displays to your projects.  Focus on the product that you are trying to build rather than spending so much time dealing with low-level details.  The consistent API will make experimenting with new displays a much simpler proposition.

Windows 7 – OK, so it doesn’t suck.

July kept me insanely busy.  My daughter underwent extensive surgery at the end of June and had some complications.  She is fine now and recovering well, but the month of July is an insane blur.  In any case, I’m back in the game now and intend on posting lots of new content here.

I picked up a little Asus EEPC 1001PXB for 75 bucks on EBay and it arrived the other day.  Nice little netbook: 10.1″ screen, 6-cell LIPO battery, dual core Atom N450, 2 gigs RAM.  Previous owner sold it cheap because the hard drive had failed.  I replaced the bad drive with a 40 gig OWC Extreme SSD and installed Ubuntu 11 (Natty Narwhal); it’s surprisingly responsive.  Cold boot to usable system in a couple of seconds; sweet!

Those of you who know me are all too familiar with my disdain for Windows.  I’m a grizzled old MCSE from back in the day, and know Windows quite well inside and out.  At one time I was quite proficient with the Win32 API, and made quite a decent living developing custom Windows applications with C++ and Delphi.  I switched from Windows to Mac in 2006 after buying an Intel Mac Pro, and eliminated all things Windows from my home in 2007.  It has been a blissful migration, and I really haven’t missed the platform.

I recently dove wholeheartedly into digital electronics and Microcontrollers; the topics have been on my interest list for quite some time.  After working with the Arduino platform for a couple of months, I decided to dive into straight AVR development.  I really like the platform.  I recently ran into a couple of tools that I wanted to try which are Windows only – specifically the Atmel AVR development suite and the 4D Systems 4GL IDE.  Rather than delving into the ball of pain which is XP, I decided to give Windows 7 a go.

Short review?  It doesn’t suck.

Random Ramblings on Software Development, Electronics, and the Maker Movement