diff --git a/stm/Makefile b/stm/Makefile
index b6bf665510ad73a87899533e4e2205f70542aca8..9e5ba14fadeac28039edd9df479f2cfa27136846 100644
--- a/stm/Makefile
+++ b/stm/Makefile
@@ -6,7 +6,7 @@ BUILD=build
 AS = arm-none-eabi-as
 CC = arm-none-eabi-gcc
 LD = arm-none-eabi-ld
-CFLAGS_CORTEX_M4 = -mthumb -mtune=cortex-m4 -mabi=aapcs-linux -mcpu=cortex-m4 -mfloat-abi=hard -DSTM32F40XX -DHSE_VALUE=8000000
+CFLAGS_CORTEX_M4 = -mthumb -mtune=cortex-m4 -mabi=aapcs-linux -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fsingle-precision-constant -Wdouble-promotion -DSTM32F40XX -DHSE_VALUE=8000000
 CFLAGS = -I. -I$(PYSRC) -I$(FATFSSRC) -I$(STMSRC) -Wall -ansi -std=gnu99 -Os -DNDEBUG $(CFLAGS_CORTEX_M4)
 LDFLAGS = --nostdlib -T stm32f405.ld
 
diff --git a/stm/mpyconfig.h b/stm/mpyconfig.h
index 06a4bd8e022f513bd30eb45a093261fc098fb065..388ad1cc4d9f5cd2add9cb9b1fb9a0bde5f2e619 100644
--- a/stm/mpyconfig.h
+++ b/stm/mpyconfig.h
@@ -1,6 +1,6 @@
 // options to control how Micro Python is built
 
-#define MICROPY_ENABLE_FLOAT        (1)
+#define MICROPY_ENABLE_FLOAT        (0)
 #define MICROPY_EMIT_CPYTHON        (0)
 #define MICROPY_EMIT_X64            (0)
 #define MICROPY_EMIT_THUMB          (1)