Skip to content

Comments

Add SPI support to RP2 platform#2120

Draft
pguyot wants to merge 3 commits intoatomvm:mainfrom
pguyot:w08/rp2-spi
Draft

Add SPI support to RP2 platform#2120
pguyot wants to merge 3 commits intoatomvm:mainfrom
pguyot:w08/rp2-spi

Conversation

@pguyot
Copy link
Collaborator

@pguyot pguyot commented Feb 20, 2026

Continuation of:

Also add a new example, spi_flash.erlthat works on both ESP32 and RP2

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>
@pguyot pguyot force-pushed the w08/rp2-spi branch 2 times, most recently from 725b681 to 9af830e Compare February 20, 2026 22:26
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>
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