diff --git a/ports/windows/Makefile b/ports/windows/Makefile
index 725cb686e5..61a6b2844c 100644
--- a/ports/windows/Makefile
+++ b/ports/windows/Makefile
@@ -28,6 +28,7 @@ endif
# source files
SRC_C = \
+ lib/utils/printf.c \
ports/unix/main.c \
ports/unix/file.c \
ports/unix/input.c \
diff --git a/ports/windows/mpconfigport.h b/ports/windows/mpconfigport.h
index 9db6d31ce8..1107a538e0 100644
--- a/ports/windows/mpconfigport.h
+++ b/ports/windows/mpconfigport.h
@@ -121,6 +121,7 @@ extern const struct _mp_print_t mp_stderr_print;
#ifdef _MSC_VER
#define MICROPY_GCREGS_SETJMP (1)
+#define MICROPY_USE_INTERNAL_PRINTF (0)
#endif
#define MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF (1)
diff --git a/ports/windows/msvc/sources.props b/ports/windows/msvc/sources.props
index b85295ebc0..5c2076f1ea 100644
--- a/ports/windows/msvc/sources.props
+++ b/ports/windows/msvc/sources.props
@@ -6,6 +6,7 @@
+