user54202: Here my sample code for an Arduino Leonardo-based custom board:
#include <LiquidCrystal.h>

const int rs = 3, en = 0, d4 = 4, d5 = 30, d6 = 12, d7 = 6;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() 
{
  pinMode(2, OUTPUT);
  digitalWrite(2, LOW);
  
  Serial.begin(115200);

  lcd.begin(16, 2);
  lcd.print("Hello world");
}
 
void loop() 
{
} 

And here my schematic:

The MCU is an ATmega32U4.
Running the code above the display is completely empty, I also tried to change the values of R4 and R5 but nothing changes. I don't see anything, not even the background of each character.
The display is a common HD44780 compatible one.
I retrieved the pin numbers from here:

/opt/arduino-1.8.19/hardware/arduino/avr/variants/leonardo/pins_arduino.h

Am I missing anything?

user60431: The error is, that V0 has VDD level by the way you connected the resistors. The "lower end" of your ladder needs to be at GND, pin 1.
The pin 15 (A) is the anode of the backlight, and is not connected to the LCD driver circuit. BTW, to lit the backlight, you need to connect pin 16 (K), too. See the data sheet for details.
Use a potentiometer for V0, wiper to V0 and the ends to VDD and GND, respectively.
Just a side note: From the back of my memory, V0 can be commonly connected by a single resistor or directly to GND, since the wiper of the potentiometer was mostly at the GND end. It will give some contrast, depending on the temperature.

54202: <p>Here my sample code for an Arduino Leonardo-based custom board:</p>
<pre><code>#include &lt;LiquidCrystal.h&gt;

const int rs = 3, en = 0, d4 = 4, d5 = 30, d6 = 12, d7 = 6;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() 
{
  pinMode(2, OUTPUT);
  digitalWrite(2, LOW);
  
  Serial.begin(115200);

  lcd.begin(16, 2);
  lcd.print(&quot;Hello world&quot;);
}
 
void loop() 
{
} 
</code></pre>
<p>And here my schematic:</p>
<p><a href="https://i.stack.imgur.com/mTgnx.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/mTgnx.png" alt="schematic" /></a></p>
<p>The MCU is an ATmega32U4.
Running the code above the display is completely empty, I also tried to change the values of R4 and R5 but nothing changes. I don't see anything, not even the background of each character.</p>
<p>The display is a common HD44780 compatible one.</p>
<p>I retrieved the pin numbers from here:</p>
<blockquote>
<p>/opt/arduino-1.8.19/hardware/arduino/avr/variants/leonardo/pins_arduino.h</p>
</blockquote>
<p>Am I missing anything?</p>
 60431: <p>The error is, that V0 has VDD level by the way you connected the resistors. The &quot;lower end&quot; of your ladder needs to be at GND, pin 1.</p>
<p>The pin 15 (A) is the anode of the backlight, and is not connected to the LCD driver circuit. BTW, to lit the backlight, you need to connect pin 16 (K), too. See the data sheet for details.</p>
<p>Use a potentiometer for V0, wiper to V0 and the ends to VDD and GND, respectively.</p>
<p>Just a side note: From the back of my memory, V0 can be commonly connected by a single resistor or directly to GND, since the wiper of the potentiometer was mostly at the GND end. It will give <em>some</em> contrast, depending on the temperature.</p>
