# Zero to main(): How to Write a Bootloader from Scratch | Interrupt

**URL:** <https://community.memfault.com/t/zero-to-main-how-to-write-a-bootloader-from-scratch-interrupt/66>\
**Category:** Blog\
**Created:** [August 14, 2019, 1:09am UTC](https://community.memfault.com/t/zero-to-main-how-to-write-a-bootloader-from-scratch-interrupt/66 "2019-08-14T01:09:26Z")\
**Posts on this page:** 1\
**Showing post:** 28

<div class="post-metadata">

**Author:** ![HamzaHajeir](https://avatars.discourse-cdn.com/v4/letter/h/bcef8e/32.png) [@HamzaHajeir](https://community.memfault.com/u/HamzaHajeir)\
**Post date:** [August 30, 2021, 12:57pm UTC](https://community.memfault.com/t/zero-to-main-how-to-write-a-bootloader-from-scratch-interrupt/66/28 "2021-08-30T12:57:53Z")

</div>

Thank you for your helpful article.

I’ve a simple question regarding a potential development of OTA procedure using a telecommunication module.

I’m thinking of a bootloader that can copy the received application code into the current application code.

But as a fail scenarios, the complete binary image won’t be received. So the idea is similar to ESP8266 OTA procedure: Store the receiving binary into a certain area in flash memory (not the active app\_code), after it completes, the next start would replace the old image with the newer one.

To what extent this procedure is hard? What should I consider?  
Any recommendation for such a thing?  
And as the project hasn’t launched yet, Is there a bootloader-based recommendation for a Low power MCU(s)?

Thank you very much

---

_[View the full topic](https://community.memfault.com/t/zero-to-main-how-to-write-a-bootloader-from-scratch-interrupt/66)._
