{"ref":"main","products":[{"id":"lasercan","slug":"lasercan","category":"electrical","name":"LaserCAN","status":"published","latestVersion":"1.0.0","order":100,"shortDescription":"CAN-bus laser ranging sensor (0–4 m).","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from GitBook.","navTree":[{"slug":"overview","title":"About this Product"},{"slug":"getting-started","title":"Getting Started"},{"slug":"configure-with-grapplehook","title":"Configure with GrappleHook"},{"slug":"code-examples","title":"Code Examples"},{"slug":"code-examples--lasercan-frc-example-c-","title":"LaserCAN - FRC Example (C++)"},{"slug":"code-examples--lasercan-frc-example-java","title":"LaserCAN - FRC Example (Java)"},{"slug":"mechanical-interface","title":"Mechanical Interface"},{"slug":"configure-with-thrifty-config","title":"Configure with Thrifty Config"}],"publishedAt":1779413059600,"publishedBy":"import-gitbook","pages":[{"slug":"code-examples","path":"docs/electrical/lasercan/pages/code-examples.mdx"},{"slug":"code-examples--lasercan-frc-example-c-","path":"docs/electrical/lasercan/pages/code-examples--lasercan-frc-example-c-.mdx"},{"slug":"code-examples--lasercan-frc-example-java","path":"docs/electrical/lasercan/pages/code-examples--lasercan-frc-example-java.mdx"},{"slug":"configure-with-grapplehook","path":"docs/electrical/lasercan/pages/configure-with-grapplehook.mdx"},{"slug":"configure-with-thrifty-config","path":"docs/electrical/lasercan/pages/configure-with-thrifty-config.mdx"},{"slug":"getting-started","path":"docs/electrical/lasercan/pages/getting-started.mdx"},{"slug":"mechanical-interface","path":"docs/electrical/lasercan/pages/mechanical-interface.mdx"},{"slug":"overview","path":"docs/electrical/lasercan/pages/overview.mdx"}]}]},{"id":"thrifty-through-bore-encoder","slug":"thrifty-through-bore-encoder","category":"electrical","name":"Thrifty Through Bore Encoder","status":"published","latestVersion":"1.0.0","order":100,"shortDescription":"CAN enabled 12 bit encoder","versions":[{"version":"1.0.0","status":"published","changelog":"","navTree":[{"slug":"overview","title":"Overview"},{"slug":"mechanical-details","title":"Mechanical Info"},{"slug":"wiring","title":"Wiring"},{"slug":"electrical-resources--led-color-codes","title":"LED Color Codes"},{"slug":"absolute-max-ratings","title":"Absolute Max Ratings"},{"slug":"configuring","title":"Configuring"},{"slug":"software-resources","title":"Software Resources","children":[{"slug":"software-resources--configure-encoder-settings","title":"Configure Encoder Settings"},{"slug":"software-resources--get-feedback","title":"Get Feedback"},{"slug":"software-resources--configure-can-frequency","title":"Configure CAN Frequency"},{"slug":"software-resources--simulation","title":"Simulation"}]}],"pages":[{"slug":"absolute-max-ratings","path":"docs/electrical/thrifty-through-bore-encoder/pages/absolute-max-ratings.mdx"},{"slug":"configuring","path":"docs/electrical/thrifty-through-bore-encoder/pages/configuring.mdx"},{"slug":"electrical-resources--led-color-codes","path":"docs/electrical/thrifty-through-bore-encoder/pages/electrical-resources--led-color-codes.mdx"},{"slug":"mechanical-details","path":"docs/electrical/thrifty-through-bore-encoder/pages/mechanical-details.mdx"},{"slug":"overview","path":"docs/electrical/thrifty-through-bore-encoder/pages/overview.mdx"},{"slug":"software-resources","path":"docs/electrical/thrifty-through-bore-encoder/pages/software-resources.mdx"},{"slug":"software-resources--configure-can-frequency","path":"docs/electrical/thrifty-through-bore-encoder/pages/software-resources--configure-can-frequency.mdx"},{"slug":"software-resources--configure-encoder-settings","path":"docs/electrical/thrifty-through-bore-encoder/pages/software-resources--configure-encoder-settings.mdx"},{"slug":"software-resources--get-feedback","path":"docs/electrical/thrifty-through-bore-encoder/pages/software-resources--get-feedback.mdx"},{"slug":"software-resources--simulation","path":"docs/electrical/thrifty-through-bore-encoder/pages/software-resources--simulation.mdx"},{"slug":"wiring","path":"docs/electrical/thrifty-through-bore-encoder/pages/wiring.mdx"}]}]},{"id":"thrifty-nova","slug":"thrifty-nova","category":"electrical","name":"Thrifty Nova","status":"published","latestVersion":"1.0.0","order":110,"shortDescription":"Brushless motor controller for standalone motors.","versions":[{"version":"1.0.0","status":"published","changelog":"","navTree":[{"slug":"overview","title":"Setup Your New Thrifty Nova"},{"slug":"electrical-resources--wiring-the-thrifty-nova","title":"Wiring the Thrifty Nova"},{"slug":"electrical-resources--led-color-codes","title":"LED Color Codes"},{"slug":"electrical-resources--brushless-hall-sensor-connector","title":"Brushless Hall Sensor Connector"},{"slug":"electrical-resources--usb-communications","title":"USB Communications"},{"slug":"electrical-resources--hard-reset","title":"Hard Reset"},{"slug":"electrical-resources--10-pin-data-connector","title":"10 Pin Data Connector"},{"slug":"electrical-resources--10-pin-data-connector--intro-to-sensors","title":"Intro to Sensors"},{"slug":"electrical-resources--10-pin-data-connector--sensor-hat","title":"Sensor Hat"},{"slug":"electrical-resources--10-pin-data-connector--motor-runner-board","title":"Motor Runner Board"},{"slug":"mechanical--mounting-options","title":"Mounting Options"},{"slug":"software-releases--software-releases","title":"Software Releases"},{"slug":"thrifty-config--thrifty-config-demo-video","title":"Thrifty Config Demo Video"},{"slug":"thrifty-config--updating-firmware","title":"Updating Firmware"}],"pages":[{"slug":"electrical-resources--10-pin-data-connector","path":"docs/electrical/thrifty-nova/pages/electrical-resources--10-pin-data-connector.mdx"},{"slug":"electrical-resources--10-pin-data-connector--intro-to-sensors","path":"docs/electrical/thrifty-nova/pages/electrical-resources--10-pin-data-connector--intro-to-sensors.mdx"},{"slug":"electrical-resources--10-pin-data-connector--motor-runner-board","path":"docs/electrical/thrifty-nova/pages/electrical-resources--10-pin-data-connector--motor-runner-board.mdx"},{"slug":"electrical-resources--10-pin-data-connector--sensor-hat","path":"docs/electrical/thrifty-nova/pages/electrical-resources--10-pin-data-connector--sensor-hat.mdx"},{"slug":"electrical-resources--brushless-hall-sensor-connector","path":"docs/electrical/thrifty-nova/pages/electrical-resources--brushless-hall-sensor-connector.mdx"},{"slug":"electrical-resources--hard-reset","path":"docs/electrical/thrifty-nova/pages/electrical-resources--hard-reset.mdx"},{"slug":"electrical-resources--led-color-codes","path":"docs/electrical/thrifty-nova/pages/electrical-resources--led-color-codes.mdx"},{"slug":"electrical-resources--usb-communications","path":"docs/electrical/thrifty-nova/pages/electrical-resources--usb-communications.mdx"},{"slug":"electrical-resources--wiring-the-thrifty-nova","path":"docs/electrical/thrifty-nova/pages/electrical-resources--wiring-the-thrifty-nova.mdx"},{"slug":"mechanical--mounting-options","path":"docs/electrical/thrifty-nova/pages/mechanical--mounting-options.mdx"},{"slug":"overview","path":"docs/electrical/thrifty-nova/pages/overview.mdx"},{"slug":"software-releases--software-releases","path":"docs/electrical/thrifty-nova/pages/software-releases--software-releases.mdx"},{"slug":"thrifty-config--thrifty-config-demo-video","path":"docs/electrical/thrifty-nova/pages/thrifty-config--thrifty-config-demo-video.mdx"},{"slug":"thrifty-config--updating-firmware","path":"docs/electrical/thrifty-nova/pages/thrifty-config--updating-firmware.mdx"}]}]},{"id":"mitocandria","slug":"mitocandria","category":"electrical","name":"MitoCANdria","status":"published","latestVersion":"1.0.0","order":120,"shortDescription":"6-channel CAN-controlled USB power distribution.","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from GitBook.","navTree":[{"slug":"overview","title":"About this Product"},{"slug":"power-consumption-and-wiring-guide","title":"Power Consumption and Wiring Guide"},{"slug":"led-states","title":"LED States"},{"slug":"configuring-with-grapplehook","title":"Configuring with GrappleHook"},{"slug":"code-examples","title":"Code Examples"},{"slug":"code-examples--java-example","title":"Java Example"},{"slug":"code-examples--c--example","title":"C++ Example"},{"slug":"mechanical-info","title":"Mechanical Info"},{"slug":"how-to-use-load-calculator","title":"How To Use Load Calculator"},{"slug":"configuring-with-thrifty-config","title":"Configuring with Thrifty Config"}],"publishedAt":1779413065229,"publishedBy":"import-gitbook","pages":[{"slug":"code-examples","path":"docs/electrical/mitocandria/pages/code-examples.mdx"},{"slug":"code-examples--c--example","path":"docs/electrical/mitocandria/pages/code-examples--c--example.mdx"},{"slug":"code-examples--java-example","path":"docs/electrical/mitocandria/pages/code-examples--java-example.mdx"},{"slug":"configuring-with-grapplehook","path":"docs/electrical/mitocandria/pages/configuring-with-grapplehook.mdx"},{"slug":"configuring-with-thrifty-config","path":"docs/electrical/mitocandria/pages/configuring-with-thrifty-config.mdx"},{"slug":"how-to-use-load-calculator","path":"docs/electrical/mitocandria/pages/how-to-use-load-calculator.mdx"},{"slug":"led-states","path":"docs/electrical/mitocandria/pages/led-states.mdx"},{"slug":"mechanical-info","path":"docs/electrical/mitocandria/pages/mechanical-info.mdx"},{"slug":"overview","path":"docs/electrical/mitocandria/pages/overview.mdx"},{"slug":"power-consumption-and-wiring-guide","path":"docs/electrical/mitocandria/pages/power-consumption-and-wiring-guide.mdx"}]}]},{"id":"thrifty-absolute-encoder","slug":"thrifty-absolute-encoder","category":"electrical","name":"Thrifty Absolute Encoder","status":"published","latestVersion":"1.0.0","order":130,"shortDescription":"Analog magnetic absolute encoder.","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from GitBook.","navTree":[{"slug":"overview","title":"Thrifty Absolute Encoder"},{"slug":"setup-guide--getting-set-up","title":"Getting set up"},{"slug":"setup-guide--getting-set-up--magnet-placement","title":"Magnet Placement"},{"slug":"setup-guide--getting-set-up--wiring","title":"Wiring"},{"slug":"setup-guide--getting-set-up--software","title":"Software"},{"slug":"setup-guide--getting-set-up--using-with-3-3v","title":"Using with 3.3V"},{"slug":"absolute-max-ratings","title":"Absolute Max Ratings"}],"publishedAt":1779413069140,"publishedBy":"import-gitbook","pages":[{"slug":"absolute-max-ratings","path":"docs/electrical/thrifty-absolute-encoder/pages/absolute-max-ratings.mdx"},{"slug":"overview","path":"docs/electrical/thrifty-absolute-encoder/pages/overview.mdx"},{"slug":"setup-guide--getting-set-up","path":"docs/electrical/thrifty-absolute-encoder/pages/setup-guide--getting-set-up.mdx"},{"slug":"setup-guide--getting-set-up--magnet-placement","path":"docs/electrical/thrifty-absolute-encoder/pages/setup-guide--getting-set-up--magnet-placement.mdx"},{"slug":"setup-guide--getting-set-up--software","path":"docs/electrical/thrifty-absolute-encoder/pages/setup-guide--getting-set-up--software.mdx"},{"slug":"setup-guide--getting-set-up--using-with-3-3v","path":"docs/electrical/thrifty-absolute-encoder/pages/setup-guide--getting-set-up--using-with-3-3v.mdx"},{"slug":"setup-guide--getting-set-up--wiring","path":"docs/electrical/thrifty-absolute-encoder/pages/setup-guide--getting-set-up--wiring.mdx"}]}]},{"id":"thrifty-hall-effect","slug":"thrifty-hall-effect","category":"electrical","name":"Thrifty Hall Effect Sensor","status":"published","latestVersion":"1.0.0","order":140,"shortDescription":"Compact non-contact limit / position sensor.","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from GitBook.","navTree":[{"slug":"overview","title":"Thrifty Hall Effect"},{"slug":"setup-guide--getting-set-up","title":"Getting set up"},{"slug":"setup-guide--getting-set-up--magnet-placement","title":"Magnet Placement"},{"slug":"setup-guide--getting-set-up--wiring","title":"Wiring"},{"slug":"setup-guide--getting-set-up--software","title":"Software"},{"slug":"setup-guide--getting-set-up--using-with-3-3v","title":"Using with 3.3V"},{"slug":"absolute-max-ratings","title":"Absolute Max Ratings"}],"publishedAt":1779413072708,"publishedBy":"import-gitbook","pages":[{"slug":"absolute-max-ratings","path":"docs/electrical/thrifty-hall-effect/pages/absolute-max-ratings.mdx"},{"slug":"overview","path":"docs/electrical/thrifty-hall-effect/pages/overview.mdx"},{"slug":"setup-guide--getting-set-up","path":"docs/electrical/thrifty-hall-effect/pages/setup-guide--getting-set-up.mdx"},{"slug":"setup-guide--getting-set-up--magnet-placement","path":"docs/electrical/thrifty-hall-effect/pages/setup-guide--getting-set-up--magnet-placement.mdx"},{"slug":"setup-guide--getting-set-up--software","path":"docs/electrical/thrifty-hall-effect/pages/setup-guide--getting-set-up--software.mdx"},{"slug":"setup-guide--getting-set-up--using-with-3-3v","path":"docs/electrical/thrifty-hall-effect/pages/setup-guide--getting-set-up--using-with-3-3v.mdx"},{"slug":"setup-guide--getting-set-up--wiring","path":"docs/electrical/thrifty-hall-effect/pages/setup-guide--getting-set-up--wiring.mdx"}]}]},{"id":"10-pin-encoder","slug":"10-pin-encoder","category":"electrical","name":"10-Pin Encoder","status":"published","latestVersion":"1.0.0","order":150,"shortDescription":"10-Pin absolute encoder","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from GitBook.","navTree":[{"slug":"overview","title":"Thrifty 10 Pin Magnetic Encoder"},{"slug":"setup-guide--getting-set-up","title":"Getting set up"},{"slug":"setup-guide--getting-set-up--magnet-placement","title":"Magnet Placement"},{"slug":"setup-guide--getting-set-up--wiring","title":"Wiring"},{"slug":"mechanical-drawing","title":"Mechanical Drawing"}],"publishedAt":1779413075252,"publishedBy":"import-gitbook","pages":[{"slug":"mechanical-drawing","path":"docs/electrical/10-pin-encoder/pages/mechanical-drawing.mdx"},{"slug":"overview","path":"docs/electrical/10-pin-encoder/pages/overview.mdx"},{"slug":"setup-guide--getting-set-up","path":"docs/electrical/10-pin-encoder/pages/setup-guide--getting-set-up.mdx"},{"slug":"setup-guide--getting-set-up--magnet-placement","path":"docs/electrical/10-pin-encoder/pages/setup-guide--getting-set-up--magnet-placement.mdx"},{"slug":"setup-guide--getting-set-up--wiring","path":"docs/electrical/10-pin-encoder/pages/setup-guide--getting-set-up--wiring.mdx"}]}]},{"id":"pulsar-775","slug":"pulsar-775","category":"electrical","name":"Pulsar 775","status":"published","latestVersion":"1.0.0","order":160,"shortDescription":"775-class brushed motor.","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from GitBook.","navTree":[{"slug":"overview","title":"Pulsar 775"},{"slug":"mechanical-info--shaft-info","title":"Shaft Info"},{"slug":"mechanical-info--mounting-info","title":"Mounting Info"},{"slug":"performance--dyno-data","title":"Dyno Data"},{"slug":"performance--how-to-read-motor-info","title":"How to Read Motor Info"},{"slug":"performance--how-does-this-compare","title":"How Does This Compare?"},{"slug":"electrical-info","title":"Electrical Info"}],"publishedAt":1779413077950,"publishedBy":"import-gitbook","pages":[{"slug":"electrical-info","path":"docs/electrical/pulsar-775/pages/electrical-info.mdx"},{"slug":"mechanical-info--mounting-info","path":"docs/electrical/pulsar-775/pages/mechanical-info--mounting-info.mdx"},{"slug":"mechanical-info--shaft-info","path":"docs/electrical/pulsar-775/pages/mechanical-info--shaft-info.mdx"},{"slug":"overview","path":"docs/electrical/pulsar-775/pages/overview.mdx"},{"slug":"performance--dyno-data","path":"docs/electrical/pulsar-775/pages/performance--dyno-data.mdx"},{"slug":"performance--how-does-this-compare","path":"docs/electrical/pulsar-775/pages/performance--how-does-this-compare.mdx"},{"slug":"performance--how-to-read-motor-info","path":"docs/electrical/pulsar-775/pages/performance--how-to-read-motor-info.mdx"}]}]},{"id":"thriftycam","slug":"thriftycam","category":"electrical","name":"ThriftyCam","status":"published","latestVersion":"1.0.0","order":170,"shortDescription":"2MP Global Shutter Camera for FRC.","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from GitBook.","navTree":[{"slug":"overview","title":"Camera Info"},{"slug":"lens-info","title":"Lens Info"},{"slug":"mechanical-info","title":"Mechanical Info"},{"slug":"lens-kit-extended-info","title":"Lens Kit Extended Info"}],"publishedAt":1779413080229,"publishedBy":"import-gitbook","pages":[{"slug":"lens-info","path":"docs/electrical/thriftycam/pages/lens-info.mdx"},{"slug":"lens-kit-extended-info","path":"docs/electrical/thriftycam/pages/lens-kit-extended-info.mdx"},{"slug":"mechanical-info","path":"docs/electrical/thriftycam/pages/mechanical-info.mdx"},{"slug":"overview","path":"docs/electrical/thriftycam/pages/overview.mdx"}]}]},{"id":"thriftiest-cam","slug":"thriftiest-cam","category":"electrical","name":"Thriftiest Cam","status":"published","latestVersion":"1.0.0","order":180,"shortDescription":"1MP Global-shutter camera for FRC.","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from GitBook.","navTree":[{"slug":"overview","title":"Camera Info"},{"slug":"lens-info","title":"Lens Info"},{"slug":"lens-kit-extended-info","title":"Lens Kit Extended Info"},{"slug":"mechanical-info","title":"Mechanical Info"}],"publishedAt":1779419624444,"publishedBy":"import-gitbook","pages":[{"slug":"lens-info","path":"docs/electrical/thriftiest-cam/pages/lens-info.mdx"},{"slug":"lens-kit-extended-info","path":"docs/electrical/thriftiest-cam/pages/lens-kit-extended-info.mdx"},{"slug":"mechanical-info","path":"docs/electrical/thriftiest-cam/pages/mechanical-info.mdx"},{"slug":"overview","path":"docs/electrical/thriftiest-cam/pages/overview.mdx"}]}]},{"id":"thrifty-12v-leds","slug":"thrifty-12v-leds","category":"electrical","name":"Thrifty 12V Addressable LEDs","status":"published","latestVersion":"1.0.0","order":190,"shortDescription":"12V addressable RGB LED strip.","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from GitBook.","navTree":[{"slug":"overview","title":"Summary"},{"slug":"wiring","title":"Wiring"},{"slug":"power-budget","title":"Power Budget"},{"slug":"software-integration","title":"Software Integration"}],"publishedAt":1779413082215,"publishedBy":"import-gitbook","pages":[{"slug":"overview","path":"docs/electrical/thrifty-12v-leds/pages/overview.mdx"},{"slug":"power-budget","path":"docs/electrical/thrifty-12v-leds/pages/power-budget.mdx"},{"slug":"software-integration","path":"docs/electrical/thrifty-12v-leds/pages/software-integration.mdx"},{"slug":"wiring","path":"docs/electrical/thrifty-12v-leds/pages/wiring.mdx"}]}]},{"id":"cycloidal","slug":"cycloidal","category":"mechanical","name":"Cycloidal Gearbox","status":"published","latestVersion":"1.0.0","order":10,"shortDescription":"High-ratio compact gearbox.","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from GitBook.","navTree":[{"slug":"overview","title":"Overview","children":[{"slug":"overview--advantages","title":"Advantages"}]},{"slug":"features","title":"Features","children":[{"slug":"features--load-testing","title":"Load Testing"}]},{"slug":"specs","title":"Specs","children":[{"slug":"specs--mounting-and-assembly","title":"Mounting and Assembly"}]},{"slug":"arm-joint-kit","title":"Arm Joint Kit","children":[{"slug":"arm-joint-kit--adjusting-configuration","title":"Adjusting Configuration"}]},{"slug":"applications","title":"Applications","children":[{"slug":"applications--tensioned-chain-input","title":"Tensioned Chain Input"},{"slug":"applications--arm-carriage","title":"Arm/Carriage"},{"slug":"applications--wrist-turret","title":"Wrist/Turret"},{"slug":"applications--double-cycloidal-arm","title":"Double Cycloidal Arm"},{"slug":"applications--multi-jointed-arm","title":"Multi-Jointed Arm"},{"slug":"output-adapter-kit","title":"Output Adapter Kit"}]}],"publishedAt":1779413089332,"publishedBy":"import-gitbook","pages":[{"slug":"applications","path":"docs/mechanical/cycloidal/pages/applications.mdx"},{"slug":"applications--arm-carriage","path":"docs/mechanical/cycloidal/pages/applications--arm-carriage.mdx"},{"slug":"applications--double-cycloidal-arm","path":"docs/mechanical/cycloidal/pages/applications--double-cycloidal-arm.mdx"},{"slug":"applications--multi-jointed-arm","path":"docs/mechanical/cycloidal/pages/applications--multi-jointed-arm.mdx"},{"slug":"applications--tensioned-chain-input","path":"docs/mechanical/cycloidal/pages/applications--tensioned-chain-input.mdx"},{"slug":"applications--wrist-turret","path":"docs/mechanical/cycloidal/pages/applications--wrist-turret.mdx"},{"slug":"arm-joint-kit","path":"docs/mechanical/cycloidal/pages/arm-joint-kit.mdx"},{"slug":"arm-joint-kit--adjusting-configuration","path":"docs/mechanical/cycloidal/pages/arm-joint-kit--adjusting-configuration.mdx"},{"slug":"features","path":"docs/mechanical/cycloidal/pages/features.mdx"},{"slug":"features--load-testing","path":"docs/mechanical/cycloidal/pages/features--load-testing.mdx"},{"slug":"output-adapter-kit","path":"docs/mechanical/cycloidal/pages/output-adapter-kit.mdx"},{"slug":"overview","path":"docs/mechanical/cycloidal/pages/overview.mdx"},{"slug":"overview--advantages","path":"docs/mechanical/cycloidal/pages/overview--advantages.mdx"},{"slug":"specs","path":"docs/mechanical/cycloidal/pages/specs.mdx"},{"slug":"specs--mounting-and-assembly","path":"docs/mechanical/cycloidal/pages/specs--mounting-and-assembly.mdx"}]}]},{"id":"narrow-swerve","slug":"narrow-swerve","category":"mechanical","name":"Narrow Swerve","status":"published","latestVersion":"1.0.0","order":20,"shortDescription":"Compact swerve module.","versions":[{"version":"1.0.0","status":"published","changelog":"Fixed formatting errors","navTree":[{"slug":"overview","title":"Overview"},{"slug":"conversion-kit","title":"Conversion Kit"},{"slug":"assembly-instructions","title":"Assembly Instructions"},{"slug":"assembly-instructions--steps-1-8","title":"Steps 1-8"},{"slug":"assembly-instructions--steps-9-11-wheel-assembly","title":"Steps 9-11 (Wheel Assembly)"},{"slug":"assembly-instructions--steps-12-16","title":"Steps 12-16"},{"slug":"assembly-instructions--steps-17-25","title":"Steps 17 - 24"},{"slug":"assembly-instructions--final-reminders","title":"Final Reminders"}],"publishedAt":1779413096611,"publishedBy":"import-gitbook","pages":[{"slug":"assembly-instructions","path":"docs/mechanical/narrow-swerve/pages/assembly-instructions.mdx"},{"slug":"assembly-instructions--final-reminders","path":"docs/mechanical/narrow-swerve/pages/assembly-instructions--final-reminders.mdx"},{"slug":"assembly-instructions--steps-1-8","path":"docs/mechanical/narrow-swerve/pages/assembly-instructions--steps-1-8.mdx"},{"slug":"assembly-instructions--steps-12-16","path":"docs/mechanical/narrow-swerve/pages/assembly-instructions--steps-12-16.mdx"},{"slug":"assembly-instructions--steps-17-25","path":"docs/mechanical/narrow-swerve/pages/assembly-instructions--steps-17-25.mdx"},{"slug":"assembly-instructions--steps-9-11-wheel-assembly","path":"docs/mechanical/narrow-swerve/pages/assembly-instructions--steps-9-11-wheel-assembly.mdx"},{"slug":"conversion-kit","path":"docs/mechanical/narrow-swerve/pages/conversion-kit.mdx"},{"slug":"overview","path":"docs/mechanical/narrow-swerve/pages/overview.mdx"}]}]},{"id":"telescoping-tube-kit","slug":"telescoping-tube-kit","category":"mechanical","name":"Telescoping Tube Kit","status":"published","latestVersion":"1.0.0","order":30,"shortDescription":"Hardware and plates needed for a telescoping tube system.","versions":[{"version":"1.0.0","status":"published","changelog":"Fixed Formatting issues","navTree":[{"slug":"overview","title":"Product Description","children":[{"slug":"overview--drawings","title":"Drawings"}]},{"slug":"assembly--general-instructions","title":"General Instructions","children":[{"slug":"assembly--2nd-stage-assembly","title":"2nd Stage Assembly"},{"slug":"assembly--base-stage-assembly","title":"Base Stage Assembly"}]},{"slug":"application--bar-climber-examples","title":"Bar Climber Examples"}],"publishedAt":1779413103665,"publishedBy":"import-gitbook","pages":[{"slug":"application--bar-climber-examples","path":"docs/mechanical/telescoping-tube-kit/pages/application--bar-climber-examples.mdx"},{"slug":"assembly--2nd-stage-assembly","path":"docs/mechanical/telescoping-tube-kit/pages/assembly--2nd-stage-assembly.mdx"},{"slug":"assembly--base-stage-assembly","path":"docs/mechanical/telescoping-tube-kit/pages/assembly--base-stage-assembly.mdx"},{"slug":"assembly--general-instructions","path":"docs/mechanical/telescoping-tube-kit/pages/assembly--general-instructions.mdx"},{"slug":"overview","path":"docs/mechanical/telescoping-tube-kit/pages/overview.mdx"},{"slug":"overview--drawings","path":"docs/mechanical/telescoping-tube-kit/pages/overview--drawings.mdx"}]}]},{"id":"thrifty-roller-kit","slug":"thrifty-roller-kit","category":"mechanical","name":"Thrifty Roller Kit","status":"published","latestVersion":"1.0.0","order":40,"shortDescription":"Modular gripper-roller kit for rolling mechanisms.","versions":[{"version":"1.0.0","status":"published","changelog":"Fixed Format Errors","navTree":[{"slug":"overview","title":"Features and Product Description","children":[{"slug":"overview--drawings","title":"Drawings"}]},{"slug":"assembly-instructions--general-instructions","title":"General Assembly Instructions","children":[{"slug":"assembly-instructions--live-axle-assembly","title":"Live Axle Assembly"},{"slug":"assembly-instructions--dead-axle-hexshaft-assembly","title":"Dead Axle- Hexshaft Assembly"},{"slug":"assembly-instructions--dead-axle-bolt-assembly","title":"Dead Axle- Bolt Assembly"},{"slug":"assembly-instructions--dead-axle-round-tube-assembly","title":"Dead Axle- Round Tube Assembly"},{"slug":"assembly-instructions--crowned-roller-pulleys-and-polybelt-assembly","title":"Crowned Roller Pulleys and Polybelt Assembly"}]},{"slug":"applications--overview","title":"Applications Overview","children":[{"slug":"applications--roller-intake","title":"Roller Intake"},{"slug":"applications--indexer","title":"Indexer"}]}],"publishedAt":1779413110870,"publishedBy":"import-gitbook","pages":[{"slug":"applications--indexer","path":"docs/mechanical/thrifty-roller-kit/pages/applications--indexer.mdx"},{"slug":"applications--overview","path":"docs/mechanical/thrifty-roller-kit/pages/applications--overview.mdx"},{"slug":"applications--roller-intake","path":"docs/mechanical/thrifty-roller-kit/pages/applications--roller-intake.mdx"},{"slug":"assembly-instructions--crowned-roller-pulleys-and-polybelt-assembly","path":"docs/mechanical/thrifty-roller-kit/pages/assembly-instructions--crowned-roller-pulleys-and-polybelt-assembly.mdx"},{"slug":"assembly-instructions--dead-axle-bolt-assembly","path":"docs/mechanical/thrifty-roller-kit/pages/assembly-instructions--dead-axle-bolt-assembly.mdx"},{"slug":"assembly-instructions--dead-axle-hexshaft-assembly","path":"docs/mechanical/thrifty-roller-kit/pages/assembly-instructions--dead-axle-hexshaft-assembly.mdx"},{"slug":"assembly-instructions--dead-axle-round-tube-assembly","path":"docs/mechanical/thrifty-roller-kit/pages/assembly-instructions--dead-axle-round-tube-assembly.mdx"},{"slug":"assembly-instructions--general-instructions","path":"docs/mechanical/thrifty-roller-kit/pages/assembly-instructions--general-instructions.mdx"},{"slug":"assembly-instructions--live-axle-assembly","path":"docs/mechanical/thrifty-roller-kit/pages/assembly-instructions--live-axle-assembly.mdx"},{"slug":"overview","path":"docs/mechanical/thrifty-roller-kit/pages/overview.mdx"},{"slug":"overview--drawings","path":"docs/mechanical/thrifty-roller-kit/pages/overview--drawings.mdx"}]}]},{"id":"bumper-kit","slug":"bumper-kit","category":"mechanical","name":"Bumper Kit","status":"published","latestVersion":"1.0.0","order":50,"shortDescription":"A kit to make bumpers simpler.","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from GitBook.","navTree":[{"slug":"overview","title":"Product Description"},{"slug":"overview--drawings","title":"Drawings"},{"slug":"overview--bumper-foam-testing","title":"Bumper Foam Testing"},{"slug":"assembly--pre-assembly-steps","title":"Pre-Assembly Steps"},{"slug":"assembly--step-by-step-instructions","title":"Step by Step Instructions"},{"slug":"assembly--bumper-gap","title":"Bumper Gap"},{"slug":"assembly--split-bumpers-and-bumper-strength","title":"Split Bumpers and Bumper Strength"}],"publishedAt":1779413116233,"publishedBy":"import-gitbook","pages":[{"slug":"assembly--bumper-gap","path":"docs/mechanical/bumper-kit/pages/assembly--bumper-gap.mdx"},{"slug":"assembly--pre-assembly-steps","path":"docs/mechanical/bumper-kit/pages/assembly--pre-assembly-steps.mdx"},{"slug":"assembly--split-bumpers-and-bumper-strength","path":"docs/mechanical/bumper-kit/pages/assembly--split-bumpers-and-bumper-strength.mdx"},{"slug":"assembly--step-by-step-instructions","path":"docs/mechanical/bumper-kit/pages/assembly--step-by-step-instructions.mdx"},{"slug":"overview","path":"docs/mechanical/bumper-kit/pages/overview.mdx"},{"slug":"overview--bumper-foam-testing","path":"docs/mechanical/bumper-kit/pages/overview--bumper-foam-testing.mdx"},{"slug":"overview--drawings","path":"docs/mechanical/bumper-kit/pages/overview--drawings.mdx"}]}]},{"id":"chain-and-sprockets","slug":"chain-and-sprockets","category":"mechanical","name":"Chain & Sprockets","status":"published","latestVersion":"1.0.0","order":60,"shortDescription":"Thrifty Sprockets","versions":[{"version":"1.0.0","status":"published","changelog":"Fixed Formatting Issues","navTree":[{"slug":"overview","title":"Overview"},{"slug":"roller-chain","title":"Roller Chain"},{"slug":"25-chain-drawings--25-billet-sprockets","title":"#25 Billet Sprockets"},{"slug":"25-chain-drawings--25-plate-sprockets","title":"#25 Plate Sprockets"},{"slug":"25-chain-drawings--25-small-sprockets","title":"#25 Small Sprockets"},{"slug":"35-chain-drawings--35-billet-sprockets","title":"#35 Billet Sprockets"},{"slug":"35-chain-drawings--35-plate-sprockets","title":"#35 Plate Sprockets"},{"slug":"35-chain-drawings--35-small-sprockets","title":"#35 Small Sprockets"},{"slug":"accessories--chain-tensioner-turnbuckle","title":"Chain Tensioner (Turnbuckle)"},{"slug":"accessories--25-chain-attachment-piece","title":"25 Chain Attachment Piece"}],"publishedAt":1779413122297,"publishedBy":"import-gitbook","pages":[{"slug":"25-chain-drawings--25-billet-sprockets","path":"docs/mechanical/chain-and-sprockets/pages/25-chain-drawings--25-billet-sprockets.mdx"},{"slug":"25-chain-drawings--25-plate-sprockets","path":"docs/mechanical/chain-and-sprockets/pages/25-chain-drawings--25-plate-sprockets.mdx"},{"slug":"25-chain-drawings--25-small-sprockets","path":"docs/mechanical/chain-and-sprockets/pages/25-chain-drawings--25-small-sprockets.mdx"},{"slug":"35-chain-drawings--35-billet-sprockets","path":"docs/mechanical/chain-and-sprockets/pages/35-chain-drawings--35-billet-sprockets.mdx"},{"slug":"35-chain-drawings--35-plate-sprockets","path":"docs/mechanical/chain-and-sprockets/pages/35-chain-drawings--35-plate-sprockets.mdx"},{"slug":"35-chain-drawings--35-small-sprockets","path":"docs/mechanical/chain-and-sprockets/pages/35-chain-drawings--35-small-sprockets.mdx"},{"slug":"accessories--25-chain-attachment-piece","path":"docs/mechanical/chain-and-sprockets/pages/accessories--25-chain-attachment-piece.mdx"},{"slug":"accessories--chain-tensioner-turnbuckle","path":"docs/mechanical/chain-and-sprockets/pages/accessories--chain-tensioner-turnbuckle.mdx"},{"slug":"overview","path":"docs/mechanical/chain-and-sprockets/pages/overview.mdx"},{"slug":"roller-chain","path":"docs/mechanical/chain-and-sprockets/pages/roller-chain.mdx"}]}]},{"id":"wheels-and-tread","slug":"wheels-and-tread","category":"mechanical","name":"Wheels & Tread","status":"published","latestVersion":"1.0.0","order":70,"shortDescription":"Wheels and replacement tread.","versions":[{"version":"1.0.0","status":"published","changelog":"Format Updates","navTree":[{"slug":"overview","title":"Squish Wheels Overview","children":[{"slug":"squish-wheels--cad-and-drawings","title":"CAD and Drawings"}]},{"slug":"solid-urethane-wheels--overview","title":"Solid Urethane Wheels Overview","children":[{"slug":"solid-urethane-wheels--cad-and-drawings","title":"CAD and Drawings"}]},{"slug":"tread--overview","title":"Tread Overview"}],"publishedAt":1779413125723,"publishedBy":"import-gitbook","pages":[{"slug":"overview","path":"docs/mechanical/wheels-and-tread/pages/overview.mdx"},{"slug":"solid-urethane-wheels--cad-and-drawings","path":"docs/mechanical/wheels-and-tread/pages/solid-urethane-wheels--cad-and-drawings.mdx"},{"slug":"solid-urethane-wheels--overview","path":"docs/mechanical/wheels-and-tread/pages/solid-urethane-wheels--overview.mdx"},{"slug":"squish-wheels--cad-and-drawings","path":"docs/mechanical/wheels-and-tread/pages/squish-wheels--cad-and-drawings.mdx"},{"slug":"tread--overview","path":"docs/mechanical/wheels-and-tread/pages/tread--overview.mdx"}]}]},{"id":"nova-firmware","slug":"nova-firmware","category":"software","name":"Thrifty Nova Firmware","status":"published","latestVersion":"1.0.0","order":100,"shortDescription":"Firmware releases for the Thrifty Nova brushless controller.","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from Docs_Home HTML.","navTree":[{"slug":"overview","title":"Releases"}],"publishedAt":1779415016898,"publishedBy":"import-software","pages":[{"slug":"overview","path":"docs/software/nova-firmware/pages/overview.mdx"}]}]},{"id":"thriftylib","slug":"thriftylib","category":"software","name":"ThriftyLib","status":"published","latestVersion":"2026.1.2","order":100,"shortDescription":"ThriftyBot software library ","versions":[{"version":"2026.1.2","status":"published","changelog":"","navTree":[{"slug":"overview","title":"Overview"},{"slug":"creating-a-device","title":"Creating a Device"},{"slug":"configs","title":"Configs"},{"slug":"pid-tuning","title":"PID Tuning","children":[{"slug":"setting-the-proportional-term","title":"Setting the Proportional Term"},{"slug":"setting-the-integral-term","title":"Setting the Integral Term"},{"slug":"setting-the-derivative-term","title":"Setting the Derivative Term"},{"slug":"additional-pid-features","title":"Additional PID Features"}]},{"slug":"motion-profile-tuning","title":"Motion Profile Tuning","children":[{"slug":"setting-up-motion-profiling","title":"Setting Up Motion Profiling","children":[{"slug":"constant-gravity-tuning","title":"Constant Gravity Tuning"},{"slug":"cosine-gravity-tuning","title":"Cosine Gravity Tuning"}]},{"slug":"tuning-motion-profile-gains","title":"Tuning Motion Profile Gains"},{"slug":"pid-with-motion-profiling","title":"PID with Motion Profiling"}]},{"slug":"control-types","title":"Control Types"},{"slug":"status-and-telemetry","title":"Status-and-Telemetry"},{"slug":"simulation","title":"Simulation"},{"slug":"javadoc","title":"API Reference"},{"slug":"known-issues","title":"Known Issues"},{"slug":"error-handling","title":"Error Handling"}],"publishedAt":1781299366246,"publishedBy":"preston.gump@thethriftybot.com","pages":[{"slug":"additional-pid-features","path":"docs/software/thriftylib/pages/additional-pid-features.mdx"},{"slug":"configs","path":"docs/software/thriftylib/pages/configs.mdx"},{"slug":"constant-gravity-tuning","path":"docs/software/thriftylib/pages/constant-gravity-tuning.mdx"},{"slug":"control-types","path":"docs/software/thriftylib/pages/control-types.mdx"},{"slug":"cosine-gravity-tuning","path":"docs/software/thriftylib/pages/cosine-gravity-tuning.mdx"},{"slug":"creating-a-device","path":"docs/software/thriftylib/pages/creating-a-device.mdx"},{"slug":"error-handling","path":"docs/software/thriftylib/pages/error-handling.mdx"},{"slug":"javadoc","path":"docs/software/thriftylib/pages/javadoc.mdx"},{"slug":"known-issues","path":"docs/software/thriftylib/pages/known-issues.mdx"},{"slug":"motion-profile-simulator","path":"docs/software/thriftylib/pages/motion-profile-simulator.mdx"},{"slug":"motion-profile-tuning","path":"docs/software/thriftylib/pages/motion-profile-tuning.mdx"},{"slug":"overview","path":"docs/software/thriftylib/pages/overview.mdx"},{"slug":"pid-tuning","path":"docs/software/thriftylib/pages/pid-tuning.mdx"},{"slug":"pid-with-motion-profiling","path":"docs/software/thriftylib/pages/pid-with-motion-profiling.mdx"},{"slug":"setting-the-derivative-term","path":"docs/software/thriftylib/pages/setting-the-derivative-term.mdx"},{"slug":"setting-the-integral-term","path":"docs/software/thriftylib/pages/setting-the-integral-term.mdx"},{"slug":"setting-the-proportional-term","path":"docs/software/thriftylib/pages/setting-the-proportional-term.mdx"},{"slug":"setting-up-motion-profiling","path":"docs/software/thriftylib/pages/setting-up-motion-profiling.mdx"},{"slug":"simulation","path":"docs/software/thriftylib/pages/simulation.mdx"},{"slug":"status-and-telemetry","path":"docs/software/thriftylib/pages/status-and-telemetry.mdx"},{"slug":"tuning-motion-profile-gains","path":"docs/software/thriftylib/pages/tuning-motion-profile-gains.mdx"}]}]},{"id":"thrifty-config","slug":"thrifty-config","category":"software","name":"Thrifty Config","status":"published","latestVersion":"1.0.0","order":110,"shortDescription":"Configuration desktop app for Thrifty CAN devices.","versions":[{"version":"1.0.0","status":"published","changelog":"Initial import from Docs_Home HTML.","navTree":[{"slug":"overview","title":"Download"},{"slug":"version-history","title":"Version History"}],"publishedAt":1779415016828,"publishedBy":"import-software","pages":[{"slug":"overview","path":"docs/software/thrifty-config/pages/overview.mdx"},{"slug":"version-history","path":"docs/software/thrifty-config/pages/version-history.mdx"}]}]}]}