Issues with REV Hardware

We have two (likely unrelated) issues with some of the REV electrical hardware – the Through Bore Encoder and the Pneumatics Hub. We are not sure if the issues are hardware or software or a combination of the two.

  1. We have a Neo that we can run just fine if we plug its integrated encoder into a SparkMAX, but if we plug the SparkMAX into the through bore encoder instead of the NEO’s integrated encoder, the NEO twitches once when given the command to run continuously, but doesn’t run. If we manually move the through bore encoder while telling it to run, the motor twitches a lot (in either/both directions), but again, doesn’t actually run in any meaningful way. We are getting values off of the Through Bore Encoder when we move the axle it’s connected to, and we tried replacing the SparkMAX, the encoder, and the NEO, to no avail.

Is there something we’re missing about how to connect things? Or something different we have to do in code to tell the SparkMAX that it’s connected to a Through Bore rather than the NEO’s integrated encoder? The NEO’s encoder isn’t connected to anything when we have the Through Bore Encoder connected (because the port on the SparkMAX is now occupied by the cable from the Through Bore).

Any help or insight would be most appreciated.

  1. Our compressor will not run. Everything checks out on the hardware client–there are no active or sticky faults. The Pneumatics Hub has power, a green light, and updated firmware. A solenoid is instantiated (this is the identical code we were running on a test bench, which worked fine). We are getting pressure values from the analog pressure switch. If we hold in the “mode” button, the status light almost instantly goes from green to flashing blue on/off (we couldn’t find the significance of that in the documentation) for about one second, then goes dark–but we get no voltage from the hub to the compressor after seven (or ten, or twenty) seconds.

Again, any help would be appreciated.

Thank you!

Don’t do this. The integrated encoder is required.

Use this for absolute: Absolute Encoder Adapter - REV Robotics
Or this for incremental: Alternate Encoder Adapter - 2 Pack - REV Robotics


Great, thanks. Somehow I missed that in the documentation.

1 Like

Can you point out in the REV documentation or elsewhere that this distinction with the adapter board selection is stated?

This wrench turner has only seen references to the Alternate Encoder Adapter in both the encoder and controller docs. I haven’t seen the Absolute Encoder Adapter mentioned in any documentation.

I’m sure there’s something I’m missing, as I am way out of my wheelhouse here. I just want to make sure my kids have the right parts.

1 Like

Still nothing on the compressor, though.

For the compressor, have you checked to verify it’s not shorted on the output? I’ve seen some compressors last year that had an internal short to the case that caused some issues for a couple of teams.

Our compressor is currently running fine with the mode button, but isn’t working with robot code yet - but we are seeing the solenoids switch with our robot code. That’s currently third on our list of debugging problems…


The absolute adapter is a newer product that came out alongside the Rev MaxSwerve. It might be too new to be well documented.

This post is a good source of info: REV Robotics - 2022/23 Product Releases & Updates - #270 by dyanoshak


Thanks for the insight! I had a vague memory of that thread but decided to rely on the documentation when we bought stuff. I just couldn’t remember where the nagging thought came from.

I won’t gripe about REV’s documentation; the volume of great new stuff in the market space greatly exceeds my minor frustration here.

Make sure you have PCH firmware updated to 23.0.1 because there was an issue with the compressor not turning on with the earlier firmware version:

Edit: sorry, I missed where you said it had updated firmware.

We were measuring the voltage output directly from the PDP without the compressor even wired to it, and getting no voltage.

It is 23.0.1, but we’re going to re-flash the firmware and see if that fixes the problem.

Edit: It will now turn on with the mode button, but not in software.

This is what our code looks like:

Analog or digital switch? We’re using the analog switch for the first time this year, and turns out that was our problem. I wasn’t there when they fixed it (working on a different problem), but you have to specify that it’s analog and the channel it’s plugged into, as there are two. Once they got that going, it started up with code just fine!


Pretty common mistake here for teams who haven’t used the Rev hub before. Once you’ve got everything matching up, you should be good to go.

Yeah we’ve specified the analog switch in port zero.

1 Like

We had the same issue with our Pnumatics Hub… We ended up fixing it by connecting with REV hardware client and making sure our Pneumatics Hub was with the CAN ID 1.

If you can’t get your Pneumatics Hub to give an output on the compressor pins, it’s worth taking apart to check the surface mounted resistor near the compressor output. Both of ours were burnt last year which caused this behavior.

With the updated firmware, it now runs the compressor in test mode (holding down the “mode” button).

1 Like

Okay, we had everything correct except we were missing enableCompressorAnalog, which we now have, and the compressor is working.

Meanwhile, we’re running the Through Bore into DIO on the Roborio, with a limit switch to re-zero the arm when it’s down, and it’s working fine.

Thanks, all!

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