Using sensors effectively allows the robot to understand itself and the world around it and is critical for building effective robots. See: [http://www.citruscircuits.org/uploads/6/9/3/4/6934550/roborio_and_sensors.pdf overview from team 1678] * Software architecture * [http://hflrobotics.com/resources/Training/2-Components%20and%20FIRST%20System%20Structure/CTSoft2-Software%20Hardware-Communications%20Structure.pdf Communications] * Understanding sensors * [https://www.sparkfun.com/tutorials/223 Datasheets] and [https://rheingoldheavy.com/how-to-read-a-datasheet/ also see here] * [wiki:Sensors/AppNotes Application (App) Notes] * Interfacing with sensors * Digital GPIO [https://www.raspberrypi.org/documentation/usage/gpio/ on the Raspberry Pi] * [https://wpilib.screenstepslive.com/s/4485/m/13809/l/599718-analog-inputs Analog interfaces] * SPI * [https://github.com/MDHSRobotics/TeamWiki/wiki/Understanding-the-RoboRio-to-I2C-Interface-Design I2C] * Asynch Serial * RS485 * [https://wpilib.screenstepslive.com/s/4485/m/13809/l/599694-using-the-can-subsystem-with-the-roborio CAN bus] and [https://mililanirobotics.gitbooks.io/frc-electrical-bible/content/roboRIO/the_can_bus.html more info] * Ethernet * [https://forums.ni.com/t5/FIRST-Robotics-Competition/roboRIO-MXP-Developer-s-Guide/ta-p/3532923 MXP port] (esp. for [http://www.pdocs.kauailabs.com/navx-mxp/ NavX]) * Closed Loop Control * [http://www.controleng.com/single-article/understanding-pid-control-and-loop-tuning-fundamentals/61530560e8cf5044c7291bda7e44b655.html PID] * Mounting sensors * 3D printing * McGyvering