8000 boards/seeedstudio-xiao-esp32c3: Add support for Seeed Studio ESP32C3 Xiao by dpproto · Pull Request #21267 · RIOT-OS/RIOT · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

boards/seeedstudio-xiao-esp32c3: Add support for Seeed Studio ESP32C3 Xiao #21267

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

8000
Merged

Conversation

dpproto
Copy link
Contributor
@dpproto dpproto commented Mar 5, 2025

Contribution description

Add support for Seeed Studio ESP32C3 Xiao. See issue #21266.

Testing procedure

Tested with the following examples:

  • blinky
  • gnrc_networking (Wi-Fi)
  • nimble_gatt (Bluetooth)

Issues/PRs references

@github-actions github-actions bot added Area: doc Area: Documentation Area: boards Area: Board ports Area: Kconfig Area: Kconfig integration labels Mar 5, 2025
Copy link
Contributor
@mguetschow mguetschow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution and welcome to the community! Looks good at a first glance, some nits below. I'm not familiar with the ESP32 integration in RIOT though.

Following RDM0003, please adapt the board name to be seeedstudio-xiao-esp32c3.

And according to #21257, please change your board documentation from doc.txt to doc.md (getting rid of the surrounding C-comments).

@crasbe
Copy link
Contributor
crasbe commented Mar 5, 2025

Just yesterday I thought about buying a Xiao-ESP32C3 on Berrybase, but they didn't have the Xiao-ESP32S3 in stock (for which another PR is open) but then decided against it because there is no PR open for it. What a coincidence :D

I'll order one and give this a test soon. But so far this looks good, I'll have to take a deeper look when the hardware is here.


You have some files where the copyright notice is still saying "Gunar Schorcht", but the author in the doxygen block is already updated.

Also please update the commit message with the typical format: https://github.com/RIOT-OS/RIOT/blob/master/CONTRIBUTING.md#commit-conventions
For this commit, you could write "boards/seeedstudio-xiao-esp32c3: add support" for example.

@dpproto dpproto force-pushed the 21266-add-board-esp32c3-seeedstudio-xiao branch 2 times, most recently from 8b4e7b8 to 7ebb6e9 Compare March 5, 2025 13:41
@dpproto
Copy link
Contributor Author
dpproto commented Mar 5, 2025

And according to #21257, please change your board documentation from doc.txt to doc.md (getting rid of the surrounding C-comments).

The problem is that a bookmark named "doc" at the 1st level of the documentation tree (RIOT/doc/doxygen/html/md_boards_2seeedstudio-xiao-esp32c3_2doc.html). You can see that for other boards as well in the online documentation, e.g. https://doc.riot-os.org/md_boards_2nucleo-f413zh_2doc.html

How do I avoid this ?

@dpproto dpproto force-pushed the 21266-add-board-esp32c3-seeedstudio-xiao branch from 7ebb6e9 to 2fc34da Compare March 5, 2025 13:59
@crasbe
Copy link
Contributor
crasbe commented Mar 5, 2025

And according to #21257, please change your board documentation from doc.txt to doc.md (getting rid of the surrounding C-comments).

The problem is that a bookmark named "doc" at the 1st level of the documentation tree (RIOT/doc/doxygen/html/md_boards_2seeedstudio-xiao-esp32c3_2doc.html). You can see that for other boards as well in the online documentation, e.g. https://doc.riot-os.org/md_boards_2nucleo-f413zh_2doc.html

How do I avoid this ?

This is a doxygen bug: #21220 (comment)
It is already resolved and once RIOT switches to the latest Doxygen version (which is yet to be released), it won't be an issue anymore.

I'm glad that you noticed it though, that means you test the documentation :D 👍

@dpproto dpproto force-pushed the 21266-add-board-esp32c3-seeedstudio-xiao branch from 2fc34da to 419aa55 Compare March 6, 2025 15:00
@crasbe crasbe linked an issue Mar 6, 2025 that may be closed by this pull request
@dpproto dpproto force-pushed the 21266-add-board-esp32c3-seeedstudio-xiao branch from 419aa55 to 043a861 Compare March 7, 2025 10:55
Copy link
Contributor
@crasbe crasbe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My Xiao ESP32C3 should arrive this week, then I can get this tested with hardware.

For the time being I have some small remarks about the documentation, but nothing major.
Most (all?) of that comes from the original definitions anyway I think.

@crasbe
Copy link
Contributor
crasbe commented Mar 11, 2025

