# Guides

Worked examples with code, from a first Python program to a mobile robot, a leg, a gravity-compensated arm and two
motors coupled over a network, and the SimpleFOC library as an alternative firmware. The CAN commands and the Python
library are the same on STEPFOC, so the code runs there unchanged.

- [Python](https://docs.source-robotics.com/Spectral-BLDC-docs/107/guides/python/): read a driver's position and speed over CAN
- [Mobile robot](https://docs.source-robotics.com/Spectral-BLDC-docs/107/guides/mobile-robot/): two wheels driven from a game controller
- [Quadruped leg](https://docs.source-robotics.com/Spectral-BLDC-docs/107/guides/quadruped/): the kinematics and control of a two-motor leg
- [Gravity compensation](https://docs.source-robotics.com/Spectral-BLDC-docs/107/guides/gravity-compensation/): hold a link against gravity with a current feedforward
- [Bilateral teleoperation](https://docs.source-robotics.com/Spectral-BLDC-docs/107/guides/bilateral-teleoperation/): two motors that follow each other, with force feedback
- [SimpleFOC](https://docs.source-robotics.com/Spectral-BLDC-docs/107/guides/simplefoc/): running the SimpleFOC library on the Spectral Micro instead of the Spectral firmware

More examples are in the [Spectral-BLDC-Python examples](https://github.com/Source-Robotics/Spectral-BLDC-Python/tree/main/examples).
