Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Obo-Car custom micropython image integration #1

Merged
merged 7 commits into from
Feb 3, 2025

Conversation

yasanthaniroshan
Copy link
Collaborator

Completed Obo MicroPython Firmware Build and Integration for Obo Car SDK

Description

This pull request finalizes the development of the MicroPython firmware for the Obo Car, featuring integration with the Obo-Car SDK and automation of the build process. Below are the key updates and improvements

Firmware Updates

  • Applied patches to overwrite boot.py for better customization.

SDK Integration

  • Integrated the Obo-Car SDK into the firmware as frozen bytecode, allowing the bytecode to execute directly from ROM.

Build Automation

  • Created a GitHub Actions workflow to automate the build process.

Documentation and Structure Enhancements

  • Updated the main README to include essential libraries and setup information.
  • Updated and restructured logos for bytecode compilation.
  • Enhanced the project structure to receive updates from the Obo-Car submodule.

Advantages of This Integration

Reduced Memory Usage - By freezing the Obo-Car SDK as bytecode, execution directly from ROM avoids the need for loading bytecode into RAM, significantly saving memory.
Improved Performance - Avoiding the overhead of parsing and compiling Python code at runtime results in faster execution.

Versions

  • Micropython - 1.23.0
  • ESP-IDF - v5.2.3

Note

The build status may appear as failing due to the Obo-Car SDK being in private mode; cloning with the proper access resolves the issue.

References

- Updated main readme since missing some essential libraries
- Removed additional custom boards
- Removed c libraries
- Added .gitignore to remove build dependencies
- Added missing linker file for ESP32
- Updated micropython submodule
- Added Obo-Car SDK as a submodule
- Compiled Obo-Car SDK as bytecode
- Removed xxd.py library
….23.0 | ESP-IDF v5.2.3

- Updated .gitmodules to micropython new version
- Added patch to overwrite boot.py
- Added Obo-Car SDK as gitmodulus
- Workflow has been created to automate builing process
- Logos has been restructured to compile into bytecode
- Updated obo-car submodule branch to recieve updates from orgin
- To verify building process
- Updated Documentation
- Removed unwanted prints in patch
- You may see the build status as failing but it works with cloned obo car sdk (Since obo car sdk currently in private mode)
@yasanthaniroshan yasanthaniroshan added the enhancement New feature or request label Feb 3, 2025
@yasanthaniroshan yasanthaniroshan self-assigned this Feb 3, 2025
@yasanthaniroshan yasanthaniroshan merged commit 2846939 into main Feb 3, 2025
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant