How to upload code to an Arduino Nano once the custom PCB is designed and ordered
If your code doesn't need USB to run (e.g., it doesn't read or print to serial) and only uses USB to upload code, you actually did the &quot;right&quot; thing by not adding a usb to the board.
You can, instead, use the native ICSP interface to upload code. You don't need a bootloader at all (the bootloader is the thing that allows you to upload code &quot;normally&quot; over usb). You'll still use your computer's USB port, but the atmega's ICSP.
See instructions at: https://www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoISP
Specifically the description about what is an ICSP and bootloader. The circuit diagram you need is above the text &quot;This Arduino NANO is programmed through its ICSP connector with wires coming from D10-D13 of the programmer UNO board.&quot;