Skip to content

AI powered python project that creates folders that can be used by both Arduino IDE and PlatformIO extension in VS Code.

Notifications You must be signed in to change notification settings

MichaelNewham/arduino-processor

Repository files navigation

Arduino Project Processor


Project Status (as of 2025-04-25 23:57:54)

The Arduino Project Processor now features a modern browser extension integration:

  • Chrome/Edge browser extension for right-click processing of GitHub/GitLab URLs
  • Interactive raspi-config-like terminal UI for project configuration
  • Enhanced repository handling supporting GitHub/GitLab URLs (HTTPS/SSH) and Git commands
  • SSH authentication for private repository access with automatic key management
  • Complete Poetry-based dependency management with virtual environment isolation
  • Multi-provider AI integration with DeepSeek, Claude, and GPT for documentation enhancement
  • Intelligent board detection with arduino-cli integration for accurate FQBN selection

MCP Server was initialized

Recent Changes (as of 2025-04-25 23:57:54)

  • KDE Desktop Integration:
    • Converted from filesystem monitoring to KDE right-click integration
    • Added raspi-config-like terminal UI for interactive project processing
    • Enhanced repository handling for GitHub and GitLab URLs (HTTPS/SSH)
    • Implemented automatic SSH key authentication for private repositories
  • Board Detection Enhancements:
    • Added integration with arduino-cli for comprehensive board listings
    • Improved FQBN selection with dynamic board family grouping
    • Enhanced project name customization with editable defaults
  • UI Improvements:
    • Created streamlined configuration dialog with keyboard navigation
    • Added progress indicators for repository cloning and processing stages
    • (see docs/generated/change_summary.md for more details)

A Python system for automatically processing and organizing Arduino projects cloned from GitHub repositories.

Features

  • Monitors a directory for new GitHub/GitLab Arduino project clones
  • Automatically detects Arduino board types using AI and pattern matching
  • Creates structured folder hierarchies with standardized naming
  • Provides dual compatibility for Arduino IDE and PlatformIO
  • Generates enhanced documentation using AI (Claude/GPT/DeepSeek)
  • Runs as a background service or command-line utility

Installation

Prerequisites

  • Python 3.9 or higher
  • arduino-cli installed and configured
  • At least one AI API key (Claude/GPT/DeepSeek)

Setup

  1. Clone this repository: git clone https://github.com/yourusername/arduino-processor.git cd arduino-processor Copy
  2. Create a virtual environment: python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate Copy
  3. Install dependencies: pip install -r requirements.txt Copy
  4. Copy the example environment file and configure it: cp .env.example .env CopyEdit .env to include your API keys and customize paths.

SystemD Service Setup (Optional)

To run as a background service on Linux:

  1. Copy the service file to your user's systemd directory: mkdir -p ~/.config/systemd/user/ cp systemd/arduino-processor.service ~/.config/systemd/user/ Copy
  2. Enable and start the service: systemctl --user enable arduino-processor systemctl --user start arduino-processor Copy

Usage

Command-line Usage

Start monitoring for new projects: arduino-processor Process existing projects: arduino-processor --process-existing Process a specific project: arduino-processor --process /path/to/project Copy

Directory Structure

  • ~/Arduino/incoming_clones/: Directory to place GitHub clones
  • ~/Arduino/Projects/: Output directory for processed projects
  • ~/Arduino/logs/: Log files directory

Configuration

Set the following environment variables in your .env file:

  • ANTHROPIC_API_KEY: API key for Claude AI
  • OPENAI_API_KEY: API key for OpenAI GPT
  • DEEPSEEK_API_KEY: API key for DeepSeek AI
  • ARDUINO_WATCH_DIR: Directory to monitor for new projects
  • ARDUINO_PROJECTS_DIR: Output directory for processed projects

Development

  1. Install development dependencies: pip install -e ".[dev]" Copy
  2. Run tests: pytest Copy

License

[Your chosen license]

About

AI powered python project that creates folders that can be used by both Arduino IDE and PlatformIO extension in VS Code.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published