diff --git a/pycardium/modules/py/binascii.py b/pycardium/modules/py/binascii.py
new file mode 120000
index 0000000000000000000000000000000000000000..27caab4b9681fd5fff10a2258616e4bba6b942aa
--- /dev/null
+++ b/pycardium/modules/py/binascii.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/binascii/binascii.py
\ No newline at end of file
diff --git a/pycardium/modules/py/functools.py b/pycardium/modules/py/functools.py
new file mode 120000
index 0000000000000000000000000000000000000000..0aefb8ae9f3e5fdd18576949a531a121a073de01
--- /dev/null
+++ b/pycardium/modules/py/functools.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/functools/functools.py
\ No newline at end of file
diff --git a/pycardium/modules/py/itertools.py b/pycardium/modules/py/itertools.py
new file mode 120000
index 0000000000000000000000000000000000000000..61b7479fa6c773ae7564c0e298abd57a71334d08
--- /dev/null
+++ b/pycardium/modules/py/itertools.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/itertools/itertools.py
\ No newline at end of file
diff --git a/pycardium/modules/py/meson.build b/pycardium/modules/py/meson.build
index 9b382db0b3c461e3a180ae0905afb95f2e201bb3..50ba8f54e76fc9ab26aed9c767c5c97b1fc2e8ad 100644
--- a/pycardium/modules/py/meson.build
+++ b/pycardium/modules/py/meson.build
@@ -1,7 +1,11 @@
 python_modules = files(
+  'binascii.py',
   'color.py',
+  'functools.py',
+  'itertools.py',
   'htmlcolor.py',
   'string.py',
+  'struct.py',
 )
 
 frozen_modules = mpy_cross.process(python_modules)
diff --git a/pycardium/modules/py/struct.py b/pycardium/modules/py/struct.py
new file mode 120000
index 0000000000000000000000000000000000000000..e116d4642aad6763989bf2797546037ef589a6c7
--- /dev/null
+++ b/pycardium/modules/py/struct.py
@@ -0,0 +1 @@
+../../../lib/micropython/micropython-lib/struct/struct.py
\ No newline at end of file