Skip to content

Esp32s3 i2c interface#5210

Merged
deadprogram merged 5 commits intotinygo-org:devfrom
dimajolkin:esp32s3-i2c
Feb 21, 2026
Merged

Esp32s3 i2c interface#5210
deadprogram merged 5 commits intotinygo-org:devfrom
dimajolkin:esp32s3-i2c

Conversation

@dimajolkin
Copy link
Copy Markdown
Contributor

Was added for esp32s3 i2c interface full based in esp32c3

Tested on: esp32s3, esp32s3-wroom1, esp32c3..
For test using a co2 sensor & Tdeck keyboard

@deadprogram
Copy link
Copy Markdown
Member

Can you please add a smoketest for this in the similar fashion as the previous PRs @dimajolkin thank you!

@dimajolkin
Copy link
Copy Markdown
Contributor Author

I can't find any I2C tests for the ESP32XX (except for the I2C target, because the Listen(..) method isn't implemented in the ESP32XX).
I added a simple echo test.

Perhaps I can add the esp32s3 to the i2c target since it has two I2C...

@deadprogram
Copy link
Copy Markdown
Member

I can't find any I2C tests for the ESP32XX (except for the I2C target, because the Listen(..) method isn't implemented in the ESP32XX). I added a simple echo test.

Perhaps I can add the esp32s3 to the i2c target since it has two I2C...

Sorry I should have been more specific.

The examples/blinkm uses an I2C device and is what we have been using for the I2C smoketest.

Looking, I see we are only doing this on 2 boards at present. Oops!

In any case, you can perhaps use it instead of adding another example.

@dimajolkin
Copy link
Copy Markdown
Contributor Author

@deadprogram Maybe we should rename it to i2c-blink this blinkm?

@dimajolkin
Copy link
Copy Markdown
Contributor Author

As I understand it, we can add the esp32s3 to the i2c-target tests, but this requires implementing slave mode. If you don't mind doing this in a separate MR, I think there's some work on that. It just needs to be tested.

@deadprogram
Copy link
Copy Markdown
Member

@deadprogram Maybe we should rename it to i2c-blink this blinkm?

It is named this because of the https://thingm.com/products/blinkm

@deadprogram
Copy link
Copy Markdown
Member

As I understand it, we can add the esp32s3 to the i2c-target tests, but this requires implementing slave mode. If you don't mind doing this in a separate MR, I think there's some work on that. It just needs to be tested.

Doing in a different PR seems quite fine to me.

Comment thread src/machine/machine_esp32xx_i2c.go Outdated
@deadprogram
Copy link
Copy Markdown
Member

Thanks for working on this @dimajolkin and to @soypat for helping review. Now squash/merging.

@deadprogram deadprogram merged commit e0425ed into tinygo-org:dev Feb 21, 2026
19 checks passed
deadprogram pushed a commit that referenced this pull request Feb 24, 2026
* esp32s3-i2c implement interface

* esp32s3-i2c: disable m5stamp_c3

* added simple tests without Listen

* replace smoke tests

* esp32s3-i2c: fix allocation in tx
deadprogram pushed a commit that referenced this pull request Mar 23, 2026
* esp32s3-i2c implement interface

* esp32s3-i2c: disable m5stamp_c3

* added simple tests without Listen

* replace smoke tests

* esp32s3-i2c: fix allocation in tx
deadprogram pushed a commit that referenced this pull request Mar 23, 2026
* esp32s3-i2c implement interface

* esp32s3-i2c: disable m5stamp_c3

* added simple tests without Listen

* replace smoke tests

* esp32s3-i2c: fix allocation in tx
deadprogram pushed a commit that referenced this pull request Apr 5, 2026
* esp32s3-i2c implement interface

* esp32s3-i2c: disable m5stamp_c3

* added simple tests without Listen

* replace smoke tests

* esp32s3-i2c: fix allocation in tx
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.

3 participants