Computing stuff tied to the physical world

Meet the Graphics Board

In Hardware on Nov 15, 2010 at 00:01

Sometimes, 2×16 characters (or perhaps a few more) just don’t cut it, when I’d like to present things graphically, or use larger fonts for some of the info. That’s when a “GLCD” would be handy, one which lets you set individual pixels, that is. I was pointed to a nice low-power 128×64 display recently, and decided to create a pcb for it – so here’s the new Graphics Board:

Dsc 2258

Due to the size of the board, it’s not a plug or an add-on to a JeeNode, but the other way around: you can take a JeeNode, JeeNode USB, or JeeSMD, and push it onto this board to power and drive the display.

Ports 1 and 4 are used for the diplay, but ports 2 and 3 are available, and brought out in such a way that plugs can easily be added on. To make a clock, add an RTC Plug. To add a few touch buttons, add a Proximity Plug. To create a fancy Reflow Controller, add a Thermo Plug. Or just use it as is and add a sketch to display messages received over wireless. Endless possibilities…

Here’s the display in action, it’s pretty bright when driven from 5V:

Dsc 2278

It can display up to 8 lines of 21 characters, but it’s also fully graphical of course. BTW, in real life the display looks much more white-on-black.

I particularly like this setup, using the AA Power Board to make this thing completely self-powered:

Dsc 2245

The backlight resistor is chosen such that on 3.3V, this display draws ≈ 6 mA, and on 5V it draws ≈ 19 mA. It will last a few days with an AA Power Board, but when the 100 Ω resistor is replaced by 270 Ω or even 470 Ω, you can get well over a week of battery life on a single AA (assuming the JN itself is sleeping most of the time) – at the cost of dimming the backlight to a fairly low level.

There is a solder jumper on the board which normally connects the backlight to the PWR line. By connecting it to the IRQ line instead, that pin can turn off the backlight under software control (or dim it, using PWM).

The display is based on the ST7565 chip and can be driven by Limor Fried’s great ST7565 LCD library. Note that this library uses a 1 Kb RAM buffer.

Here’s the glcd_demo.pde sketch which generates the above display:

Screen Shot 2010 11 14 at 17.20.36

I included logic to put the ATmega and radio into power down mode to let me measure the display’s current consumption. While active, they draw another 5..30 mA.

The Graphics Board is now in the café and the shop.

UpdateHere is a copy of the ST7565 code I use.

  1. Nice board! Btw. there’s a typo in the article (I know you hate them :-) ):

    Due to the size of the board, it’s not a plug or an add-on to a JeeNode, but the other wat <- should be way I guess…

  2. Whoops… thx.

  3. isn’t 1Kb of ram (required by the library) all we have on the mcu ?

  4. Fantastic! Just what I needed to my HTPC and as Ethernet connected prompter! Suggestion for use: Add an adhesive touch sensitive film + an analog plug and you have a complete (infinitely variably) GUI for eg. a CNC machine.

  5. The shop has now more gadgets then a swiss army knife. Great !! Keep on going !

  6. Graphics board… proximity board…

    Hmmmm, where can I get a transparent capacitive membrane, I fancy touch screen!

  7. From the photos it seems like tha aa. Lard might also fit upside down on the other half of the board, right next to a jee node. Is this the case? And will the required pins line up?

  8. This is awesome! If I see correctly, only 4 pins are required to drive this graphical display.

Comments are closed.