Teensy 3.1 with an KS0108 based display(FORDATA FDCG12864B)

Hi.

I've got a teensy 3.1 and a KS0108 based display that I want to play around with. But I've ran into some problems.

I tried hooking it up with the teensy and using openGLCD. But I wont get anything displayed on it. I know the display is working because I used it with my arduino uno(rip, fried with 12V :p). From reading the datasheet it seems like the display wants 5V logic and the teensy is 3.3V logic. I guess thats why I wont get anything displayed.

So my idea was to use an MCP23017 I²c i/o expander. That should deliver 5V logic(powering the i/o expander from teensy Vin (usb) ). I hope that the i/o expander will be fast enough.

So, how do I configure openGLCD to use the i/o expanders pins? And might there be anything else I've missed?

Thanks in advance.

//Flog

While I don't have a Teensy 3.1 I do have a Teensy 3.0
and have tested it with openGLCD.
I wouldn't expect that there would be any issues with Teensy 3.1 but it is possible
there are issues with the library when using a Teensy 3.1

What was reported by the diag sketch?

In terms of switching to using an i2c i/o expander,
as of right now, openGLCD requires using direct pin control and cannot be configured
to use an i/o expander. I have plans to add that but that will be out at the 1.5 or 2.0 version
after the code has been re-factored to separate displays and interfaces into separate classes.

The included openGLCD html documentation includes a special note for Teensy 3.0 as to
how to hook up the data lines.
Given that Teensy 3.1 is 5v tolerant it should not need the series resistors.
The GLCD will be wired up to 5v and the data lines will be wired directly to the Teensy 3.1

If you want to use openGLCD, I can help you but I will need more information.
If you could provide a datasheet for your display and then explain how you have it wired up
and then provide the output of diagnostic sketch, I can try to help you get it up and working.

--- bill

Sorry for the late replay.

Oh thats great!!

Here's the output from the diagnostics sketch:

Serial initialized
--------------------------------------------------------------------
Reported Arduino Revision: 1.0.6
F_CPU: 96000000
--------------------------------------------------------------------
Lib Configuration: openGLCD ver: 0.9.1a build: v0.9.1a
Panel Configuration:ks0108-128x64
Pin Configuration:ks0108-Teensy3
--------------------------------------------------------------------
GLCD:ks0108 DisplayWidth:128 DisplayHeight:64
Chips:2 ChipWidth:64 ChipHeight:64
 CSEL1:3 CSEL2:2
 RW:8 DI:9 EN:7
 D0:16 D1:17 D2:18 D3:19
 D4:20 D5:21 D6:22 D7:23
Delays: tDDR:320 tAS:140 tDSW:200 tWH:450 tWL:450
ChipSelects:
--------------------------------------------------------------------
Reported Arduino Revision: 1.0.6
F_CPU: 96000000
--------------------------------------------------------------------
Lib Configuration: openGLCD ver: 0.9.1a build: v0.9.1a
Panel Configuration:ks0108-128x64
Pin Configuration:ks0108-Teensy3
--------------------------------------------------------------------
GLCD:ks0108 DisplayWidth:128 DisplayHeight:64
Chips:2 ChipWidth:64 ChipHeight:64
 CSEL1:3 CSEL2:2
 RW:8 DI:9 EN:7
 D0:16 D1:17 D2:18 D3:19
 D4:20 D5:21 D6:22 D7:23
Delays: tDDR:320 tAS:140 tDSW:200 tWH:450 tWL:450
ChipSelects:
 CHIP0:(3,1, 2,0)
 CHIP1:(3,0, 2,1)
Data mode: Core-Code
Backlight: <Not configured>
--------------------------------------------------------------------
Diag Loop: 2
Initializing openGLCD
GLCD initialization Failed: RESET wait Timeout (status code: 2)

This is the display I'm using:
http://pdf.datasheetarchive.com/indexerfiles/Datasheets-UD2/DSAUD0021759.pdf

I've got the display wired up according to the wiring section in the documentation.

Hope this information is enough.

Hi again.

Double checked my wiring. Turned out I had cs1 and cs2 on pin 1 and 2 on the teensy and also mirrored en, rw and rs.

Now everything is working!!

Sorry for all the fuzz. I have to get better at this :slight_smile:

Great. Glad to hear it is all working.
--- bill