# Custom Firmware to Programmable S2C OTA

**URL:** <https://forums.digi.com/t/custom-firmware-to-programmable-s2c-ota/17731>\
**Category:** XBee Programamble (S2C & 900 HP)\
**Tags:** codewarrior, ota, code, custom, xbee\
**Created:** [November 29, 2016, 3:45pm UTC](https://forums.digi.com/t/custom-firmware-to-programmable-s2c-ota/17731 "2016-11-29T15:45:37Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![herrmattoon](https://avatars.discourse-cdn.com/v4/letter/h/b2d939/32.png) [@herrmattoon](https://forums.digi.com/u/herrmattoon)\
**Post date:** [November 29, 2016, 3:45pm UTC](https://forums.digi.com/t/custom-firmware-to-programmable-s2c-ota/17731/1 "2016-11-29T15:45:37Z")

</div>

Hi all,

I am able to upload my compiled codewarrior code from the computer to the microcontroler in my s2c xbee device, using the XMODEM protocol.

By reading the API code, in the fact ota\_client.h, I noticed that it is possible to do the same over the air. My question is :

Is there any documentation about how to do an OTA update (not from the radio module but uC code)? I can understand it from reading the code, but if there is already documentation, it would help to go faster!

Thanks,

FM

---

<div class="post-metadata">

**Author:** ![mvut](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.digi.com/mvut/32/31_2.png) [@mvut](https://forums.digi.com/u/mvut)\
**Post date:** [December 1, 2016, 3:57pm UTC](https://forums.digi.com/t/custom-firmware-to-programmable-s2c-ota/17731/2 "2016-12-01T15:57:45Z")

</div>

Just what you see in the product manual and in the Code Warrior help files.

---

<div class="post-metadata">

**Author:** ![exile](https://avatars.discourse-cdn.com/v4/letter/e/50afbb/32.png) [@exile](https://forums.digi.com/u/exile)\
**Post date:** [December 12, 2016, 4:09am UTC](https://forums.digi.com/t/custom-firmware-to-programmable-s2c-ota/17731/3 "2016-12-12T04:09:38Z")

</div>

I’m regularly uploading new application firmware OTA using the following Ruby script: [https://github.com/exsilium/ruby-xbee/blob/master/bin/ota\_upgrade.rb](https://github.com/exsilium/ruby-xbee/blob/master/bin/ota_upgrade.rb)

You are welcome to try it out. Cheers!

---

<div class="post-metadata">

**Author:** ![DystopianFerret](https://avatars.discourse-cdn.com/v4/letter/d/71e660/32.png) [@DystopianFerret](https://forums.digi.com/u/DystopianFerret)\
**Post date:** [December 12, 2016, 9:12am UTC](https://forums.digi.com/t/custom-firmware-to-programmable-s2c-ota/17731/4 "2016-12-12T09:12:42Z")

</div>

This guy’s post might help: [http://www.digi.com/support/forum/59954/wirelessly-program-a-programmable-xbee](http://www.digi.com/support/forum/59954/wirelessly-program-a-programmable-xbee)
