Skip to content

Add UART support to RP2 platform#2125

Draft
pguyot wants to merge 5 commits intoatomvm:mainfrom
pguyot:w08/rp2-uart
Draft

Add UART support to RP2 platform#2125
pguyot wants to merge 5 commits intoatomvm:mainfrom
pguyot:w08/rp2-uart

Conversation

@pguyot
Copy link
Collaborator

@pguyot pguyot commented Feb 21, 2026

Continuation of:

Also add a multi-platform sim800l demo for UART API.

These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).

SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later

Create new avm_emscripten, avm_esp32, avm_network, avm_rp2 and avm_stm32
libraries and build atomvmlib-<platform>-<jit aarch>.avm files for each
platform and jit combination.

Create new `{gpio,i2c,spi,uart}_hal` behavior module that serve as abstractions
for all platforms.

Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Provide low-level API (nifs) and high-level API following `i2c_hal`
behavior

Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Also add a sample code, `spi_flash.erl` confirmed to work on both Pico-W
and ESP32C2, using the same high level SPI API.

Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
Also add a sample code, `sim800l.erl` confirmed to work on both Pico-W
and ESP32C2, using the same high level UART API.

Signed-off-by: Paul Guyot <pguyot@kallisys.net>
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