Newhaven NHD-C0220AZ-FSW-FTW

You really should post a link to the datasheet for your display. Most LCDs are compatible with the Hitachi HD44780 controller but some of the New Haven displays differ, so it is important to have the correct datasheet.

Your code would be easier to read if you took advantage of the formatting abilities of the forum software. Highlight the section of your post that represents code and then press the 'Code' button which looks like '#'.

I cannot get a thing out of it; not even an indication that it sees power even though there is 3.3V to it.

I can't speak for the New Haven Displays but most of the others will show a single row of blocks if you connect pins 1, 2, and 3 and adjust the contrast.

Your initialization sequence does not look familiar.

Your use of the Enable pin does not look familiar either. Normally 'E' is kept low since it must be low while you set up RS and R/W and kept low for a short time after those two lines are set up. Most programmers also set up the data lines while E is low but you can drive it high first and then set up the data (this is how the timing diagrams show things). E must be high for a designated amount of time and then you drive E low at which time the actual data transfer takes place. You must keep the data stable for some time after E goes low. So if you were to look at the E line with an oscilloscope it would be low almost all of the time and it is pulsed high, then low again to transfer data.

Don