Unofficial RevRobotics Discussion/Support


Does anyone know what the PID setpoint represents for the sparks? Does it represent the target voltage, current, position, or velocity? Or does it depend on what you’re using to control the motor (i.e. Percent Vbus)?



in Position mode, the PID Reference (setpoint) is “rotations” (full rotations of the motor’s output axle). In Velocity mode, the reference is “rotations per minute”. I’m not sure offhand for other modes, or if they’re even supported/relevant



A question on the CAN and Encoder cables. Once installed, is there a preferred way to remove them? I chastise the kids when I see them pulling on wires to remove any cable. We are currently using a small screwdriver and alternating ends. A long process. Is there a better way?



We’ve found that twisting two small screwdrivers simultaneously - one on each side - can be useful. I do wish these were easier to remove.



We are using three Spark Max/Neos on each side of our drive. We are running Leader/Follower mode. We have been practicing for a couple of days. The code is burned in and no modifications have been made during practice.
About 45 minutes ago, the left side had the two followers stop following. The blue LEDs were on steady on the followers while the leader led went red/green. Disabling caused all three to go blinking blue. Cycling power solved the problem. About 15 minutes ago, we had the same problem except only one follower stopped working.
Has anyone else had this issue? Any suggestions.



Can you read the hasReset fault flag on the follower devices that drop out?



I’ve asked the programmer to read the faults and display on the dashboard.



The programmer has made the changes. If it occurs again, I’ll report the values. If it is of any interest, we are running SRXs on the CAN bus as the Sparks.
We are in the process of wiring the competition robot. Is there anything that we should do that might guard against Followers getting reset?



I have recently come up with a problem after updating the Spark Max library to version 1.1.5 beta. For some reason, when I start the code, I get an error implying that native libraries were not deployed. SparkMaxDriver could not be loaded from path or an embedded resource. 
attempted to load for platform /linux/athena/ 

at edu.wpi.first.wpiutil.RuntimeLoader.loadLibrary( 
at com.revrobotics.jni.RevJNIWrapper.<clinit>( 
at com.revrobotics.CANSparkMaxLowLevel.heartbeatFunc( 
at com.revrobotics.CANSparkMaxLowLevel.lambda$static$0( 
at java.base/ Source)
1 Like


My name is Rebecca and my FRC team is interested in using Blinkin LED lights for our robot this year. This will be the first time we are using lights and I am a complete novice when it comes to programming. I have very little knowledge of coding, but I would really like to have this accessory for my team this season. Can I begin coding even if we do not have the product yet? I am very lost and am unsure where to start, if anyone could push me in the right direction that would be awesome. I’m sorry if this does not belong on this discussion board, but I am not sure where to go to for assistance.



I assume that if you are using the Blinkin’ LED’s that you are also using the Blinkin’ LED driver. It has many preset animations and colors built in, so you don’t have to program anything if you don’t want to. If you do though the color and animations can be changed with a simple PWM input, I am not sure what language you are using, or if you would want to use a signal generated by the Robrio natively or a co-processor, but nonetheless a PWM signal is very simple to setup in code, and I would assume that if your team can generate code to drive the robot you can also set up a PWM output, ask fellow programmers on your team if you have any questions, Here is a link to the setup manual for the Blinkin LED module that explains the setup as well as the PWM pulse width for calling different colors and patterns on the module.
In order to change the color or pattern in code, just change the pulse width on the PWM output, this can be changed based on an input condition so that for example the LED’s will automatically change color depending on which alliance you are on.



Okay thank you for your help!



If you are using Java, take a look at It names all the colors that the Blinkin can do, and then it’s just a matter of:

// in robotInit()
Spark blinkin = new Spark(9); // change 9 to match where the Blinkin was plugged in

// wherever you want the Blinkin to do something new:
1 Like


Thank you this is so helpful! I think I can figure it out now that I have an idea of how to word it in code. :smiley:



We purchased a Rev Robotics Blinkin that initially worked, but now shows a white status light and does not power the LED strips we plug in. Is there anything we can do to fix this? We are using the 5 volt addressable LEDs.



We are getting the same error with 1.1.8. Did you get past this?



It seems like the vendordeps json file got messed up somehow and didn’t download the native libraries correctly. Try redownloading the vendordeps



Yes, that was our problem as well. I reinstalled the spark library using the Add vendor library task in VS Code and then it worked.



Our FRC team is attempting to use Spark MAXs to be able to drive a robot around, but a couple of them won’t work. Two of the LEDs (on the Spark MAXs) are flashing like they should, but one of them is displaying a Gate Driver Fault and the other is displaying a Brushless Encoder Error. Because of these errors, we cannot run the NEOs. We have tried to reinstall the current firmware (1.1.31) and have even installed an older firmware (1.1.26), but neither of these seem to be working. We have also eliminated the possibility of there being a problem with wiring. Does anyone have any advice on the matter?



not sure about the gate driver fault but make sure the wiring for the encoder is FIRMLY pushed in. I know you said you eliminated the possibility of a wiring issue but as far as i know the only fixable problem that results in brushless encoder error is wiring. if its not, the hall sensors in the neo may have been broken somehow.