diff --git a/Stub.py b/Stub.py
new file mode 100644
index 0000000000000000000000000000000000000000..bafd95fa31013b8ea1f00df5fe7e8c0c4f658578
--- /dev/null
+++ b/Stub.py
@@ -0,0 +1,74 @@
+"""
+
+Author: Daniel Piper (djp1g21)
+
+
+"""
+
+from machine import Pin, PWM
+from utime import sleep
+import neopixel
+
+
+# Equation for flash duration based on level - duration decreases with each new level at a decreasing rate
+def flash_duration(level: int) -> float:
+    pass
+
+
+# Red LED and sound for level's duration
+def flash_red(level: float) -> None:
+    pass
+
+
+# Green LED and sound for level's duration
+def flash_green(level: float) -> None:
+    pass
+
+
+# Blue LED and sound for level's duration
+def flash_blue(level: float) -> None:
+    pass
+
+
+# Append new colour to sequence
+def update_sequence() -> None:
+    pass
+
+
+# Play entire sequence for user
+def play_sequence() -> None:
+    pass
+
+
+# Input loop for user attempt - returns whether or not player was successful
+def attempt_sequence() -> bool:
+    pass
+
+
+# Brief animation for successful sequence entry
+def success() -> None:
+    pass
+
+
+# Animation for failed sequence
+def fail() -> None:
+    pass
+
+
+# Animation to play at start of each game
+def restart_animation() -> None:
+    pass
+
+
+# Initial animation and game loop
+restart_animation()
+while True:
+    update_sequence()
+    play_sequence()
+    if attempt_sequence():
+        success()
+        continue
+    fail()
+    sleep(0.8)
+    restart_animation()
+    # TODO: Reset the sequence for a new game