I am Mohamed Hafz the representative of EmbedX Team, EmbedX is a freelancing team that provide wide range of services including:
- Embedded systems design
- IOT applications and related cloud services
- Prototyping
My team is fully aware of various microcontroller architecture including AVR, PIC, 8051 and ARM based MC.
I recently made a project similar to your but i was uploading the hex using bluetooth module.
I have more than one proposed solution to make you project:
1-Device with usb and SD card:
you will put the HEX file on the SD card the connect the device through the usb to arduino and click on a button to start download the program. "we can add some features like lcd to select from mutiple HEX files on same SD and give you indication for downloading"
2-Device with bluetooth and andriod application
the device will be connected to the arduino, and andriod application will connect to the device, then select the hex from you phone and upload it to arduino.
In these two proposed solutions i prefer to use ATtiny to make the device as small as possible.
I hope you contact me to discuss these ideas in more details, thanks in advance.