Symptom#
You command a piston and nothing moves. Pneumatics failures are almost always systematic; walk this tree top to bottom and do not skip steps.
1. CAN ID 0 (the #1 mistake)#
The power distribution device and the legacy CTRE PCM should be configured so the FRC libraries can find them. As FRC Zero's troubleshooting guide states emphatically: the PDP and PCM should ALWAYS have the same CAN ID of 0, because FRC libraries assume this. A wrong CAN ID makes a perfectly wired module invisible. (The REV Pneumatic Hub is addressed separately by its own CAN ID; match what your code expects.)
2. Is the robot actually enabled and the module told to run?#
- Confirm the Robot Status Light shows enabled (Teleop/Test), not just connected.
- The compressor must be enabled. With the modern WPILib API, closed-loop control is already running by default the moment you construct a
Solenoid/DoubleSolenoid— most teams never need to touch theCompressorclass at all. Only instantiate aCompressorobject if you want explicit status/telemetry or to pick a mode yourself withenableDigital(),enableAnalog(), orenableHybrid(); simply constructing theCompressorobject does not by itself start closed-loop control. - Instantiate solenoids with the right module type:
// CTRE PCM
Solenoid intake = new Solenoid(PneumaticsModuleType.CTREPCM, 1);
// REV Pneumatic Hub
DoubleSolenoid claw = new DoubleSolenoid(
PneumaticsModuleType.REVPH, 0, 1);
Using the wrong PneumaticsModuleType is a silent no-op.
3. Power and fuses#
The PCM/PH and VRM are powered from the power distribution device. Check the fuse/breaker feeding the module. A blown fuse = dead module.
4. Air pressure#
- High side should reach the system max (the legal ceiling is 120 PSI); the regulated low side typically reads ~60 PSI to the cylinders.
- If low side reads 0, the regulator is backwards or set to zero.
- If high side reads 0, a manual vent valve is open or the compressor isn't charging.
5. Double-solenoid logic#
A double solenoid driven by two separate, conflicting commands will fire asynchronously or chatter. Drive it with a single set(kForward/kReverse) call and matching tubing lengths/fittings on both ports.
6. Leaks#
If the compressor runs continuously and pressure won't hold, you have a leak. Spray a small amount of soapy water on every fitting; bubbles reveal the leak. A stuck pressure switch can also run the compressor forever, check it.
7. Sticky faults#
Clear PCM/PH sticky faults in Phoenix Tuner / REV Hardware Client self-test, then verify CAN wiring. Persistent faults after clearing point to a real wiring or firmware problem, update firmware.
The discipline#
Change one thing, retest, then move on. The fastest pneumatics debuggers don't guess; they walk the tree.
the part worth keeping
Key takeaways
- The single most common pneumatics bug is a wrong CAN ID, the PDP and legacy CTRE PCM should both be CAN ID 0.
- Enable the compressor in code (construct a Compressor / enableDigital()) and instantiate solenoids with the correct PneumaticsModuleType (CTREPCM vs REVPH).
- A continuously running compressor that won't hold pressure means a leak (soapy-water test) or a stuck pressure switch.
Mechanical, Build & PneumaticsCommon Mistakes & Troubleshootinglesson 1 of 5
Keep going
Take the quiz+10 XP with an accountwhere this came from
Sources and corrections
This lesson is AI-assisted: drafted from primary sources, then reviewed and edited by hand. Errors still get through. When one is reported we fix it and write down what changed, in public, in the corrections log.
sources and further reading
- frczero.orgFRC Zero: Pneumatic Troubleshooting
- docs.wpilib.orgWPILib Pneumatics
- docs.revrobotics.comREV Pneumatic Hub Documentation
clipped to this lesson
Articles that go further on this
The lesson gets you through the topic. These go wider on it, and they read in one sitting.
- 9 min readFRC Pneumatics: How to Design, Wire, and Program a Pneumatic SystemComplete FRC pneumatics guide: components, the REV Pneumatic Hub vs PCM, single vs double solenoids, safe wiring, WPILib programming, and the 60/120 psi limits./blogread it
- 19 min readFRC PDH: The Power Distribution Hub Explained (Channels, Fuses & Wiring)A complete guide to the REV PDH (Power Distribution Hub): all 24 channels, breaker and fuse sizing, clean wiring, the switchable channel, CAN telemetry, and PDH vs PDP./blogread it
- 7 min readFRC "No Robot Code" & Driver Station Won't Connect: Full Fix ChecklistA verified, step-by-step FRC troubleshooting decision tree for "No Robot Code" and a Driver Station that won't connect to the roboRIO — most common causes first./blogread it
answer sheet
Lesson quiz
All 3 right completes the lesson. Miss one and only that question comes back, anything you already answered correctly stays banked.
0 of 3 answered
01Your compressor builds pressure on the storage gauge, but a cylinder won't extend even though the storage side reads full. The low (working) side gauge reads 0 psi. What is the most likely cause?
02In WPILib code, what automatically enables the PCM/Pneumatic Hub closed-loop compressor control that uses the pressure switch to cycle the compressor?
03A double solenoid controlling a cylinder is set to kOff in code. What happens at the cylinder?
Answer every question to submit.
All 47 lessons in Mechanical, Build & Pneumaticsopenclose
01 / prerequisites
02 / drivetrains
03 / power-transmission
04 / structure-materials-fasteners
05 / mechanisms-fabrication-assembly
06 / pneumatics-fundamentals
07 / pneumatic-components
08 / build-wire-program
09 / safety-rules-testing
10 / worked-examples-mini-projects
- Not read yet:Mini-Project 1: A Single-Jointed Arm From Math to Motion
- Not read yet:Mini-Project 2: A Two-Stage Cascade Elevator
- Not read yet:Mini-Project 3: A Velocity-Controlled Flywheel Shooter
- Not read yet:Mini-Project 4: A Pivoting Roller Intake
- Not read yet:Mini-Project 5: Integrating a COTS Swerve Module
11 / common-mistakes-troubleshooting
- Not read yet:Pneumatics Won't Fire: A Full Diagnostic Tree
- Not read yet:The Robot Won't Drive Straight (and Other Drivetrain Sins)
- Not read yet:Gearboxes That Grenade and Fasteners That Vibrate Loose
- Not read yet:Closed-Loop Mechanisms That Oscillate, Sag, or Stall
- Not read yet:Field-Ready Reliability: Inspection, Spares, and the Pit Checklist
12 / advanced-techniques-case-studies
- Not read yet:Characterizing Any Mechanism with SysId
- Not read yet:Simulation-Driven Design with WPILib Physics Models
- Not read yet:Motion Profiling and Superstructure Coordination
- Not read yet:Designing for Weight, Stiffness, and Manufacturability
- Not read yet:Case Studies: Learning From Open Alliance Robots