I'm new to Raspberry Pi and I'm trying to get a hang of the GPIO and all that. I bought a LCD-display 16x2 with 4 buttons (http://tinyurl.com/p4kjc3z).

I bought this one because it fits the first generations but after trying getting it to work, I later discovered that the B+ model has same pins as the second generations.

My question is: Can I re-map the pins in python and get it to work, or is it impossible?


product description in English:

  1. Blue/white LCD-display 16x2 symbols
  2. includes 4 buttons
  3. Only use 2x I2C pins (Edit: apparently it does not!)

The board with the LCD is mounted on top of the board with the buttons. On the LCD board there are 16 pins passing trough the lower board they have latter there match much code I have found online, while researching this.

The code are variable names to indicate GPIO to LCD lines.

The letters are as following (Also see image on webisite):

  • VSS
  • VDD
  • VO
  • RS
  • RW
  • E
  • D0
  • D1
  • D2
  • D3
  • D4
  • D5
  • D6
  • D7
  • A
  • K

The pins on the lower button board counts a total of 26 and as far I can see the pins from the top LCD board are passed thoug it.

I have tested the buttons by following the guide from the website and they all work great. Whene im turning on the PI the LCD lights up, so i guess the power part are working. However I can't get any output to the display, I have follow alle the code and tut from the guide, with no error in the code itself.

Here is the code from the guide, to assign output. I'm not sure if it has any value.

#OUTPUTS: map GPIO to LCD lines 
LCD_RS              = 7         #GPIO7  = Pi pin 26 
LCD_E               = 8         #GPIO8  = Pi pin 24 
LCD_D4              = 17        #GPIO17 = Pi pin 11 
LCD_D5              = 18        #GPIO18 = Pi pin 12 
LCD_D6              = 27        #GPIO21 = Pi pin 13 
LCD_D7              = 22        #GPIO22 = Pi pin 15 

#INPUTS: map GPIO to Switches
SW1                 = 4         #GPIO4  = Pi pin 7
SW2                 = 23        #GPIO16 = Pi pin 16
SW3                 = 10        #GPIO10 = Pi pin 19
SW4                 = 9         #GPIO9  = Pi pin 21

Here are hi-res images. SEE WEBSITE OR COMMENT. CAN'T POST LINKS! lol.

  • 1
    Hello and welcome. Could you possible provide an english data sheet to the product in question? There are four documents linked on the conrad page but none seem to contain the schematics of the board. How the thing is wired would be important to determine how to fix it up with the B+. Note that the image on conrad shows the module plugged to a newer Pi (a B+ or 2) since it has 4 USB ports and the longer GPIO connector.
    – Ghanima
    Commented Dec 25, 2015 at 21:13
  • @Ghanima I'm not sure i will be able to finde any "blueprints", but I will update the post with all that data find and images of it.
    – Nygaard
    Commented Dec 25, 2015 at 21:54
  • img1 - img2 - img3 - img4
    – Nygaard
    Commented Dec 25, 2015 at 22:33
  • This seems to be the same hardware - the code for these displays talks to a HD44780 type interface, involving a certain amount of bit twiddling as it must be operated in a nibble (4-bits at a time) mode by setting the right values for D4-D7, setting RS to the right state (one for a command / the other for a data i.e. character) and pulsing E from one state to the other and back to the first for EACH half a byte of data to be transferred.
    – SlySven
    Commented Dec 26, 2015 at 0:54
  • 1
    I feel stupid.. All i need to do was turn that little screw... Thanks againg, @SlySven
    – Nygaard
    Commented Dec 26, 2015 at 1:37

1 Answer 1


Outgoing ports for GPIO to LCD lines on Raspberry Pi B+ & version 2:

LCD_RS = 7
LCD_E = 8
LCD_D4 = 17
LCD_D5 = 18
LCD_D6 = 27
LCD_D7 = 22

Outgoing ports for GPIO to LCD lines on Raspberry Pi version 1:

LCD_RS = 7
LCD_E = 8
LCD_D4 = 17
LCD_D5 = 18
LCD_D6 = 21 #Has changes
LCD_D7 = 22

Note: When using the display first time, you have the turn the small screw on top of the blue box, until the output is visible. Turning the screw will adjust the contrast.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.