diff --git a/y2020/control_loops/python/BUILD b/y2020/control_loops/python/BUILD
index edc72f5..b7f393b 100644
--- a/y2020/control_loops/python/BUILD
+++ b/y2020/control_loops/python/BUILD
@@ -49,6 +49,22 @@
     ],
 )
 
+py_binary(
+    name = "hood",
+    srcs = [
+        "hood.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",
+    ],
+)
+
 py_library(
     name = "python_init",
     srcs = ["__init__.py"],
diff --git a/y2020/control_loops/python/hood.py b/y2020/control_loops/python/hood.py
new file mode 100644
index 0000000..8c99940
--- /dev/null
+++ b/y2020/control_loops/python/hood.py
@@ -0,0 +1,60 @@
+#!/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
+
+'''
+Hood is an angular subsystem due to the mounting of the encoder on the hood joint.
+We are currently electing to ignore potential non-linearity.
+'''
+
+#TODO: update constants
+kHood = angular_system.AngularSystemParams(
+    name='Hood',
+    motor=control_loop.BAG(),
+    # meters / rad (used the displacement of the lead screw and the angle)
+    G=(0.1601 / 0.6457),
+    J=0.3,
+    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.PlotKick(kHood, R)
+        angular_system.PlotMotion(kHood, 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 hood and integral hood.'
+        )
+    else:
+        namespaces = ['y2020', 'control_loops', 'superstructure', 'hood']
+        angular_system.WriteAngularSystem(kHood, argv[1:3], argv[3:5],
+                                          namespaces)
+
+
+if __name__ == '__main__':
+    argv = FLAGS(sys.argv)
+    glog.init()
+    sys.exit(main(argv))
diff --git a/y2020/control_loops/superstructure/hood/BUILD b/y2020/control_loops/superstructure/hood/BUILD
new file mode 100644
index 0000000..6c1a60b
--- /dev/null
+++ b/y2020/control_loops/superstructure/hood/BUILD
@@ -0,0 +1,32 @@
+package(default_visibility = ["//y2020:__subpackages__"])
+
+genrule(
+    name = "genrule_hood",
+    outs = [
+        "hood_plant.h",
+        "hood_plant.cc",
+        "integral_hood_plant.h",
+        "integral_hood_plant.cc",
+    ],
+    cmd = "$(location //y2020/control_loops/python:hood) $(OUTS)",
+    tools = [
+        "//y2020/control_loops/python:hood",
+    ],
+)
+
+cc_library(
+    name = "hood_plants",
+    srcs = [
+        "hood_plant.cc",
+        "integral_hood_plant.cc",
+    ],
+    hdrs = [
+        "hood_plant.h",
+        "integral_hood_plant.h",
+    ],
+    visibility = ["//visibility:public"],
+    deps = [
+        "//frc971/control_loops:hybrid_state_feedback_loop",
+        "//frc971/control_loops:state_feedback_loop",
+    ],
+)
