diff --git a/teensy/Makefile b/teensy/Makefile
index 5eb87166117501e270bacd6ae1db1e58e5c25a6b..82e04a1ae33e7bf744bf3387ac2e2db9f0e5b192 100644
--- a/teensy/Makefile
+++ b/teensy/Makefile
@@ -109,7 +109,6 @@ LIB_SRC_C = $(addprefix lib/,\
 	libc/string0.c \
 	mp-readline/readline.c \
 	utils/pyexec.c \
-	utils/pyhelp.c \
 	)
 
 SRC_TEENSY = $(addprefix core/,\
diff --git a/teensy/help.c b/teensy/help.c
index 147347fc22bed96367d15f68265f18a73e232560..3b3916b943c542679121ed62af8795dc9a91fdbc 100644
--- a/teensy/help.c
+++ b/teensy/help.c
@@ -24,11 +24,9 @@
  * THE SOFTWARE.
  */
 
-#include <stdio.h>
+#include "py/builtin.h"
 
-#include "lib/utils/pyhelp.h"
-
-STATIC const char *help_text =
+const char *teensy_help_text =
 "Welcome to MicroPython!\n"
 "\n"
 "For online help please visit http://micropython.org/help/.\n"
@@ -69,18 +67,3 @@ STATIC const char *help_text =
 "\n"
 "For further help on a specific object, type help(obj)\n"
 ;
-
-STATIC mp_obj_t pyb_help(uint n_args, const mp_obj_t *args) {
-    if (n_args == 0) {
-        // print a general help message
-        printf("%s", help_text);
-
-    } else {
-        // try to print something sensible about the given object
-        pyhelp_print_obj(args[0]);
-    }
-
-    return mp_const_none;
-}
-
-MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_help_obj, 0, 1, pyb_help);
diff --git a/teensy/mpconfigport.h b/teensy/mpconfigport.h
index 334f76d8a0eb8b6e16da6c0c09108c110f22b7c1..07f60c43f67f865337375c99b93a8f30718ec6a7 100644
--- a/teensy/mpconfigport.h
+++ b/teensy/mpconfigport.h
@@ -14,6 +14,9 @@
 #define MICROPY_FLOAT_IMPL          (MICROPY_FLOAT_IMPL_FLOAT)
 #define MICROPY_OPT_COMPUTED_GOTO   (1)
 
+#define MICROPY_PY_BUILTINS_HELP    (1)
+#define MICROPY_PY_BUILTINS_HELP_TEXT teensy_help_text
+
 #define MICROPY_PY_IO               (0)
 #define MICROPY_PY_FROZENSET        (1)
 #define MICROPY_PY_SYS_EXIT         (1)
@@ -28,7 +31,6 @@
 
 // extra built in names to add to the global namespace
 #define MICROPY_PORT_BUILTINS \
-    { MP_OBJ_NEW_QSTR(MP_QSTR_help), (mp_obj_t)&mp_builtin_help_obj }, \
     { MP_OBJ_NEW_QSTR(MP_QSTR_input), (mp_obj_t)&mp_builtin_input_obj }, \
 
 // extra built in modules to add to the list of known ones