diff --git a/crazyflie_software/crazyflie-firmware-2021.06/src/modules/src/bootloader.c b/crazyflie_software/crazyflie-firmware-2021.06/src/modules/src/bootloader.c
index 233ca2c54e0aeb09b4be7c4fc267e6948a6ab3c4..eb5fdfb267340116a4dcfc472ba7ac0c5ccca153 100644
--- a/crazyflie_software/crazyflie-firmware-2021.06/src/modules/src/bootloader.c
+++ b/crazyflie_software/crazyflie-firmware-2021.06/src/modules/src/bootloader.c
@@ -2,11 +2,10 @@
 
 //bootloader code used from micropython machine_bootloader
 
-// Location in RAM of bootloader state (just after the top of the stack).
 // STM32H7 has ECC and writes to RAM must be 64-bit so they are fully committed
 // to actual SRAM before a system reset occurs.
-#define BL_STATE_PTR                ((uint64_t *)&_estack)
-#define BL_STATE_KEY                (0x5a5) //arbitrary bit pattern used as marker
+#define BL_STATE_PTR                ((uint64_t *) SRAM2_BASE)  //start of 16kb SRAM bank in stm32f405
+#define BL_STATE_KEY                (0x5a5) //arbitrary bit pattern used as a marker
 #define BL_STATE_KEY_MASK           (0xfff)
 #define BL_STATE_KEY_SHIFT          (32)
 #define BL_STATE_INVALID            (0)
@@ -14,7 +13,6 @@
 #define BL_STATE_GET_REG(s)         ((s) & 0xffffffff)
 #define BL_STATE_GET_KEY(s)         (((s) >> BL_STATE_KEY_SHIFT) & BL_STATE_KEY_MASK)
 #define BL_STATE_GET_ADDR(s)        (((s) >> BL_STATE_KEY_SHIFT) & ~BL_STATE_KEY_MASK)
-extern uint64_t _estack[];
 
 
 void branch_to_bootloader(uint32_t r0, uint32_t bl_addr){
@@ -47,6 +45,6 @@ void check_enter_bootloader(){
 void enter_bootloader(uint32_t r0, uint32_t bl_addr){
     //set bootloader state values    
     *BL_STATE_PTR = BL_STATE_VALID(r0, bl_addr);
-
+    
     NVIC_SystemReset();
 }
\ No newline at end of file