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

Initial support for RP2040 (Raspberry Pi Pico W) #50

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

agreenbhm
Copy link

@agreenbhm agreenbhm commented Feb 24, 2025

Currently working with ESPHome 2024.12.4.
Modified a number of things to allow for selective inclusion of components depending on platform.

SSL is not supported for MQTT for the RP2040 platform on ESPHome, so a custom component:(rp2040_mqtt) was made. Because of this, various fields relying on the original MQTT component don't work and cause errors if compiling without the stock MQTT. To work around this, subtitutions were implemented in order to fill out the name of the component depending on the platform being built for (${mqtt} is replaced with either "mqtt" or "rp2040_mqtt").

To allow for building for the RP2040 platform, ESP-specific items were moved from the "common.yaml" file to "esp32_common.yaml" and includes to this were added to the ESP device configurations.

I believe this covers the bulk of the modifications to existing code. The rest of the changes are to add support for the RP2040.

Also, a patch (firmware/patches/0001-Updated-web-server-and-captive-portal-to-support-RP2.patch) is included that needs to be applied to the "components" directory within the "esphome" install directory of the build system (if using a virtualenv, it'd be "venv/lib/python3.12/site-packages/esphome/components"). This added support for the web_server, async_tcp, and captive_portal components for the RP2040. Without these modifications the build for the Pico will fail.

Performance seems to be pretty good. When there is a good wifi signal everything seems to work fine.

Note: CA checking for the printer's cert is DISABLED (ie insecure). That probably is an easy fix I can adjust tomorrow.

Currently working with ESPHome 2024.12.4.
Modified a number of things to allow for selective inclusion of components depending on platform.
…als and printer settings. Seems to be technically working now though. Perhaps there's just a longer wait between saving to flash? Log show "preferences" being saved pretty timely though.
… hex colors when reading tags (use-case being when clearing all settings from a slot).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant