{"id":26539757,"url":"https://github.com/charmitro/busier","last_synced_at":"2026-05-19T15:10:50.795Z","repository":{"id":282564146,"uuid":"948990147","full_name":"charmitro/busier","owner":"charmitro","description":"ESP32 web server and OLED display application for managing and showing availability status. Built with Rust.","archived":false,"fork":false,"pushed_at":"2025-03-15T12:58:55.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T13:33:28.850Z","etag":null,"topics":["embedded","esp-idf","esp32","iot","microcontroller","oled-display","rust","ssd1306","wifi"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/charmitro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2025-03-15T12:30:54.000Z","updated_at":"2025-03-15T12:58:58.000Z","dependencies_parsed_at":"2025-03-15T13:33:30.730Z","dependency_job_id":"51d4d2bd-4967-4737-a1f7-ac452e6b42d1","html_url":"https://github.com/charmitro/busier","commit_stats":null,"previous_names":["charmitro/busier"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charmitro%2Fbusier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charmitro%2Fbusier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charmitro%2Fbusier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charmitro%2Fbusier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/charmitro","download_url":"https://codeload.github.com/charmitro/busier/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244885695,"owners_count":20526296,"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":["embedded","esp-idf","esp32","iot","microcontroller","oled-display","rust","ssd1306","wifi"],"created_at":"2025-03-22T00:18:50.946Z","updated_at":"2026-05-19T15:10:45.775Z","avatar_url":"https://github.com/charmitro.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Busier - ESP32 Status Display and Web Server\n\nA Rust application for ESP32 microcontrollers that creates a web interface for controlling your availability status, with real-time display on an SSD1306 OLED screen.\n\n## Features\n\n- 🌐 WiFi connectivity to your local network\n- 🖥️ Built-in HTTP server with a responsive web interface\n- 📱 Toggle between \"Free\" and \"Do Not Disturb\" status from any device\n- 📊 OLED display showing real-time status, IP address, and request count\n- 🛠️ Built entirely in Rust using the ESP-IDF framework\n\n## Hardware Requirements\n\n- ESP32 development board\n- SSD1306 OLED display (128x32 or 128x64)\n- I2C connection wires\n\n## Wiring\n\nConnect the SSD1306 OLED display to the ESP32:\n- SDA to GPIO21\n- SCL to GPIO22\n- VCC to 3.3V\n- GND to GND\n\n## Building and Flashing\n\n### Prerequisites\n\n1. Install Rust and Cargo (https://rustup.rs/)\n2. Install ESP-IDF toolchain using `espup` (https://github.com/esp-rs/espup)\n3. Add the ESP32 target: `rustup target add xtensa-esp32-espidf`\n\n### Building\n\n1. Clone this repository:\n   ```\n   git clone https://github.com/charmitro/busier.git\n   cd busier\n   ```\n\n2. Configure your WiFi credentials (use environment variables for security):\n   ```\n   export WIFI_SSID=\"your_wifi_name\"\n   export WIFI_PASS=\"your_wifi_password\"\n   ```\n\n3. Build and flash:\n   ```\n   cargo build --release\n   cargo espflash flash --release\n   ```\n\n4. Monitor the serial output (optional):\n   ```\n   cargo espflash monitor\n   ```\n\n## Usage\n\n1. After the ESP32 boots, it will display the IP address on the OLED screen\n2. Open a web browser and navigate to the displayed IP address\n3. Use the web interface to toggle between \"Free\" and \"Do Not Disturb\" status\n4. The OLED display will update to show the current status\n\n## Project Structure\n\n- `src/main.rs` - Main application code\n- `build.rs` - Build script for embedding environment variables\n- `Cargo.toml` - Project dependencies and configuration\n\n## Configuration\n\nThe project uses the following environment variables:\n- `WIFI_SSID`: Your WiFi network name\n- `WIFI_PASS`: Your WiFi password\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- [esp-rs](https://github.com/esp-rs) - Rust support for ESP32\n- [embedded-graphics](https://github.com/embedded-graphics/embedded-graphics) - Graphics library for embedded displays\n- [ssd1306](https://github.com/jamwaffles/ssd1306) - SSD1306 OLED driver\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharmitro%2Fbusier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcharmitro%2Fbusier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharmitro%2Fbusier/lists"}