This is a magnetometer command-line tool that reads from physical magnetic sensors via Belay.
Install Magnetometer through pip:
pip install magnetometer
To start the program, invoke magnetometer
along with the port your
CircuitPython board is connected to.
magnetometer DEVICE_PORT --sensor SENSOR_TYPE
You can use the debugging sensor sin
without any physical hardware interactions.
CircuitPython must be installed on-device and must be configured with rw storage.
Magnetometer will automatically upload all necessary code to device.
Run magnetometer --help
to see more options.
- LIS3MDL - Up to ±1,600μT
- MMC5603 - Up to ±3,000μT
- LIS2MDL - Up to ±5,000μT
- TLV493D - Up to ±130,000μT
Want to support another sensor? Open an issue (or even a PR) on Github and we can try to add it!
This tool uses many awesome libraries that keep the implementation terse and the outputs beautiful:
- Belay - Seameless python/hardware interactions. Used for all hardware interactions.
- AutoRegistry - Automatic registry design-pattern library for mapping names to functionality. Used to manage sensor hardware abstraction layer.
- Textual - Text User Interface framework for Python inspired by modern web development. Used for dynamic user input.
- Rich - Python library for rich text and beautiful formatting in the terminal. Used for general UI text rendering.
- AsciiChartPy - Nice-looking lightweight console ASCII line charts. Used for chart plotting. Modified to be
rich
-compatible. - CircuitPython Bundle - A bundle of useful CircuitPython libraries ready to use from the filesystem.