One thing I forgot to mention in the review: @mguetschow introduced the xiao_shield feature in #20980. It would be good to have this in this PR as well, but obviously you can't add it until mguetschows PR is merged...

@dpproto
Copy link
Contributor Author
dpproto commented Mar 11, 2025

One thing I forgot to mention in the review: @mguetschow introduced the xiao_shield feature in #20980. It would be good to have this in this PR as well, but obviously you can't add it until mguetschows PR is merged...

I searched the "shield" string in the PR you mention, but got no hit. What is the link with the present PR?

@crasbe
Copy link
Contributor
crasbe commented Mar 11, 2025

One thing I forgot to mention in the review: @mguetschow introduced the xiao_shield feature in #20980. It would be good to have this in this PR as well, but obviously you can't add it until mguetschows PR is merged...

I searched the "shield" string in the PR you mention, but got no hit. What is the link with the present PR?

https://github.com/RIOT-OS/RIOT/pull/20980/files#diff-999ca1d04a554e7fb0bfda8adf6edb01fe4a67356449490b16e7c4716bde1c84R16

This is what you'd have to add to your PR, but before it is merged it'll probably create a Make error.

@dpproto dpproto force-pushed the 21266-add-board-esp32c3-seeedstudio-xiao branch from 043a861 to 93a3b8d Compare March 11, 2025 15:18
@crasbe crasbe added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Mar 11, 2025
@riot-ci
Copy link
riot-ci commented Mar 11, 2025

Murdock results

✔️ PASSED

daf854b boards/seeedstudio-xiao-esp32c3: add support

Success Failures Total Runtime
552 0 552 05m:50s

Artifacts

@crasbe
Copy link
Contributor
crasbe commented Mar 13, 2025

So today the board finally arrived and I could give this a test. It appears as if it loses some data occasionally.
But I'm sure that that's not because of your board. Either it's caused by my system with USBipd or it's a bug in the ESP32C3 code.
I'll give it a test tomorrow with my ThinkPad that runs Linux.

`tests/sys/shell`
/home/cbuec/RIOTstuff/riot-esp32c3/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" -ln "/tmp/pyterm-cbuec" -rn "2025-03-13_21.53.21-tests_shell-seeedstudio-xiao-esp32c3"
2025-03-13 21:53:21,369 # Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.
help
2025-03-13 21:53:25,808 # help
2025-03-13 21:53:25,810 # Command              Description
2025-03-13 21:53:25,811 # -------------------------------
2025-03-13 21:53:25,812 # bufsize              Get the shell's buffer size
2025-03-13 21:53:25,813 # start_test           starts a test
2025-03-13 21:53:25,814 # end_test             ends a                 prints the input command
2025-03-13 21:53:25,815 # empty                print nothing on command
2025-03-13 21:53:25,816 # periodic             periodically print command
2025-03-13 21:53:25,816 # xfa_test1            xfa test command 1
2025-03-13 21:53:25,817 # xfa_test2            xfa test command 2
2025-03-13 21:53:25,818 # app_metadata         Returns application metadata
2025-03-13 21:53:25,818 # pm             tion about running threads.
2025-03-13 21:53:25,819 # version              Prints current RIOT_VERSION
2025-03-13 21:53:25,819 # reboot               Reboot the node
>

The ADC test works and the lines go to the values they're supposed to go to.

