I have a project with a standalone ATMEGA328p. I have been programming it using an AVR MKII ISP programmer. However, it would be great to not have to use this programmer for updating the firmware "in the field". For example, lets say I have new firmware and want the customer using this project in another country to update it with only a USB cable and connection to a computer. Is there a way to simply add a USB connector on this project and connect it to the ATMEGA in some way to allow for this? I assume I would need to burn a bootloader for this (which is fine as I have plenty of program space and startup time isn't critical). I really don't want the expense of having to add an FTDI chip on the project, so that would be a non starter.