The mbot module provides a set of classes to control and monitor various functions on your MBot control board.
- IMU support: Buffered access to orientation, quaternion, accelerometer, gyroscope, and magnetometer data from the BHY160B sensor.
- Barometer: Accurate temperature, pressure, and altitude readings from the BMP280 sensor with full compensation.
- Battery monitoring: Reads battery voltage using a configurable voltage divider and reference.
- Filtering: SISO Butterworth lowpass/highpass filters (orders 1, 2, 4) and PID controller with D-term rolloff.
- Test scripts: Example scripts for each module to verify hardware and demonstrate usage.
- Extensible: Modular design for easy addition of new sensors and features.
- Clone the repository:
git clone https://github.com/mbot-project/mbot-python.git - Copy the
mbotfolder to your MicroPython device. - Run the test scripts in the
testsdirectory to verify hardware and functionality.
Contributions are welcome! Please fork the repository and submit a pull request with your changes. Make sure to follow the coding standards and include tests for new features.
This project is licensed under the MIT License. See the LICENSE file for more details.
- BHY160B driver adapted from BHY-Micropython-Driver by MrMoDDoM.
- BMP280 compensation formulas based on Bosch's BMP280 datasheet and application notes.