How to: 2x16 LCD to Mini

Could you verify my poor wiring and see if I wired this thing correctly before I fire it up. There are couple things I dont even know where they should go like …the LCD has pin 17 (K) and 18(A) I am guessing they will be wired to GND/VDD on Mini? But I have no ideal how.

Could you take a look and see if you could find any issue with the wiring, if there is, could you please kindly download these images and draw the correction for me !!! Will buy you drink next time you come to houston :slight_smile:

thanks, Hai

Those are the backlight pins. Fo not connect these for now and try to make the display work

could you send me picture thu megotnomoney@ please :o, I dont understand


I mean, ignore these pins. You do not need the A and K

So if I remove A and K, all the rest looks ok, is there any wire missing?

Man! i should have bought GHI’s LCD instead, this LCD is should be named FCed (Freaking Complicated)


Yeah those displays are easy but there are a lot of wires to connect.

I think you already have everything connected. We already have drivers so you only need to try it now.

Note that your display can be 5v or 3.3v. Use the correct voltage

You can always switch to using the serial LCD we have. It is only one wire.


You can always switch to using the serial LCD we have. It is only one wire.

If I really need a LCD on my next project, and this LCD turns out too messy for it, I may end up buying a serial LCD from GHI, but at this point I just try to play around with this one and see if I can get it to work.

I think something is missing from my wiring, if you look at the picture below the LCD’s pins: 1,2,3,5 and 16 seem not to be connected to anything. Shouldn’t they be wired to Mini somehow?


I ran in to exception the way it is now

 #### Microsoft.SPOT.Hardware.Port::.ctor [IP: 0000] ####
    #### Microsoft.SPOT.Hardware.OutputPort::.ctor [IP: 0006] ####
    #### GHIElectronics.NETMF.FEZ.FEZ_Components+LCD2x16::.ctor [IP: 0015] ####
    #### FEZ_Mini_LCDTest.Program::Main [IP: 001e] ####
A first chance exception of type 'System.Exception' occurred in Microsoft.SPOT.Hardware.dll
An unhandled exception of type 'System.Exception' occurred in Microsoft.SPOT.Hardware.dll

You have the same pin used in more than one place

There are 2 bread boards used in this wiring, and the boards are currently not connected electrically. i guess my question is how should I link these 2 bread boards together electrically.

NOTE: I updated my last post.

I was talking about software not hardware for the exception. Check your code

I am not sure how to explain bread boards! Come to our office and will explain it to you :slight_smile:

Great!!! I will be there in 5 minutes ;D

What exactly do you mean by connecting the breadboards? If we know more about what it is that you want to do, we can probably give you more accurate help. :wink:

::)ah…ok funny, I guess nobody knows what the heck the software dude were trying to do with these hardwares :D…I don’t blame you. I’ve been trying to get my FEZ-Mini to communicate with my FCed LCD thru 2 pieces of bread boards+some wires (because one piece is too small…It looks small to me)

This is the LCD I used, already pull out all the wires, will retry it tonight. if still not working maybe will send it to the nonrecycle bin or something.


Hi there,

so what does and what does not work? LCDs are a little “tricky” so it might just take a bit of time to get working :frowning: but it’s doable :slight_smile:

I have recently been playing with a 20x4 LCD since I really need the screen realestate and the Fez 2-line LCD wouldn’t cut it for me. Warning: more advanced electronics than you need to know, but I’ll try to point out what’s relevant to you. Take a look at this link [url][/url]. His diagram is more complex than you need, but is great to help in this case (I think anyway). Just note that the way he’s drawn the connectors on the LCD is out of order - the 15/16 are on the end near 1 so you’re only worried about the PIN NUMBER not it’s relative location.

You really need a resistor, variable resistor (trimpot) is best, to adjust the LCD contrast otherwise you may not see things that you display. This is the “1K” three-pin device shown on the diagram. Get one :slight_smile: There are breadboard capable ones - i have one like this [url][/url]

You don’t need the BC548B (yet) or 4094 device. Ignore them for the moment.

(I’ll try to mock this up on a breadboard tonight - 10 + hrs away - and take a photo for you)

You don’t need the wires on pin 15 and 16, they are the backlight, lets just leave them disconnected at the moment.

Often these LCDs need 5v, and wont work with 3v3. We will go thru initially with 3v3 and then if that doesn’t work you may need to go to 5v (and you may need a level translator too, for instance I use an 74LS245 - but lets not get ahead of ourselves too much)

Run a GND wire and a POWER wire from 3v3 from your Mini over to the 2nd breadboard - plug them into different COLUMNS of the grid.

Into the GND column, also plug the wire from LCD1.
Into the PWR column, plug the wire from LCD2.

Plug your trimpot into the breadboard (if you don’t have or don’t get a breadboard one, just solder wires to tags). Run a jumper from the PWR column to one edge of the trimpot, run a jumper from the GND column to the other edge of the trimpot, and then the centre wire runs back to LCD3.

The LCD wires for control (4, 5, 6) and data (11, 12, 13, 14) all go to digital pins - from your pics that is mapped like this:
LCD4 = Di2 (RS)
LCD5 = (not used) (RW)
LCD6 = Di3 (E)

You should consider wiring LCD5 to a pin as well.

Then once you’ve triple checked, turn on your Mini.

Then adjust the trimpot until you can see dark bars on the LCD. If you can’t then you have got something mis-connected or your LCD doesn’t like 3v3. After confirming it’s not a wiring issue, move the PWR link into the Mini’s 5v out pin. Then adjust the trimpot again. Assuming you got it right, you’ll see dark bars - it’s working!

More to come later, get past this point and then we can start thinking about software ! :slight_smile:

This is why we have the “plug-and-play” components that plug right in…no wires nothing to go wrong…just plug and it works. For display, use the serial display for example. Only one wire


I see you suggested this at least couple times, I heard it loud and clear. but i think what you don’t understand is…I’ve been here to ask for helps on how to wire what I have and not to look for a suggestion what i should or should not buy. If One has a car, and doesn’t know how to use it, are you suggesting him to go buy a new one too… please!

Thanks for a very detail instruction. This is what I am looking for.

You need to relax my friend :slight_smile: I was responding to Brett’s comments and not to you! He was saying…"LCDs are a little “tricky” so it might just take a bit of time to get working "

Again, please relax. I did spend a lot of time helping you and did much trying to explain how to use a regular LCD. You seemed very frustrated in your earlier responses and looked like you gave up. I didn’t want you to give up!

ah…ok funny, I guess nobody knows what the heck the software dude were trying to do with these hardwares …I don’t blame you. I’ve been trying to get my FEZ-Mini to communicate with my FCed LCD thru 2 pieces of bread boards+some wires (because one piece is too small…It looks small to me)[/quote]

Again, this is open and relaxed forum as you know so please relax and “do not buy a new car!”
It is very sad to hear such response from you after all the props and help I provided before!

And my “tricky” comment was because I spent a shedload of time playing to get mine working. But it was totally a journey I wanted to take for enlightenment, I learnt so much about so many things, including transistors and level shifting and much much more, including just a little bit about C# which I’m sure is invaluable :slight_smile:

Like you Hai I wanted to make my own LCD work, since I had a few 20x4 ones lying around that I’d bought on ebay and it would be a waste to buy a 2-line version - especially when I would need to actually buy more stuff to make the freight “economical” :slight_smile: Your reasons may not have been the same as mine, but in the end it’s all good and certainly something that is not impossible, just not as Freakin’ EZ as a pre-built shield. But in the words of a recent politician in Australia, “life wasn’t meant to be easy” ([url][/url])

Sorry, haven’t hacked a breadboard up, do you reckon I should? I think the key bit you were missing was the power and gnd rails from the Mini and linking all that up.

Here’s the breadboarded example.

Working from RIGHT to LEFT:

On the far right is the trimpot and it’s three wires, as you can see centre tapped GREEN wire goes to LCD3.

Next is the GND common column. The black wire leading off the bottom of the image needs to go to a GND pin on your Mini.

Next is the PWR column, red wire needs to go to the Mini’s 3v3 (or 5v if 3v3 doesn’t get you anywhere)

Then LCD1 goes to the GND common column.
LCD2 goes to the PWR common.

Green wire from LCD3 = centre tap from trimpot.
LCD4/5/6, Wht/Yel/Ora respectively, go to Fez pins

LCD 11/12/13/14, Wht/Yel/Ora/Blu respectively, are your DATA pins for 4-bit mode.

Once you power up the Fez you can contrast-adjust until you can see bars in some or all of the characters on the display.

Hope that helps


Thanks again for spending mucho time on writing up this detail instructions, I am sure this will help others in need in the future, I actually spent few hours on this LCD but no luck due to various reasons.

  1. The breadboards and wires I have (I didnt buy them) are not the right size for each other so it was very difficult to work with (the LCD I have is not exact the same one you pictured, mine doesnt have pins out made, so it is not plugable to the breadboards)
  2. With the number of wires required to get this LCD work, it is too messy for the project.
  3. An LCD is not essential to what I am trying to do,

That being said, I give it off.

If I need an LCD for the project, I will may go get an serial LCD as Gus suggested.

Thanks again for your helps.