For the screen we can use: WINGONEER Raspberry Pi 3.5inch 800×480 60fps, which uses the GPIO. I think the documentation for this can be found in the raspi-wiki on this page. Assuming that this is the right display, then we need to write the following into the /boot/config.txt file.
#for raspberry pi 3b+/3b/2b+/b+ dtoverlay=dpi18 overscan_left=0 overscan_right=0 overscan_top=0 overscan_bottom=0 framebuffer_width=800 framebuffer_height=480 enable_dpi_lcd=1 display_default_lcd=1 dpi_group=2 dpi_mode=87 dpi_output_format=0x6f005 hdmi_timings=480 0 16 16 24 800 0 4 2 2 0 0 0 60 0 32000000 6 display_rotate=3
For the Battery I think we can use this UPS hat. Since it stacks, I think that means we can use a Raspberry Pi 3 (and underclock it down to match the Pi Zero), to get wifi and bluetooth. I don’t think we need the Raspberry Pi 3B+ or 4, since we generally don’t need the heat or extra power, since we’re generally going for 2d at 800×480.