diff --git a/y2023/constants.cc b/y2023/constants.cc
index 843af2b..89d9f49 100644
--- a/y2023/constants.cc
+++ b/y2023/constants.cc
@@ -15,25 +15,60 @@
 namespace y2023 {
 namespace constants {
 
-const int Values::kZeroingSampleSize;
-
 Values MakeValues(uint16_t team) {
   LOG(INFO) << "creating a Constants for team: " << team;
 
   Values r;
 
+  auto *const arm_proximal = &r.arm_proximal;
+  auto *const arm_distal = &r.arm_distal;
+
+  arm_proximal->zeroing.average_filter_size = Values::kZeroingSampleSize;
+  arm_proximal->zeroing.one_revolution_distance =
+      M_PI * 2.0 * constants::Values::kProximalEncoderRatio();
+  arm_proximal->zeroing.zeroing_threshold = 0.0005;
+  arm_proximal->zeroing.moving_buffer_size = 20;
+  arm_proximal->zeroing.allowable_encoder_error = 0.9;
+
+  arm_distal->zeroing.average_filter_size = Values::kZeroingSampleSize;
+  arm_distal->zeroing.one_revolution_distance =
+      M_PI * 2.0 * constants::Values::kDistalEncoderRatio();
+  arm_distal->zeroing.zeroing_threshold = 0.0005;
+  arm_distal->zeroing.moving_buffer_size = 20;
+  arm_distal->zeroing.allowable_encoder_error = 0.9;
+
   switch (team) {
     // A set of constants for tests.
     case 1:
+      arm_proximal->zeroing.measured_absolute_position = 0.0;
+      arm_proximal->potentiometer_offset = 0.0;
+
+      arm_distal->zeroing.measured_absolute_position = 0.0;
+      arm_distal->potentiometer_offset = 0.0;
       break;
 
     case kCompTeamNumber:
+      arm_proximal->zeroing.measured_absolute_position = 0.0;
+      arm_proximal->potentiometer_offset = 0.0;
+
+      arm_distal->zeroing.measured_absolute_position = 0.0;
+      arm_distal->potentiometer_offset = 0.0;
       break;
 
     case kPracticeTeamNumber:
+      arm_proximal->zeroing.measured_absolute_position = 0.0;
+      arm_proximal->potentiometer_offset = 0.0;
+
+      arm_distal->zeroing.measured_absolute_position = 0.0;
+      arm_distal->potentiometer_offset = 0.0;
       break;
 
     case kCodingRobotTeamNumber:
+      arm_proximal->zeroing.measured_absolute_position = 0.0;
+      arm_proximal->potentiometer_offset = 0.0;
+
+      arm_distal->zeroing.measured_absolute_position = 0.0;
+      arm_distal->potentiometer_offset = 0.0;
       break;
 
     default:
