Tutorial: Your First Canandmag
This tutorial covers the complete setup of a Redux Canandmag. By the end of this lesson, you will have a wired, configured, and programmed sensor reading rotation data.
Prerequisites
Section titled “Prerequisites”- A Redux Canandmag
- A RoboRIO with a configured CAN bus
- A laptop with WPILib VSCode installed
- A basic FRC robot project
-
Basic Wiring
Connect the Canandmag to your robot’s CAN bus.- CAN High: Yellow wire to the yellow terminal/pad.
- CAN Low: Green wire to the green terminal/pad.
- Power (12V): Red wire to a 12V PDH/PDP port.
- Ground: Black wire to the corresponding ground port.
-
Install ReduxLib
Open your FRC project in VSCode.- Press
Ctrl+Shift+P. - Select WPILib: Manage Vendor Libraries.
- Choose Install new libraries (online).
- Paste the ReduxLib URL:
https://frcsdk.reduxrobotics.com/ReduxLib_2026.json
- Press
-
Configure the CAN ID
All Redux devices ship with CAN ID 0. We need to give it a unique ID using the Configurator.- Deploy a basic robot project that includes
CanandEventLoop.getInstance();inrobotInit. - Open a web browser and navigate to
http://roborio-XXXX-frc.local:7244(replacing XXXX with your team number). - Find the device with ID 0, type
1into the CAN device ID box, and click Change ID. - The device will momentarily disappear and re-appear with the new ID.
- Deploy a basic robot project that includes
-
Write your first code
In yourRobot.javafile, let’s read the position of the encoder.// Create the sensor object with ID 1Canandmag encoder = new Canandmag(1);// Read the position in rotationsdouble position = encoder.getPosition();System.out.println("Encoder Position: " + position); -
Verify on the Dashboard
Deploy your code and open the RIOlog or SmartDashboard. You should see the position value changing as you rotate the encoder shaft.
Next Steps
Section titled “Next Steps”Now that you have the basics working, explore the How-to Guides to learn about zeroing, filtered velocity, or using the PWM output.