{"id":13671918,"url":"https://github.com/esp-rs/std-training","last_synced_at":"2025-04-12T19:49:29.483Z","repository":{"id":37750275,"uuid":"452406860","full_name":"esp-rs/std-training","owner":"esp-rs","description":"Embedded Rust on Espressif training material.","archived":false,"fork":false,"pushed_at":"2025-01-14T08:39:06.000Z","size":1066,"stargazers_count":668,"open_issues_count":10,"forks_count":88,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-04-12T19:49:27.752Z","etag":null,"topics":["esp32","esp32-c3","rust-embedded","rustlang","training"],"latest_commit_sha":null,"homepage":"https://esp-rs.github.io/std-training","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/esp-rs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-26T19:12:51.000Z","updated_at":"2025-04-11T02:53:05.000Z","dependencies_parsed_at":"2023-02-17T19:01:13.593Z","dependency_job_id":"83f6a9c3-684a-492b-a5b4-7a8c298de2b8","html_url":"https://github.com/esp-rs/std-training","commit_stats":{"total_commits":545,"total_committers":30,"mean_commits":"18.166666666666668","dds":0.7339449541284404,"last_synced_commit":"015cd3dbed917933da3b0249b96888621f808c36"},"previous_names":["esp-rs/espressif-trainings"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fstd-training","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fstd-training/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fstd-training/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fstd-training/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esp-rs","download_url":"https://codeload.github.com/esp-rs/std-training/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625501,"owners_count":21135513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","esp32-c3","rust-embedded","rustlang","training"],"created_at":"2024-08-02T09:01:22.008Z","updated_at":"2025-04-12T19:49:29.464Z","avatar_url":"https://github.com/esp-rs.png","language":"Rust","readme":"# Embedded Rust Trainings for Espressif\n\n[![CI](https://github.com/esp-rs/std-training/actions/workflows/ci.yml/badge.svg)](https://github.com/esp-rs/std-training/actions/workflows/ci.yml)\n\nThis repository contains Training Material for learning to use Embedded Rust with the Espressif ESP32-C3.\n\nWe suggest you start by [reading the book](https://esp-rs.github.io/std-training).\n\n## Contents\n\nThere is:\n\n* A book you can work through - ([Source](./book)) ([Published](https://esp-rs.github.io/std-training))\n* Some introductory level examples:\n   * A basic hardware-check ([Source](./intro/hardware-check))\n   * An HTTP Client ([Source](./intro/http-client))\n   * An HTTP Server ([Source](./intro/http-server))\n   * An MQTT Client ([Source](./intro/mqtt))\n* Some advanced level examples:\n   * Low-level GPIO\n   * Interrupts in General\n   * I2c Driver ([Source](./advanced/i2c-driver))\n   * I2c Sensor Reading ([Source](./advanced/i2c-sensor-reading))\n   * GPIO/Button Interrupts ([Source](./advanced/button-interrupt))\n   * Driving an RGB LED\n* Some useful common crates:\n   * [`get-uuid`](./common/lib/get-uuid) - Provides a compile-time generated UUID\n   * [`mqtt-messages`](./common/lib/mqtt-messages) - MQTT helper functions\n   * [`rgb-led`](./common/lib/rgb-led) - Provides support for the RGB LED (WS2812)\n   * [`wifi`](./common/lib/wifi) - Wifi helper functions\n\n## Development\n\nEach Rust example crate provided here can be built in the usual fashion. See\nthe [Embedded Rust Bookshelf](https://docs.rust-embedded.org) for general\ndetails, or each crate's own README.md file for specifics.\n\nThe book is written in Markdown, using\n[mdbook](https://crates.io/crates/mdbook). You can render a local copy by\nrunning:\n\n```console\n~ $ cargo install mdbook\n~ $ git clone https://github.com/esp-rs/std-training.git\n~ $ cd std-training/book\n~/std-training/book $ mdbook serve\n```\n\nA local web-server will be started on \u003chttp://127.0.0.1:3000\u003e where you can\nview the rendered book. It will update automatically as you modify Markdown\npages on disk.\n\nNote that you __must__ not push to the `main` branch. Instead undertake any\nchanges in a branch, either in this repository (if you have access) or in a\nfork. Please do then feel free to open a Pull Request in Github to merge the\nchanges to our `main` branch.\n\nThis work is continually updated and as such there are no 'releases'. Every\ncommit to `main` gets published to\n\u003chttps://esp-rs.github.io/std-training\u003e automatically.\n\n## Licence\n\nThe material in this repository is licensed\n[CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). All\nmaterial is Copyright 2022 Ferrous Systems GmbH, unless otherwise stated.\n\nYou are free to __Share__ and __Adapt__ but you must give __Attribution__ and\n__Share Alike__.\n\nIn addition, the source code contained within this repository (either in the\nbook, or as separate examples) is made available under either the\n[MIT](./LICENSE-MIT.txt) or [Apache-2.0](./LICENSE-APACHE.txt) licenses, at\nyour option.\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally\nsubmitted for inclusion in the work by you, as defined in the Apache-2.0\nlicense, shall be licensed as above, without any additional terms or\nconditions.\n\n## Authors\n\nThe content of this training was created by Ferrous Systems GmbH and Espressif Systems.\n\n## Code of Conduct\n\nContribution to this crate is organized under the terms of the [Rust Code of\nConduct](https://www.rust-lang.org/policies/code-of-conduct), and the maintainers of this crate promises to intervene to\nuphold that code of conduct.\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesp-rs%2Fstd-training","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesp-rs%2Fstd-training","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesp-rs%2Fstd-training/lists"}