diff --git a/esp8266/Makefile b/esp8266/Makefile
index b836248c655652c5d0f7bf7c8efb52fb792e9319..f6681eefa96bbeb43557517662d841192e71d7e2 100644
--- a/esp8266/Makefile
+++ b/esp8266/Makefile
@@ -72,6 +72,10 @@ STM_SRC_C = $(addprefix stmhal/,\
 
 LIB_SRC_C = $(addprefix lib/,\
 	libc/string0.c \
+	libm/math.c \
+	libm/fmodf.c \
+	libm/roundf.c \
+	libm/ef_sqrt.c \
 	mp-readline/readline.c \
 	netutils/netutils.c \
 	timeutils/timeutils.c \
diff --git a/esp8266/esp8266.ld b/esp8266/esp8266.ld
index e2f1b807e2b5bd2b2d0e85d4ca24e55217215ab0..15f923239a2a2966775fefa3b22f26bfdb0f0edf 100644
--- a/esp8266/esp8266.ld
+++ b/esp8266/esp8266.ld
@@ -81,6 +81,7 @@ SECTIONS
 
         /* we put some specific text in this section */
         *py/*.o*(.literal* .text*)
+        *lib/libm/*.o*(.literal*, .text*)
         *pyexec.o(.literal*, .text*)
         *readline.o(.literal*, .text*)
         *pybstdio.o(.literal*, .text*)
diff --git a/esp8266/mpconfigport.h b/esp8266/mpconfigport.h
index c80f78d45c217a1e3d315ebb4342215971a777b4..53eda128b906f5a2c5e9a120d5871f75df5d304d 100644
--- a/esp8266/mpconfigport.h
+++ b/esp8266/mpconfigport.h
@@ -2,6 +2,7 @@
 
 // options to control how Micro Python is built
 
+#define MICROPY_OBJ_REPR            (MICROPY_OBJ_REPR_C)
 #define MICROPY_ALLOC_PATH_MAX      (128)
 #define MICROPY_EMIT_X64            (0)
 #define MICROPY_EMIT_THUMB          (0)
@@ -15,6 +16,7 @@
 #define MICROPY_HELPER_LEXER_UNIX   (0)
 #define MICROPY_ENABLE_SOURCE_LINE  (1)
 #define MICROPY_MODULE_WEAK_LINKS   (1)
+#define MICROPY_PY_BUILTINS_COMPLEX (0)
 #define MICROPY_PY_BUILTINS_STR_UNICODE (1)
 #define MICROPY_PY_BUILTINS_BYTEARRAY (1)
 #define MICROPY_PY_BUILTINS_MEMORYVIEW (1)
@@ -35,7 +37,7 @@
 #define MICROPY_PY_SYS_STDFILES     (1)
 #define MICROPY_CPYTHON_COMPAT      (0)
 #define MICROPY_LONGINT_IMPL        (MICROPY_LONGINT_IMPL_MPZ)
-#define MICROPY_FLOAT_IMPL          (MICROPY_FLOAT_IMPL_NONE)
+#define MICROPY_FLOAT_IMPL          (MICROPY_FLOAT_IMPL_FLOAT)
 #define MICROPY_ERROR_REPORTING     (MICROPY_ERROR_REPORTING_TERSE)
 #define MICROPY_MODULE_FROZEN       (1)