Android App for Managing OpenInverter VCU via CAN
Posted: Fri Sep 19, 2025 2:46 pm
Currently, configuration of OpenInverter VCUs is often done via the web interface or the PC-based openinverter_can_tool. That tool already supports reading/writing CANopen parameters (SDOs), logging, and firmware updates — but it requires a laptop and a USB CAN adapter.
I’d like to propose building an Android app that brings these capabilities to phones, tablets, or Android head units. The goal is to manage VCUs directly in the vehicle, without extra hardware beyond:
• USB CAN adapters using slcan
• Bluetooth (ELM327-style) devices
Key functions could include:
• Listing and editing parameters
• Logging selected signals to CSV
• Firmware flashing over CAN
The big decision is whether to use native Android (Java/Kotlin) or Flutter:
• Native: Stronger integration with USB and Bluetooth APIs, more direct control for CAN communications.
• Flutter: Easier UI work and potential cross-platform reuse, but would require native plugins for CAN/Bluetooth access. Also runnable on iOS.
I’d be able to take on most of the programming, but I’d like feedback from the community — particularly on whether native or Flutter would be the more practical base for this project.
I’d like to propose building an Android app that brings these capabilities to phones, tablets, or Android head units. The goal is to manage VCUs directly in the vehicle, without extra hardware beyond:
• USB CAN adapters using slcan
• Bluetooth (ELM327-style) devices
Key functions could include:
• Listing and editing parameters
• Logging selected signals to CSV
• Firmware flashing over CAN
The big decision is whether to use native Android (Java/Kotlin) or Flutter:
• Native: Stronger integration with USB and Bluetooth APIs, more direct control for CAN communications.
• Flutter: Easier UI work and potential cross-platform reuse, but would require native plugins for CAN/Bluetooth access. Also runnable on iOS.
I’d be able to take on most of the programming, but I’d like feedback from the community — particularly on whether native or Flutter would be the more practical base for this project.