diff --git a/y2024/control_loops/python/BUILD b/y2024/control_loops/python/BUILD
index 4451fb9..f92b484 100644
--- a/y2024/control_loops/python/BUILD
+++ b/y2024/control_loops/python/BUILD
@@ -45,6 +45,22 @@
     ],
 )
 
+py_binary(
+    name = "intake_pivot",
+    srcs = [
+        "intake_pivot.py",
+    ],
+    legacy_create_init = False,
+    target_compatible_with = ["@platforms//cpu:x86_64"],
+    deps = [
+        ":python_init",
+        "//frc971/control_loops/python:angular_system",
+        "//frc971/control_loops/python:controls",
+        "@pip//glog",
+        "@pip//python_gflags",
+    ],
+)
+
 py_library(
     name = "python_init",
     srcs = ["__init__.py"],
diff --git a/y2024/control_loops/python/intake_pivot.py b/y2024/control_loops/python/intake_pivot.py
new file mode 100644
index 0000000..9e7543b
--- /dev/null
+++ b/y2024/control_loops/python/intake_pivot.py
@@ -0,0 +1,56 @@
+#!/usr/bin/python3
+
+from aos.util.trapezoid_profile import TrapezoidProfile
+from frc971.control_loops.python import control_loop
+from frc971.control_loops.python import angular_system
+from frc971.control_loops.python import controls
+import numpy
+import sys
+from matplotlib import pylab
+import gflags
+import glog
+
+FLAGS = gflags.FLAGS
+
+try:
+    gflags.DEFINE_bool('plot', False, 'If true, plot the loop response.')
+except gflags.DuplicateFlagError:
+    pass
+
+kIntakePivot = angular_system.AngularSystemParams(
+    name='IntakePivot',
+    motor=control_loop.KrakenFOC(),
+    # TODO(Niko): Change gear ratios when we have all of them
+    G=0.02,
+    J=0.34,
+    q_pos=0.40,
+    q_vel=20.0,
+    kalman_q_pos=0.12,
+    kalman_q_vel=2.0,
+    kalman_q_voltage=4.0,
+    kalman_r_position=0.05,
+    radius=13 * 0.0254)
+
+
+def main(argv):
+    if FLAGS.plot:
+        R = numpy.matrix([[numpy.pi / 2.0], [0.0]])
+        angular_system.PlotKick(kIntakePivot, R)
+        angular_system.PlotMotion(kIntakePivot, R)
+        return
+    if len(argv) != 7:
+        glog.fatal(
+            'Expected .h file name and .cc file name for the intake pivot and integral intake pivot.'
+        )
+    else:
+        namespaces = [
+            'y2024', 'control_loops', 'superstructure', 'intake_pivot'
+        ]
+        angular_system.WriteAngularSystem(kIntakePivot, argv[1:4], argv[4:7],
+                                          namespaces)
+
+
+if __name__ == '__main__':
+    argv = FLAGS(sys.argv)
+    glog.init()
+    sys.exit(main(argv))
\ No newline at end of file
