Wake is a powerful hardware-aware coding assistant built by Wind (a startup founded by Adhyaay Karnwal). It's designed specifically for embedded systems, IoT development, circuit design, and hardware programming. Wake understands hardware components, can generate device drivers from datasheets, debug hardware issues, and help with everything from Arduino projects to complex embedded systems.
I added this but forgot to commit the changes: This repo is forked from Gemini Cli
- Driver Generation: Upload a datasheet, get production-ready drivers for STM32, ESP32, Arduino, Raspberry Pi, and more
- Hardware Debugging: Intelligent analysis of hardware issues, timing problems, and communication protocol errors
- Circuit Design Assistance: Help with PCB design, component selection, and schematic review
- Embedded Development: Support for C/C++, Rust, MicroPython for embedded systems
- Protocol Implementation: I2C, SPI, UART, CAN bus, and other hardware communication protocols
- RTOS Support: FreeRTOS, Zephyr, and other real-time operating systems
- IoT Development: MQTT, CoAP, BLE, WiFi, LoRaWAN implementations
- Multi-Provider Support: Works with OpenAI, Anthropic, Google, and more
- Intelligent Context: Understands your hardware setup and maintains context across sessions
- Tool System: Extensible tool system for hardware testing, flashing, and debugging
- Real-time Assistance: Get help while you work with hardware projects
- Rust (latest stable version)
- Cargo (comes with Rust)
- Git
npm install -g @trywind/wakeThat's it! Wake will be installed globally and ready to use.
curl -fsSL https://raw.githubusercontent.com/Try-Wind/Wake/main/install.sh | bash- Clone the repository:
git clone https://github.com/Try-Wind/Wake.git
cd Wake- Build the project:
cargo build --release- Install Wake:
cargo install --path wake-cliDownload pre-built binaries from GitHub Releases:
- Linux x64:
wake-linux-x64 - Windows x64:
wake-windows-x64.exe - macOS: Coming soon
After installation, configure your AI provider:
wake authWake needs to be configured with an AI provider. Run wake auth to set up your provider.
- OpenAI (GPT-4, GPT-3.5)
- Anthropic (Claude)
- Google (Gemini)
- Local Models (Ollama, llama.cpp)
- Custom Endpoints
Create a .wake.config file in your home directory:
{
"providers": [
{
"provider": "openai",
"api_key": "your-api-key",
"model": "gpt-4",
"tool_method": "FunctionCall"
}
],
"selected_provider": 0
}# Start Wake in interactive mode
wake
# Get help with a specific hardware issue
wake "My ESP32 is not responding to I2C commands at address 0x68"
# Generate a driver from a datasheet
wake "Generate an Arduino driver for the MPU6050 accelerometer"
# Debug hardware communication
wake "Debug SPI communication with my SD card module"
# Help with circuit design
wake "Review my circuit: 3.3V MCU connecting to 5V sensor"wake "Create a driver for the BMP280 pressure sensor for STM32F4"wake "My UART is receiving garbage data at 115200 baud"wake "Set up MQTT client on ESP8266 with TLS"wake "Review my I2C pull-up resistor values for 400kHz operation"Wake includes specialized tools for hardware development:
datasheet_analyzer: Extract register maps and timing diagrams from PDFsdriver_generator: Generate boilerplate driver codeprotocol_debugger: Analyze communication protocol issuestiming_calculator: Calculate delays, frequencies, and timing requirementspinout_mapper: Map microcontroller pins to peripheralspower_analyzer: Calculate power consumption and battery life
We welcome contributions! Please see CONTRIBUTING.md for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
cargo test - Submit a pull request
Wake command not found:
export PATH="$HOME/.cargo/bin:$PATH"Permission denied on Linux:
# Add user to dialout group for serial port access
sudo usermod -a -G dialout $USER
# Logout and login againHardware device not detected:
# Check device connections
wake "List all connected serial devices"This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Wake is developed by Wind, a startup founded by Adhyaay Karnwal, focused on building next-generation hardware development tools.
- Inspired by the needs of embedded engineers worldwide
- Built for the hardware development community
- Special thanks to all contributors
- GitHub Issues: github.com/Try-Wind/Wake/issues
- Discussions: github.com/Try-Wind/Wake/discussions
Wake - Empowering hardware developers with AI-driven assistance. Built with ❤️ by Wind.