Rev PCH isn't turning our compressor on?

Aloha! So our team needs help- we are having issues with our compressor turning on, but only when it is connected to our pneumatic control hub. Initially, we connected the compressor to the battery to see if it would turn on, which IS getting voltage. Furthermore, we also tested the PCH to see if it was getting voltage, which also received voltage. We also tried resetting the PCH by holding down the mode button for 7 seconds but nothing happened.

We have the compressor connected to the compressor inputs: red → red, and black → black). We also use a digital pressure sensor that connects to the digital port: black → black, and red → white).

Our team is struggling to figure out this issue with the compressor as it is not turning on when the robot is enabled. We would love to hear if this problem is just us or if it’s a universal issue.

If you hold down the MODE button on the PH for about 7 seconds while the REV Hardware Client is connected (over USB) and CAN is disconnected, does the green compressor light turn on? Does the compressor run?

1 Like

Also double check that your digital pressure sensor is working correctly. We had this issue last season and it can be hard to tell that the pressure sensor is preventing the compressor from running.

Aloha, so I had not tried that so I did, and the compressor light turned green and the compressor turned on it only ran while I held down the mode button. The status light however turned red.

Does your software create any solenoids?


That’s expected. The compressor test mode only runs while you’re holding the button. It’s good that the compressor is running at all though - it means that it’s connected correctly. As @Joe_Ross said, you might need to instantiate a solenoid to get the compressor to run automatically. I don’t remember the specifics.

1 Like

You definitely need to instantiate a solenoid. The might comes in if there isn’t already one there.


Aloha, I’m part of the same team, and we are pretty sure we already have instantiated a solenoid, unless we are doing something wrong.

we do this in a shifter class

private DoubleSolenoid shift = 
    new DoubleSolenoid(Constants.PCH_ID, PneumaticsModuleType.REVPH, shifterConstants.shifterForward, shifterConstants.shifterReverse);

and then when we create our robot we create an instance of the shifter
private final Shifter m_shifter = new Shifter();

We have also checked and have made sure that the digital pressure switch is working.

From what I remember last year I had to add a compressor to code. Dk if that still applies

Nope, if you have a Solenoid or DoubleSolenoid instantiated in the code at any point, the compressor will run.

Check to make sure the PH CAN ID is correct.

1 Like

Thanks, you got it, we accidentally had the wrong PH CAN ID. It works now. Mahalo!


We also had an issue with the compressor not turning on with the PCH. We had an issue with the firmware. We downgraded the firmware and compressor starting working immediately.

We’re tracking an issue with the latest PH firmware that will prevent the compressor from starting after updating to v23.0.0.

We are working on a fix, but in the mean time you can work around the issue with code by creating a PneumaticHub object and running enableCompressorDigital(), enableCompressorAnalog(), or enableCompressorHybrid() on that object.

After doing this once, the compressor should work normally with your digital and/or analog pressure sensor(s).

You may also downgrade to firmware version 22.0.5 like @POP_Robotics_mentor mentioned.

1 Like

FWIW, you don’t have to worry about polarity when wiring the digital sensor (Wiring the Pneumatic Hub - Pneumatic Hub).

What is the benefit to the hybrid mode? Redundancy or something else?

1 Like

were you able to find a fix on this? our team is running into the same issue, we just downgraded out firmware to 22.0.5 like @dyanoshak recommended but still nothing. in Rev hardware client is shows it pulling 0 power and also shows the digital switch as closed

Did you have a chance to try the code workaround route or did you just try the downgrade?

We’re getting close to releasing a PH firmware update, but we’d like to know if the code-based workaround didn’t work for you for some reason.

yeah the work around didnt work, if you think its our code your happy to look at it and im happy to try anything to get it going

heres the code: GitHub - themilkenknights/Milken-Knights-Charged-Up: This is Milkens 2023 code for FRC's Charged Up game.

UPDATE: in our disabled init we had mCompressor.disable(); once we commented this out it worked fine


Updated firmware has been released.

Does the CAN need to be disconnectd before pushing the MODE button to activate the compressor. We couldn’t get the compressor to turn on, and didn’t see in the documenation where the CAN needed to be disconnected to test it this way. Wondering if our CAN being connected is what is preventing the Compressor Test Mode from working.