{"id":13612618,"url":"https://github.com/georgik/esp32-buddy-rs","last_synced_at":"2025-03-19T16:31:42.903Z","repository":{"id":59677763,"uuid":"535556148","full_name":"georgik/esp32-buddy-rs","owner":"georgik","description":"Rust Bare Metal implementation of ESP Buddy","archived":false,"fork":false,"pushed_at":"2024-11-01T08:49:44.000Z","size":120,"stargazers_count":7,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-17T09:06:38.528Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/georgik.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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-09-12T07:29:13.000Z","updated_at":"2025-03-10T22:52:53.000Z","dependencies_parsed_at":"2023-01-22T15:31:21.696Z","dependency_job_id":"1a730e46-3562-43e1-8d18-5b1b9a566a76","html_url":"https://github.com/georgik/esp32-buddy-rs","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgik%2Fesp32-buddy-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgik%2Fesp32-buddy-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgik%2Fesp32-buddy-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgik%2Fesp32-buddy-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/georgik","download_url":"https://codeload.github.com/georgik/esp32-buddy-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244463824,"owners_count":20456944,"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":[],"created_at":"2024-08-01T20:00:32.448Z","updated_at":"2025-03-19T16:31:42.894Z","avatar_url":"https://github.com/georgik.png","language":"Python","funding_links":[],"categories":["Projects"],"sub_categories":["`no_std`"],"readme":"# ESP32-Buddy-RS\n\nRust Bare Metal implementation of ESP-Buddy based on https://github.com/espressif/esp-mdf/tree/master/examples/development_kit/buddy\n\n[![Wokwi](https://img.shields.io/endpoint?url=https%3A%2F%2Fwokwi.com%2Fbadge%2Fclick-to-simulate.json)](https://wokwi.com/projects/381376751746803713)\n\n![ESP32-Buddy](esp32-buddy-rust-display.jpg)\n\n[![Open ESP32 in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/github.com/georgik/esp32-buddy-rs/)\n\n## Quick start in Wokwi\n\nCopy the code from examples to `main.rs` and run `./scripts/run-wokwi.sh`.\nOnce the build is complete, click the link in terminal to open Wokwi simulator.\n\nFlash the device using web flasher by command `./scripts/flash.sh`\n\n## How to use examples locally\n\nRun the base application:\n\n```\ncargo run --release\n```\n\nThis is mapped by `.cargo/config.toml` to command:\n\n```\ncargo espflash flash --release --monitor\n```\n\nRun animation example with:\n\n```\ncargo run --release --example animation\n```\n\n### Available examples\n\n- animation - moving letters\n```\ncargo run --release --example animation\n```\n- blinky - blink LED - not working - blocked by:\n   - https://github.com/georgik/esp32-buddy-rs/issues/1\n   - https://github.com/esp-rs/esp-hal/issues/855\n   - https://github.com/bjoernQ/esp-hal/pull/1/files\n\n- buttons - display state of buttons\n```\ncargo run --release --example buttons\n```\n- clock - use Wi-Fi to acquire timestamp from NTP server and display time\n```\nexport SSID=\"replace_by_ssid\"\nexport PASSWORD=\"replace_by_password\"\ncargo run --release --example clock\n```\n- gpio - display state of GPIOs\n```\ncargo run --release --example gpio\n```\n- rainbow - iterate over HUE and display value - not working - blocked by:\n   - https://github.com/georgik/esp32-buddy-rs/issues/1\n   - https://github.com/esp-rs/esp-hal/issues/855\n   - https://github.com/bjoernQ/esp-hal/pull/1/files\n- snow - snowflakes falling\n```\ncargo run --release --example snow\n```\n- temperature - display temperature and humidity\n```\ncargo run --release --example temperature\n```\n- wifi - connect to Wi-Fi\n```\nexport SSID=\"replace_by_ssid\"\nexport PASSWORD=\"replace_by_password\"\ncargo run --release --example wifi\n```\n\n\n### Wokwi Simulation\nWhen using a custom Wokwi project, please change the `WOKWI_PROJECT_ID` in\n`run-wokwi.sh`. If no project id is specified, a DevKit for esp32 will be\nused.\n\n- Terminal approach:\n\n    ```\n    scripts/run-wokwi.sh [debug | release]\n    ```\n    \u003e If no argument is passed, `release` will be used as default\n\n- UI approach:\n\n    The default test task is already set to build the project, and it can be used\n    in VS Code and Gitpod:\n    - From the [Command Palette](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette) (`Ctrl-Shift-P` or `Cmd-Shift-P`) run the `Tasks: Run Test Task` command\n    - With `Ctrl-Shift-,` or `Cmd-Shift-,`\n        \u003e **Note**\n        \u003e\n        \u003e This Shortcut is not available in Gitpod by default.\n    - From the [Command Palette](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette) (`Ctrl-Shift-P` or `Cmd-Shift-P`) run the `Tasks: Run Task` command and\n    select `Build \u0026 Run Wokwi`.\n    - From UI: Press `Build \u0026 Run Wokwi` on the left side of the Status Bar.\n\n#### Debuging with Wokwi\n\nWokwi offers debugging with GDB.\n\n- Terminal approach:\n    ```\n    $HOME/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gdb target/xtensa-esp32-espidf/debug/esp_buddy_rs -ex \"target remote localhost:9333\"\n    ```\n\n    \u003e [Wokwi Blog: List of common GDB commands for debugging.](https://blog.wokwi.com/gdb-avr-arduino-cheatsheet/?utm_source=urish\u0026utm_medium=blog)\n- UI approach:\n    1. Run the Wokwi Simulation in `debug` profile\n    2. Go to `Run and Debug` section of the IDE (`Ctrl-Shift-D or Cmd-Shift-D`)\n    3. Start Debugging by pressing the Play Button or pressing `F5`\n    4. Choose the proper user:\n        - `esp` when using VS Code or GitHub Codespaces\n        - `gitpod` when using Gitpod\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgik%2Fesp32-buddy-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeorgik%2Fesp32-buddy-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgik%2Fesp32-buddy-rs/lists"}