Contributing a New Device
There are two ways to contribute a new device configuration to our database:
Using the Web Submission Form
The easiest way to contribute is through the web-based submission form. This form allows you to provide all the necessary information about a device without needing to fork the repository or create a pull request.
Steps:
- Open the form
- You will need to log in with your GitHub account to submit a device.
- If you don’t have a GitHub account, you can create one for free.
- The login requirement is to prevent spam and to allow credit for your contributions.
- Fill in the required device information:
- Device name and manufacturer
- Board type (e.g., ESP32, ESP8266)
- Difficulty level:
- Level 1: Comes with ESPHome
- Level 2: Plug-n-flash
- Level 3: Disassembly required
- Level 4: Soldering required
- Level 5: Chip needs replacing
- Standard/Region (if applicable)
- Tags for device features
- Upload device photos
- Provide the ESPHome configuration (YAML)
- Submit the form
Your submission will be reviewed and, once approved, will be added to the device database.
Direct Pull Request
For those familiar with Git and GitHub, you can contribute directly by creating a pull request in our repository.
Repository Structure
content/
└── devices/
└── [device-name]/
├── index.md # Device documentation
├── config.yaml # ESPHome configuration
└── images/ # Device photos
Steps:
Fork the repository
Create a new branch for your device
Create a new directory under
content/devices/with your device name - must only contain lowercase letters, numbers, and hyphens or dots- Example:
lilygo-t-display-2.0
- Example:
Add the required files:
index.md:
--- title: "Device Name" board: "esp32" # or appropriate board, e.g. "esp8266" or "esp32-s3" difficulty: 2 # Difficulty level (1-5) standard: # Electrical standards, must be a list, or empty if not applicable - global # or region-specific standards tags: # List relevant features, using existing tags - display - touch - battery gpio_pins: GPIO00: BOOT GPIO04: LCD_BACKLIGHT project_url: https://example.com/device-url date_published: 2025-03-16T00:00:00Z --- # Device Overview Brief description of the device ## Hardware Features - List key hardware features - Include GPIO pin assignments - Note any special requirements ## Installation Installation/flashing instructionsconfig.yaml: Your ESPHome configuration file
images/: Add clear images of:
- The complete device
- Internal components (if disassembly is required)
- Any special modifications needed
Test your configuration locally
Create a pull request with:
- Clear description of the device
- Any special considerations
- Photos attached
Pull Request Guidelines
- Ensure all required files are included
- Follow the existing file structure
- Use clear, descriptive commit messages
- Include good quality images
- Test your configuration before submitting
- Document any special requirements or modifications needed
Need Help?
If you need assistance with your submission or have questions, you can:
- Join the ESPHome community on Discord
- Open an issue in the repository
- Browse our existing device configurations for examples
Thank you for contributing to our device database!