HD44780 20x4 issue (showing all squares)

gave him directly 3.3V

Most HD44780-compatible lcds require ~4v (vs. Vdd) on the Vo for the contrast to work - check the datasheet.

For a 3.3v powered-lcd, that means you will need to apply -0.7v to the Vo pin for the display to show anything. That can be easily created by a pwm output on a charge pump circuit (two diodes + capacitors). the pot will be bridged between +3.3v (or gnd) and the output of the charge pump circuit, with the wiper going to the Vo pin. It has the added benefit of being able to software set the contrast.