diff --git a/Makefile.include b/Makefile.include
index 902a30950aba1d9cd46db761f403328358e6fc56..5b72acff2aedf177a16c8daeca421da022b43437 100644
--- a/Makefile.include
+++ b/Makefile.include
@@ -360,7 +360,7 @@ distclean:
 	-@for i in $(USEPKG) ; do "$(MAKE)" -C $(RIOTPKG)/$$i distclean ; done
 	-@rm -rf $(BINDIRBASE)
 
-flash: all
+flash: all $(FLASHDEPS)
 	@command -v $(FLASHER) >/dev/null 2>&1 || \
 		{ $(COLOR_ECHO) \
 		'${COLOR_RED}Flash program $(FLASHER) not found. Aborting.${COLOR_RESET}'; \
diff --git a/dist/tools/bossa/.gitignore b/dist/tools/bossa/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..923a11211e059efa0300a67ad73fdb3d0d82917c
--- /dev/null
+++ b/dist/tools/bossa/.gitignore
@@ -0,0 +1,2 @@
+bossac
+bin
diff --git a/dist/tools/bossa/Makefile b/dist/tools/bossa/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..8d1374ba702ddc9b70bb510f227d7f38a7db096d
--- /dev/null
+++ b/dist/tools/bossa/Makefile
@@ -0,0 +1,14 @@
+PKG_NAME     = bossa
+PKG_URL      = https://github.com/shumatech/BOSSA
+PKG_VERSION  = 26154375695f345491bba158d57177aa231d6765
+PKG_LICENSE  = BSD-3-Clause
+PKG_BUILDDIR = $(CURDIR)/bin
+
+.PHONY: all
+
+all: git-download
+	@echo "[INFO] compiling bossac from source now"
+	@env -u CXX COMMON_CXXFLAGS="-std=c++11" $(MAKE) BINDIR=$(PKG_BUILDDIR) -C $(PKG_BUILDDIR) strip-bossac
+	@mv $(PKG_BUILDDIR)/bossac $(CURDIR)/bossac
+
+include $(RIOTBASE)/pkg/pkg.mk