diff --git a/src/flow3r/badgelink/mod.rs b/src/flow3r/badgelink/mod.rs
index ed5b031e5fec0e223f87ee626d6e300b2aeb987d..b3cab2b21b16361305d218c0c93069d3336a4739 100644
--- a/src/flow3r/badgelink/mod.rs
+++ b/src/flow3r/badgelink/mod.rs
@@ -16,27 +16,27 @@ impl BadgeLink {
         }
     }
 
-    pub fn left_audio(&mut self) {
+    pub fn left_audio(&mut self) -> Result<(), hal::i2c::Error> {
         let mut pes = self.port_expander.split();
-        pes.p3.set_low();
-        pes.p4.set_low();
+        pes.p3.set_low()?;
+        pes.p4.set_low()
     }
 
-    pub fn left_badgelink(&mut self) {
+    pub fn left_badgelink(&mut self) -> Result<(), hal::i2c::Error> {
         let mut pes = self.port_expander.split();
-        pes.p3.set_high();
-        pes.p4.set_high();
+        pes.p3.set_high()?;
+        pes.p4.set_high()
     }
 
-    pub fn right_audio(&mut self) {
+    pub fn right_audio(&mut self) -> Result<(), hal::i2c::Error> {
         let mut pes = self.port_expander.split();
-        pes.p5.set_low();
-        pes.p6.set_low();
+        pes.p5.set_low()?;
+        pes.p6.set_low()
     }
 
-    pub fn right_badgelink(&mut self) {
+    pub fn right_badgelink(&mut self) -> Result<(), hal::i2c::Error> {
         let mut pes = self.port_expander.split();
-        pes.p5.set_high();
-        pes.p6.set_high();
+        pes.p5.set_high()?;
+        pes.p6.set_high()
     }
 }
diff --git a/src/flow3r/input.rs b/src/flow3r/input.rs
index fbf55181c87844b946bd24de5a1c3c7973f2a6d6..3546bf0b0be9db8faf03130e1137b9b23705cf37 100644
--- a/src/flow3r/input.rs
+++ b/src/flow3r/input.rs
@@ -125,17 +125,7 @@ pub async fn input_controller(
     let mut sw1_button = sw1_button.into_pull_up_input();
     let mut sw2_button = sw2_button.into_pull_up_input();
 
-    let shared_i2c = shared_bus::BusManagerSimple::new(i2c);
-    let mut pe1 = port_expander::Max7321::new(shared_i2c.acquire_i2c(), true, true, true, false);
-
-    let mut pe1_io = pe1.split();
-    pe1_io.p1.set_high().unwrap();
-    let _in_r_sw = pe1_io.p3;
-    let _in_t_sw = pe1_io.p4;
-    let _out_r_sw = pe1_io.p5;
-    let _out_t_sw = pe1_io.p6;
-
-    let mut pe2 = port_expander::Max7321::new(shared_i2c.acquire_i2c(), true, true, false, true);
+    let mut pe2 = port_expander::Max7321::new(i2c, true, true, false, true);
 
     let pe2_io = pe2.split();
     let mut sw1_r = pe2_io.p0;