All the of 16x2 LCD projects I've seen use 4-bit transfer but the displays typically have an additional 4 pins for 8 bit transfer.
I haven't yet seen an example / tutorial that doesn't leave those 4 unused pins floating.
From what I've read, leaving pins floating is widely discouraged, so does it make sense to tie the extra 4 pins to GND?
@mikedb Maybe I'm using the wrong terminology. I thought if a pin was refered to as "floating", it wasn't electrically connected to anything. So if they're connected to GND, they're not floating?
@2112 Yes, that's what I meant. I'm interested in the implications of connecting those pins to GND, even though I've not seen any suggestion they they should. Would it be good or bad?
I can't answer that. I found a note in LiquidCrystal.cpp that states:
// When the display powers up, it is configured as follows:
//
// 1. Display clear
// 2. Function set:
// DL = 1; 8-bit interface data
// N = 0; 1-line display
// F = 0; 5x8 dot character font
// 3. Display on/off control:
// D = 0; Display off
// C = 0; Cursor off
// B = 0; Blinking off
// 4. Entry mode set:
// I/D = 1; Increment by 1
// S = 0; No shift
//
// Note, however, that resetting the Arduino doesn't reset the LCD, so we
// can't assume that it's in that state when a sketch starts (and the
// LiquidCrystal constructor is called).
It's in 8 bit mode until
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
sets it to 4bit mode. I do not know if it writes to the lower 4 bits between power up and the lcd object.
Sacrifice a display. Connect it as you wish and try it. After 10 or so power and brown out cycles, if the display survives I'll say you're good.
Let us know what happens.
Your worse case would be a brown out where the display resets and the Arduino did not. Simulate that by temporarily removing power from the display while the Arduino stays powered.
so, you have no problem but despite of this you have a wish everything to ground and now your problem is to guess what problem may this cause. very contra productive.
There's an island in the GND fill that i just can't find a way to eliminate without vias and jumpers. If I connect the LCD's unused "8 port" pins (D0-3) to GND, I might be able to eliminate that island.
I'm pretty confident a single jumper wouldnt remotely be a problem - it's just become a challenge to find a way to avoid it.
I've not had time to even try that routing yet, so it might not work, but I fuigred there's no point trying if someone can definitively say it's a bad idea.