tests/periph/adc
/home/cbuec/RIOTstuff/riot-esp32c3/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" -ln "/tmp/pyterm-cbuec" -rn "2025-03-13_21.55.48-tests_adc-seeedstudio-xiao-esp32c3"
2025-03-13 21:55:48,802 # Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.
2025-03-13 21:55:49,810 # ADC_LINE(0): 13  51  195  732    -1    -1
2025-03-13 21:55:49,810 # ADC_LINE(1): 13  50  191  716    -1    -1
2025-03-13 21:55:49,811 # ADC_LINE(2): 11  45  171  653   -1    -1
2025-03-13 21:55:49,811 #
2025-03-13 21:55:49,811 # ADC_LINE(0): 13  52  196  744    -1    -1
2025-03-13 21:55:49,811 # ADC_LINE(1): 13  51  191  730    -1    -1
2025-03-13 21:55:49,812 # ADC_LINE(2): 12  45  174  655  ADC_LINE(0): 13  52  196  736    -1    -1
2025-03-13 21:55:49,812 # ADC_LINE(1): 13  50  191  720    -1    -1
2025-03-13 21:55:49,812 # ADC_LINE(2): 11  45  174  664    -1    -1
2025-03-13 21:55:49,813 #
2025-03-13 21:55:49,813 # ADC_LINE(0): 13  52  198  746    -1    -1
2025-03-13 21:55:49,813 # ADC_LINE(1): 13  50  191  727    -1    -1
2025-03-13 21:55:49,814 # ADC_LINE(2): 11  45  174 ADC_LINE(0): 14  52  198  748    -1    -1
2025-03-13 21:55:49,814 # ADC_LINE(1): 13  50  191  728    -1    -1
2025-03-13 21:55:49,814 # ADC_LINE(2): 12  45  174  664    -1    -1
2025-03-13 21:55:49,815 #
2025-03-13 21:55:49,815 # ADC_LINE(0): 13  52  198  744    -1    -1
2025-03-13 21:55:49,816 # ADC_LINE(1): 13  50  193  729    -1    -1
2025-03-13 21:55:49,816 # ADC_LINE(2): 12  45  174  664    -1    -1
2025-03-13 21:55:49,816 #
2025-03-13 21:55:49,817 # ADC_LINE(0): 13  52  198  745    -1    -1
2025-03-13 21:55:49,817 # ADC_LINE(1): 13  50  190  717    -1    -1
2025-03-13 21:55:49,818 # ADC_LINE(2): 11  45  171  661ADC_LINE(0): 13  52  195  735    -1    -1
2025-03-13 21:55:49,818 # ADC_LINE(1): 13  50  190  716    -1    -1
2025-03-13 21:55:49,819 # ADC_LINE(2): 11  45  174  653    -1 ADC_LINE(0): 13  51  195  732    -1    -1
2025-03-13 21:55:49,819 # ADC_LINE(1): 13  49  187  712    -1    -1
2025-03-13 21:55:49,820 # ADC_LINE(2): 11  44  171  ADC_LINE(0): 13  51  194  732    -1    -1
2025-03-13 21:55:49,820 # ADC_LINE(1): 13  50  187  712    -1    -1
2025-03-13 21:55:49,856 # ADC_LINE(2): 11  45  171  ADC_LINE(0): 13  51  194  730    -1    -1
2025-03-13 21:55:49,857 # ADC_LINE(1): 13  49  187  712    -1    -1
2025-03-13 21:55:49,858 # ADC_LINE(2): 11  45  174  662    -1    -1
2025-03-13 21:55:49,858 #
2025-03-13 21:55:49,958 # ADC_LINE(0): 13  51  195  732    -1    -1
2025-03-13 21:55:49,959 # ADC_LINE(1): 13  49  189  712    -1    -1
2025-03-13 21:55:49,959 # ADC_LINE(2): 11  45  174  662    -1    -1
2025-03-13 21:55:49,959 #
2025-03-13 21:55:50,060 # ADC_LINE(0): 13  51  195  734    -1    -1
2025-03-13 21:55:50,062 # ADC_LINE(1): 13  50  190  720    -1    -1
2025-03-13 21:55:50,163 # ADC_LINE(2): 11  45  174  6ADC_LINE(0): 13  52  198  744    -1    -1
2025-03-13 21:55:50,164 # ADC_LINE(1): 13  50  190  716    -1    -1
2025-03-13 21:55:50,263 # ADC_LINE(2): 12  45  174  665    -1ADC_LINE(0): 14  52  198  747    -1    -1
2025-03-13 21:55:50,264 # ADC_LINE(1): 13  50  190  720    -1    -1
2025-03-13 21:55:50,365 # ADC_LINE(2): 12  45  175  666    -1    -ADC_LINE(0): 14  52  199  750    -1    -1
2025-03-13 21:55:50,366 # ADC_LINE(1): 13  50  194  729    -1    -1
2025-03-13 21:55:50,466 # ADC_LINE(2): 12  45  174  ADC_LINE(0): 14  52  198  748    -1    -1
2025-03-13 21:55:50,467 # ADC_LINE(1): 13  51  194  729    -1    -1
2025-03-13 21:55:50,567 # ADC_LINE(2): 12  45  174  665    -1ADC_LINE(0): 14  52  199  748    -1    -1
2025-03-13 21:55:50,568 # ADC_LINE(1): 13  50  191  728    -1    -1
2025-03-13 21:55:50,568 # ADC_LINE(2): 12  45  17   -1
2025-03-13 21:55:50,568 #
2025-03-13 21:55:50,669 # ADC_LINE(0): 13  52  198  744    -1    -1
2025-03-13 21:55:50,669 # ADC_LINE(1): 13  50  190  716    -1    -1
2025-03-13 21:55:50,771 # ADC_LINE(2): 11  45  172  655    -1    ADC_LINE(0): 13  52  195  743    -1    -1
2025-03-13 21:55:50,773 # ADC_LINE(1): 13  50  190  715    -1    -1
2025-03-13 21:55:50,872 # ADC_LINE(2): 11  45  171 ADC_LINE(0): 13  51  195  734    -1    -1
2025-03-13 21:55:50,873 # ADC_LINE(1): 13  49  189  711    -1    -1
2025-03-13 21:55:50,976 # ADC_LINE(2): 11  45  1ADC_LINE(0): 13  51  194  731    -1    -1
2025-03-13 21:55:50,976 # ADC_LINE(1): 13  50  190  715    -1    -1
2025-03-13 21:55:51,075 # ADC_LINE(2): 11  44  171  ADC_LINE(0): 13  51  194  730    -1    -1
2025-03-13 21:55:51,078 # ADC_LINE(1): 13  49  187  712    -1    -1
2025-03-13 21:55:51,079 # ADC_LINE(2): 11  45  171  652    -1    -1
2025-03-13 21:55:51,079 #
2025-03-13 21:55:51,177 # ADC_LINE(0): 13  51  194  732    -1    -1
2025-03-13 21:55:51,178 # ADC_LINE(1): 13  50  190  714    -1    -1
2025-03-13 21:55:51,179 # ADC_LINE(2): 11  45  174  664    -1    -1
2025-03-13 21:55:51,279 # ADC_LINE(0): 13  52  197  735    -1    -1
2025-03-13 21:55:51,280 # ADC_LINE(1): 13  50  190  715    -1    -1
2025-03-13 21:55:51,281 # ADC_LINE(2): 12  45  174  663    -1    -1
2025-03-13 21:55:51,281 #
2025-03-13 21:55:51,380 # ADC_LINE(0): 13  52  198  745    -1    -1
2025-03-13 21:55:51,382 # ADC_LINE(1): 13  50  190  716    -1    -1
2025-03-13 21:55:51,383 # ADC_LINE(2): 12  45  175  666    -1    -1
2025-03-13 21:55:51,383 #

