diff --git a/y2019/control_loops/python/BUILD b/y2019/control_loops/python/BUILD
index 111bb79..dbf0dc7 100644
--- a/y2019/control_loops/python/BUILD
+++ b/y2019/control_loops/python/BUILD
@@ -71,3 +71,19 @@
         "//frc971/control_loops/python:linear_system",
     ],
 )
+
+py_binary(
+    name = "wrist",
+    srcs = [
+        "wrist.py",
+    ],
+    legacy_create_init = False,
+    restricted_to = ["//tools:k8"],
+    deps = [
+        ":python_init",
+        "//external:python-gflags",
+        "//external:python-glog",
+        "//frc971/control_loops/python:angular_system",
+        "//frc971/control_loops/python:controls",
+    ],
+)
diff --git a/y2019/control_loops/python/wrist.py b/y2019/control_loops/python/wrist.py
new file mode 100755
index 0000000..0229f6e
--- /dev/null
+++ b/y2019/control_loops/python/wrist.py
@@ -0,0 +1,54 @@
+#!/usr/bin/python
+
+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
+
+kWrist = angular_system.AngularSystemParams(
+    name='Wrist',
+    motor=control_loop.BAG(),
+    G=(6.0 / 60.0) * (20.0 / 100.0) * (24.0 / 84.0),
+    # TODO(austin): Pull moments of inertia from CAD when it's done.
+    J=0.34,
+    q_pos=0.20,
+    q_vel=5.0,
+    kalman_q_pos=0.12,
+    kalman_q_vel=2.0,
+    kalman_q_voltage=4.0,
+    kalman_r_position=0.05)
+
+
+def main(argv):
+    if FLAGS.plot:
+        R = numpy.matrix([[numpy.pi / 2.0], [0.0]])
+        angular_system.PlotMotion(kWrist, R)
+        angular_system.PlotKick(kWrist, R)
+
+    # Write the generated constants out to a file.
+    if len(argv) != 5:
+        glog.fatal(
+            'Expected .h file name and .cc file name for the wrist and integral wrist.'
+        )
+    else:
+        namespaces = ['y2019', 'control_loops', 'superstructure', 'wrist']
+        angular_system.WriteAngularSystem(kWrist, argv[1:3], argv[3:5],
+                                          namespaces)
+
+
+if __name__ == '__main__':
+    argv = FLAGS(sys.argv)
+    glog.init()
+    sys.exit(main(argv))
