I purchased a Hitachi 20x4 LCD and click encoder by themselves and using the unified firmware on a spare Printrboard. Because im not using the actual Printrbot LCD I don't know what pins are what on the board itself. Ive looked at the schematic and eagle files but I just don't see how they relate to the pin numbers in Marlin. Can someone tell me which pins on the EXP2 connector correlate to these pins in Marlin?

So I had a chance to mess around with the LCD a little more and made slight progress. I came across a link to the Teensylu page with the pinouts for Arduino! Its located at http://www.pjrc.com/teensy/pinout.html . Its under the Teensy 2.0 section. And then I referenced the Printrboard schematic to see what those pins were on the EXP2 connector. Ive attached pictures of the EXP2 schematic and board for reference as well as the Teensylu pictures. So this is what ive got so far.

So PIN7, PIN13, and PIN14 don't match the schematic. The schematic says PC1, PC2 and PC0. They are suppose to be PC6, PC7 and PE6. But there are exactly 3 pins left for my encoder so I assumed that's where I should plug my encoder too, and that's what I did. With everything hooked up like above all I get is 2 lines of yellow blocks that pulse every couple seconds. So im still at a loss. Hopefully you guys can understand my pin layout above.

Thanks,Joey

0

You do not have the required permissions to view the files attached to this post.

After looking at your spread sheet closer your physical EXP2 pin numbers are different from the way the eagle .brd file has them listed. In the picture I have attached, pin number 1 starts on the top right and goes left and pin 8 would be the bottom right. So I decided to try out how I think you have them listed, counting the number 1 pin on the top right, then pin 2 below that and so on. Now I don't get any yellow blocks at all, just blank. Can you explain how you have your physical EXP2 pin numbers listed? I'm starting to think there are settings somewhere else in the firmware that need to be altered. I have #ULTRALCD and #UTILPANEL enabled in config.h and have the pins in my first post entered in the pins.h. Not sure what else to look for.

Thanks Laine for the pictures. I have my LCD and encoder wired already, I just don't know which pins on the EXP2 they plug into and with those pictures I still cant see which wires plug into which pins. Is it possible you could just list them with how they are numbered in the eagle .brd file? Right to left, top to bottom? Or just use what I have listed above and point out the errors?

vdubskey wrote:After looking at your spread sheet closer your physical EXP2 pin numbers are different from the way the eagle .brd file has them listed. In the picture I have attached, pin number 1 starts on the top right and goes left and pin 8 would be the bottom right. So I decided to try out how I think you have them listed, counting the number 1 pin on the top right, then pin 2 below that and so on. Now I don't get any yellow blocks at all, just blank. Can you explain how you have your physical EXP2 pin numbers listed? I'm starting to think there are settings somewhere else in the firmware that need to be altered. I have #ULTRALCD and #UTILPANEL enabled in config.h and have the pins in my first post entered in the pins.h. Not sure what else to look for.

The numbering on the brd png image (http://reprap.org/mediawiki/images/6/62 ... ard300.png) is misleading. The silkscreen numbers represent rows, not pin numbers. Since this is a header and not a DIP, the pins are numbered top left , top right, 2nd left, 2nd right ... (HDR style), instead of left top to bottom and then right bottom to top (DIP style).

Not really. The way you are describing whether I start from left or right, they land on dead pins. Sorry but I'm just not understanding from your reply. Because either way I try your example I land on dead pins. I would love if someone could use the numbering from the brd file image above and fill in the blanks below with GND being PIN1 and +5V being PIN8. If done like that I can visually look at the brd file and know for sure. Thank you guys for the help.

I've looked at the schematic and the board layout, and Tim is correct about the way pins are numbered on headers.

exp2_pins.jpg

In this picture, Pin #1 is adjacent to the silkscreen #1Pin #2 is opposite Pin 1Pin #3 is adjacent to the silkscreen #2Pin #4 is opposite Pin 3Pin #5 is adjacent to silkscreen #3and so on.

I verified this by following Port D Bit 7 (for example) from the ATMEL Pin 32 to Expansion Header 2, Pin 8.

HOWEVER, There is no rational relationship that I can discern between Header pin numbers and Arduino or Teensylu or FastIO pin numbers. Lwalkera and PxT are the gurus who hold the keys to those deep dark secrets. So numbers you see in the header file defining pin numbers are referring to a layer of abstraction translation table that I've never been able to locate.

0

You do not have the required permissions to view the files attached to this post.

here's the pin mapping I used (PB.* = Printrboard EXP2; EXP1.*, EXP2.* are the two headers on the LCD controller, see schematic linked below):PB.1-EXP1.9PB.2-EXP1.10PB.5-EXP1.8PB.6-EXP1.7PB.7-EXP1.6PB.8-EXP1.5PB.10-EXP1.3PB.11-EXP1.4PB.12-EXP2.5PB.13-EXP2.3PB.14-EXP1.2

Yes, I tried the way Jay described above the first time you linked your spread sheet, because that's the only way I wouldn't land on any dead pins using your numbering scheme. The way you described it in your earlier recent reply just wasn't making sense to me the way you worded it.

Either way, hooked up how I have it now I get all blocks and they go blank when I press the encoder down, hooked up the way you described I get nothing and no response from encoder at all. Really at a loss.

I'm confused at what you're looking for at this point. Here is a schematic that should allow the connection of any standard 16pin 20x4 LCD and rotary encoder to the Printrboard EXT2 using the most recent firmware.

LCD.jpg

0

You do not have the required permissions to view the files attached to this post.

Last edited by Tdeagan on 2013-Oct-Fri-11-Oct, edited 1 time in total.

Yes, as I said in my last post I have tried hooking it up exactly as you just posted and get nothing, blank. I'll have to look elsewhere in the firmware for the culprit or troubleshoot the LCD itself if that's the case its not working. Thanks for your help.

one last thing to check. We had very similar problems to the ones you're noting with the shipped Printrbot LCD's. This turned out to be due to them being 3.3V instead of 5V LCDs. This thread talks about how to identify and rectify this problem:viewtopic.php?f=15&t=4903

Last idea, not free, but lots of fun, is to score an Arduino (at Radio Shack or online,) and use it to test the LCD. Having an extra arduino around is always good for the soul.

vdubskey wrote:Yes, as I said in my last post I have tried hooking it up exactly as you just posted and get nothing, blank. I'll have to look elsewhere in the firmware for the culprit or troubleshoot the LCD itself if that's the case its not working. Thanks for your help.

I too was thinking about getting an arduino to test it out and see if the board or LCD is the factor of error, but wanna hold off on spending more money.

The panel is definitely a 5V LCD according to the data sheet. So I know that's not it. But I don't have anything hooked up for contrast. Do think that could be contrast? Because the 2 rows of blocks that I was getting on screen came in nice and bright. I might have to give that a go if I can find a spare trimmer.

I do see one difference now in that last schematic you posted tdeagon. You have two LCDRS pins on the LCD, is one of those suppose to be LCDRW? Because I currently dont have anything connected to the LCDRW pin on my LCD as I didn't see it listed?