Skip to content

Comments

Add I2C support to STM32 platform#2124

Draft
pguyot wants to merge 5 commits intoatomvm:mainfrom
pguyot:w08/stm32-i2c
Draft

Add I2C support to STM32 platform#2124
pguyot wants to merge 5 commits intoatomvm:mainfrom
pguyot:w08/stm32-i2c

Conversation

@pguyot
Copy link
Collaborator

@pguyot pguyot commented Feb 21, 2026

Continuation of:

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

@pguyot pguyot force-pushed the w08/stm32-i2c branch 6 times, most recently from 5e69f15 to 1e6b792 Compare February 22, 2026 09:23
AtomVM now supports the following STM32 families:
- stm32f2xx
- stm32f4xx (was supported by libopencm3)
- stm32f7xx (was supported by libopencm3)
- stm32g0xx
- stm32g4xx
- stm32h5xx
- stm32h7xx
- stm32l4xx
- stm32l5xx
- stm32u3xx
- stm32wbxx

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