feat:(motorgo-axis): Add BSP component for the MotorGo Axis board#640
Merged
Conversation
|
✅Static analysis result - no issues found! ✅ |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new ESPP board-support package (BSP) component for the Every Flavor Robotics MotorGo Axis (ESP32-S3) board, integrating it into the project’s documentation and CI/component-publishing flows.
Changes:
- Introduces the
components/motorgo-axisBSP component (pin maps + helpers for BLDC drivers, MT6701 SSI encoders, LSM6DS33 IMU over hidden I2C, and LED breathing/brightness control). - Adds a complete ESP-IDF example project for the MotorGo Axis board and wires it into the CI build matrix.
- Integrates the new component into the documentation index and Doxygen inputs/examples list, and into the component upload workflow.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| doc/en/motorgo_axis.rst | Adds the MotorGo Axis documentation page and API reference include. |
| doc/en/motorgo_axis_example.md | Includes the component example README into the docs. |
| doc/en/index.rst | Adds motorgo_axis to the docs toctree. |
| doc/Doxyfile | Adds the component header and example source to Doxygen INPUT/EXAMPLE_PATH. |
| components/motorgo-axis/src/motorgo-axis.cpp | Implements the MotorGo Axis singleton BSP helpers (motors/encoders/IMU/LEDs). |
| components/motorgo-axis/README.md | Documents the board features and what the BSP provides. |
| components/motorgo-axis/include/motorgo-axis.hpp | Public API for the BSP (pin maps + initialization and accessors). |
| components/motorgo-axis/idf_component.yml | Registers the component with the IDF Component Manager metadata and dependencies. |
| components/motorgo-axis/example/sdkconfig.defaults | Sets example default target to esp32s3. |
| components/motorgo-axis/example/README.md | Provides usage instructions for the example, including optional encoder polling. |
| components/motorgo-axis/example/main/motorgo_axis_example.cpp | Example app demonstrating initialization + logging + optional encoder polling. |
| components/motorgo-axis/example/main/Kconfig.projbuild | Adds a menuconfig option to enable encoder polling. |
| components/motorgo-axis/example/main/CMakeLists.txt | Registers the example’s main component sources. |
| components/motorgo-axis/example/CMakeLists.txt | Defines the ESP-IDF example project and component set. |
| components/motorgo-axis/CMakeLists.txt | Registers the component sources/includes and ESP-IDF requirements. |
| .github/workflows/upload_components.yml | Adds components/motorgo-axis to the publish/upload list. |
| .github/workflows/build.yml | Adds the MotorGo Axis example to the CI build matrix (esp32s3). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a new
motorgo-axisBSP component for the MotorGo Axis board.The new component introduces a singleton
espp::MotorGoAxisboard abstraction with:espp::Lsm6dsoThis PR also adds:
components/motorgo-axis/exampleMotivation and Context
This change adds first-class ESPP support for the MotorGo Axis hardware, similar to the existing
motorgo-miniandmotorgo-plinkBSP components.It provides a reusable, board-specific abstraction for Axis users so they can bring up motors, encoders, IMU, LEDs, and I2C buses using the same patterns already established in this repository.
How has this been tested?
The new example was built successfully with the existing ESP-IDF workflow from WSL using:
cd /mnt/c/Users/waemf/esp-cpp/espp/components/motorgo-axis/example idfb buildThis produced a successful esp32s3 example build for motorgo_axis_example.
Screenshots (if appropriate, e.g. schematic, board, console logs, lab pictures):
N/A
Types of changes
Checklist:
Software