@crasbe
Copy link
Contributor
crasbe commented Mar 13, 2025

Oh, but before merging, please add the xiao_shield feature. PR #20980 is merged now.

@dpproto
Copy link
Contributor Author
dpproto commented Mar 14, 2025

Oh, but before merging, please add the xiao_shield feature. PR #20980 is merged now.

Do I just need to add FEATURES_PROVIDED += xiao_shield to Makefile.features ? Do I need to rebase on master first ?

@crasbe
Copy link
Contributor
crasbe commented Mar 14, 2025

Do I just need to add FEATURES_PROVIDED += xiao_shield to Makefile.features ? Do I need to rebase on master first ?

Yes, you have to rebase it but I don't think there would be any conflicts if you changed the Makefile.features file first. Make would just complain.

Port the Seeed Studio Xiao ESP32C3 to RIOT.
@dpproto dpproto force-pushed the 21266-add-board-esp32c3-seeedstudio-xiao branch from 93a3b8d to daf854b Compare March 14, 2025 10:44
@dpproto
Copy link
Contributor Author
dpproto commented Mar 14, 2025

Do I just need to add FEATURES_PROVIDED += xiao_shield to Makefile.features ? Do I need to rebase on master first ?

Yes, you have to rebase it but I don't think there would be any conflicts if you changed the Makefile.features file first. Make would just complain.

I added the feature and rebased on master. Thanks for your help.

@maribu maribu added this pull request to the merge queue Mar 14, 2025
Merged via the queue into RIOT-OS:master with commit f4d74ff Mar 14, 2025
25 checks passed
@crasbe
Copy link
Contributor
crasbe commented Mar 14, 2025

I added the feature and rebased on master. Thanks for 6D40 your help.

Thanks for the PR and for applying all the change requests :)

@dpproto dpproto deleted the 21266-add-board-esp32c3-seeedstudio-xiao branch April 4, 2025 11:33
@mguetschow mguetschow added this to the Release 2025.04 milestone Apr 8, 2025
@maribu maribu changed the title Add support for Seeed Studio ESP32C3 Xiao boards/seeedstudio-xiao-esp32c3: Add support for Seeed Studio ESP32C3 Xiao Apr 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: boards Area: Board ports Area: doc Area: Documentation Area: Kconfig Area: Kconfig integration CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add board support for Seeed Studio ESP32C3 Xiao
6 participants
0