My team-member is moving to a different city. So how can he upload his codes, when the board is with me, many kilometers away from him. Is there an option of burning the codes in a wireless-mode? If yes, what will be the hardware/software requirements. (this is only for Atmega32 uC)
closed as unclear what you're asking by PeterJ, Hans, Bimpelrekkie, Voltage Spike, Dmitry Grigoryev Aug 31 '17 at 8:43
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
You need to develop a bootloader (or find one that suits you). It is an application that occupies part of MCU flash memory and can write the other part with main application and start your main application. A bootloader can use any variety of communications methods. In your case it could be Bluetooth, GSM, ZigBee, WLAN or a custom protocol with an 868MHz radio.
No, it's generally not possible to update device firmware over wireless, and here's why:
From a security perspective, any interface that allows loading device firmware can be a potential "attack surface". If it is possible to load firmware into the device through some anonymous wireless interface, bad guys will discover this attack surface and will try to exploit the device. Even if it seems like your device doesn't do much, if it has an unsecured internet connection and allows arbitrary code to be inserted by anyone, it's a very tasty target. Many "internet of things" devices, including IP cameras, get hacked because of carelessness.
If the problem was really how to allow firmware to be updated over-the-air, it's possible, but to do it right requires a lot more effort and a much larger team. You'd need a crypto library (don't try to invent your own!) and some certificates and a way to validate that the firmware being received is from a trusted source.
If the problem you're trying to solve is how to do embedded systems (hardware+software) development with a small team, with remote access, there's a better way. Create an account on github.com; this is free/no-cost if you don't mind the files being publicly visible. For a university capstone project that's what I'd do. If this is a professional project under NDA, you can get a private repository for a nominal fee.
Since the project has source code, you'll need an SCM (Software Configuration Management) system like git or subversion anyway, to avoid losing the precious source code when it's crunch time. Either git or subversion is a fine choice; there are lots of SCM systems and they all work well enough. An SCM system keeps historical backups of your project, and lets all team members read and write the same project files, regardless of distance.
You will need a second set of hardware; both the target ATmega32 uC board, and its device programmer board. When your remote team member commits new changes to the github repository, you can grab the latest update through github, and then use your local device programmer to load the firmware onto your remote board.
This also gives you a little bit of "crunch time" protection, in case one of the boards gets smoked you can swap boards.