I finally got around to finishing my project of using a PCB to connect a GLCD to an Arduino. Here are the results:
While I like it and the idea of a glcd shield is really cool, and makes hooking up a GLCD
easier, designing a generic glcd shield that
works with many different manufactures glcds is kind of a tough thing to do since
I've seen more than 11 different pinouts of ks0108 modules.
(It requires either holes for multiple 20 pin connectors or a clever layout that allows for some simple jumpering
with a few wires and then some changes to the pin config files).
Pins 1 & 2 and pins 19 & 20 are most problematic since they control power on
most of the GLCDs.
Plug in an incompatible GLCD and you end up with power and gnd going to
the wrong pins and you can smoke the GLCD.
You will need to provide a very clear schematic since not all GLCDs use the same pinout
and the panel itself and the eagle file board layout file does not seem to have any pins labeled.
For the less technical user a schematic won't help so you will need to tell them which
GLCDs work with the PCB or tell them which GLCD panel type, "A", "B", etc....
While I didn't go through all the pins in the board layout it does appear that this board
is for the sparkfun glcd which is panel type 'A' in the glcd library panel table.
Unfortunately, what I've seen and what the ks0108 wiki playground page also seems to indicate
as well is that GLCDs that use power pins that are reversed from
this PCB (pin 1 GND and pin 2 +5v) are quite common but cannot be used
with this PCB/Shield.
--- bill
Good points, thanks for the feedback!
bperrybap:
..or a clever layout that allows for some simple jumpering
with a few wires and then some changes to the pin config files.
I already have an idea on how to modify the design to allow just that...
You will need to provide a very clear schematic since not all GLCDs use the same pinout
and the panel itself and the eagle file board layout file does not seem to have any pins labeled.
This was my first attempt at using Eagle... I wasn't at all certain that the PCB would work, so I didn't bother much with all the finer details like labeling and such. Now that I know it does work, the next version will be more polished.
For the less technical user a schematic won't help so you will need to tell them which
GLCDs work with the PCB or tell them which GLCD panel type, "A", "B", etc....
The next version will be a more generic one, allowing use of different panels using jumper wires or something similar. I will add instructions on the PCB itself on which panels it works with, and how to make it work with different ones.
While I didn't go through all the pins in the board layout it does appear that this board
is for the sparkfun glcd which is panel type 'A' in the glcd library panel table.
That's correct. I've added a note in the blog post and the BatchPCB product page saying just that.
I have the Newhaven ks0108 GLCD display connected to the Arduino Uno with discrete wires. Using the example code in the 'KS0108 Graphics LCD library' for some reason the two halves of the display are reversed from the photo in the above mentioned library. That is, the 'FPS= 9' rounded rectangle is on the right side of the display, while the other rectangle is on the left.
I'm new at this so I ask why this happened?
OK, so how do I figure out which panel I have, A, B or C? I bought this on Ebay & I'm not sure.
The info I do know:
- I am new to electronics (45 yrs old, have known for yrs what a resistor does, known for 2 months how to read one!
) - Type:COB STN Model Number:128x64 Pixels: 128x64: Outline: 93x70x13mm Viewing area: 72x40mm: Dot size: 0.48x0.48mm Controller KS0108 with backlight Blue-white KXM12864J-4 graphic LCD module formation point.
I've looked through all the info that the seller sent (which is pretty lengthy), & it seems like I saw something that made me think that it is a B-type. But, I really don't want to smoke this!!
Any help would be greatly appreciated.
Jeff
Update: I remember where I saw it...Arduino Playground! > KS0108 Graphics LCD library > Wiring and Configuration: > Pinout B panels: > "Digitron SG12864J4 (also appears to need RESET disconnected for uploads) "
Now my Q is: since mine is a KXM instead of a Digitron SG, is Panel-Type still in question or, is the important part "12864J-4"?
Maybe I'm just a little paranoid, but, as I said before, I don't want to smoke this!