diff --git a/.gitmodules b/.gitmodules
index 430906d70e2d2a88ccc7540524f9ae9a94d2fb97..a736023248aa81de2230ad5d23950646a9d2850f 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
 [submodule "lib/micropython/micropython"]
 	path = lib/micropython/micropython
 	url = https://github.com/micropython/micropython.git
+[submodule "lib/micropython/micropython-lib"]
+	path = lib/micropython/micropython-lib
+	url = https://github.com/micropython/micropython-lib.git
diff --git a/lib/micropython/micropython-lib b/lib/micropython/micropython-lib
new file mode 160000
index 0000000000000000000000000000000000000000..b89114c8345e15d360c3707493450805c114bc8c
--- /dev/null
+++ b/lib/micropython/micropython-lib
@@ -0,0 +1 @@
+Subproject commit b89114c8345e15d360c3707493450805c114bc8c
diff --git a/pycardium/modules/py/meson.build b/pycardium/modules/py/meson.build
index 4184cb5f45aa1f1937dd1de4482ff8b19d6749e8..9b382db0b3c461e3a180ae0905afb95f2e201bb3 100644
--- a/pycardium/modules/py/meson.build
+++ b/pycardium/modules/py/meson.build
@@ -1,6 +1,7 @@
 python_modules = files(
   'color.py',
   'htmlcolor.py',
+  'string.py',
 )
 
 frozen_modules = mpy_cross.process(python_modules)
diff --git a/pycardium/modules/py/string.py b/pycardium/modules/py/string.py
new file mode 120000
index 0000000000000000000000000000000000000000..6148e21fd5c0f59a68a5d5d43b19ebf9a1d11da9
--- /dev/null
+++ b/pycardium/modules/py/string.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/string/string.py
\ No newline at end of file