diff --git a/boards/microbit/Makefile.include b/boards/microbit/Makefile.include
index 8eb617dd3b7dcc83a8ecf8ab054345aaa275ada4..e5907b533681fa7522f9163dfcf149fa3d16fcaf 100644
--- a/boards/microbit/Makefile.include
+++ b/boards/microbit/Makefile.include
@@ -10,7 +10,7 @@ PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.SLAB_USBtoUART*)))
 PROGRAMMER ?= fscopy
 
 ifeq (fscopy,$(PROGRAMMER))
-  export FFLAGS =
+  export FFLAGS = $(HEXFILE)
   export DEBUGGER_FLAGS =
 
   export FLASHER = $(RIOTBOARD)/$(BOARD)/dist/flash.sh
diff --git a/boards/microbit/dist/flash.sh b/boards/microbit/dist/flash.sh
index ceeeb0f00eb4053ac2da6a5b9a93f95c585b221e..657307e5fb0b7be88b44cf7b4649e81f82d3a38a 100755
--- a/boards/microbit/dist/flash.sh
+++ b/boards/microbit/dist/flash.sh
@@ -18,6 +18,8 @@ OS=`uname`
 DID_MOUNT=false
 NAME="MICROBIT"
 
+HEXFILE=$1
+
 # set the mount path depending on the OS
 if [ ${OS} = "Linux" ]
 then