Pneumatics activating after program stops

So my team is using pneumatics for the first time this season, and they work as expected, except for when the program stops running. all the solenoids will activate, extending all of our pistons. When the brain is shut off, however, the pneumatics retract. Has anyone else experienced this problem, and how could I fix it?

1 Like

I have the same problem, but I’m used to it. I think the only fix (that I know of) could be adding something into your program to make the pneumatics hold place. I don’t really think this would be a big issue though because you shouldn’t really be turning the robot off during competition matches and skills. Good luck to however you fix this (and let me know too!)

1 Like

This is a problem that I don’t think is necessarily solvable. If it’s air capacity that your worried about, because it’s being drained immediately as soon as you start your program, I would recommend switching the pneumatics on AFTER you select the program. You could also turn down your air pressure to have more uses. Otherwise, I’m not sure that this causes any problems beyond air usage.

1 Like

The problem is at the end of the match. All the pistons extend. They move the robot, and I am worried that it will throw the balance off and cause our platform to become unbalanced after the match.

Assuming you’re using double-acting air cylinders, the solenoid valves have two positions, one when powered off, and one when powered on. By nature of these valves, the pneumatic cylinder will be pressurized on one side or the other. Generally, we want the “un-activated” position of the air cylinder to be fully retracted (in other words, when the program starts, and also when the program ends, the solenoid will be in the unactivated position, and the air cylinders will be retracted).

It sounds like you’ll need to re-plumb you air cylinders, and reverse your program accordingly, so the air cylinders do not extend when the program ends.


@jpearman - is this a similar issue to the one where VexOS now sets motor brake type to coast when the robot enters the disabled state? Do digital-outs get set to off during the disabled state?


We do not do anything with three wire ports when going into the disabled state at the end of a match, so the digital output control to the solenoid should not change. We reset all ports to the digital input state when a program is stopped, this was done primarily to make sure any ports configured to control 393 motors would be disabled (classroom use). You should be able to control anything on the three wire ports when the robot is disabled, for example, this small funtion when run as a thread will keep flashing a LED when the robot is disabled.

flashLed() {
  vex::led led1(Brain.ThreeWirePort.C );

  while(1) {

We are using single acting cylinders. The problem is that the brain is telling the solenoids to activate without any input

Thank you for the clarification, I didn’t realize that stopping the program and disabling the robot did different things. I will test later today with a game switch


As background information, you might want to read through this detailed description of similar issues we had on cortex (from 2014). Although the V5 is very different, fundamentally we are dealing with the same issue. We have three wire ports that when the brain is first powered are in a safe un-configured condition with everything set to be a digital input, this can cause some solenoids to activate and some not. Because we never know how a robot may be changed between running different programs, we also reset everything to the digital input state when user programs are not running. This is the default unless you have used the dashboard to manually change them for testing.


This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.