{"id":30049887,"url":"https://github.com/amrikarisma/mazduino-display-speeduino","last_synced_at":"2026-05-14T23:37:22.544Z","repository":{"id":308227767,"uuid":"1032081511","full_name":"amrikarisma/mazduino-display-speeduino","owner":"amrikarisma","description":"This project creates a digital dashboard display for Speeduino ECU using ESP32-C3 microcontroller and a 3.5 inch TFT LCD display with ILI9488 driver. The display shows real-time engine data from the Speeduino ECU including RPM, AFR, TPS, advance timing, MAP, and other sensor readings. ","archived":false,"fork":false,"pushed_at":"2025-08-04T19:29:15.000Z","size":63,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-04T22:15:31.109Z","etag":null,"topics":["esp32","esp32-c3-super-mini","esp32c3","esp32c3-super-mini","mazduino","speeduino","speeduino-firmware"],"latest_commit_sha":null,"homepage":"https://www.mazduino.com","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amrikarisma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-08-04T19:20:56.000Z","updated_at":"2025-08-04T19:30:36.000Z","dependencies_parsed_at":"2025-08-04T22:17:12.415Z","dependency_job_id":"37e2d4b7-69b6-44f2-99a5-9900e2190b3f","html_url":"https://github.com/amrikarisma/mazduino-display-speeduino","commit_stats":null,"previous_names":["amrikarisma/mazduino-display-speeduino"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/amrikarisma/mazduino-display-speeduino","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amrikarisma%2Fmazduino-display-speeduino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amrikarisma%2Fmazduino-display-speeduino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amrikarisma%2Fmazduino-display-speeduino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amrikarisma%2Fmazduino-display-speeduino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amrikarisma","download_url":"https://codeload.github.com/amrikarisma/mazduino-display-speeduino/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amrikarisma%2Fmazduino-display-speeduino/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269252949,"owners_count":24385905,"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","status":"online","status_checked_at":"2025-08-07T02:00:09.698Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["esp32","esp32-c3-super-mini","esp32c3","esp32c3-super-mini","mazduino","speeduino","speeduino-firmware"],"created_at":"2025-08-07T12:04:12.366Z","updated_at":"2026-05-14T23:37:22.538Z","avatar_url":"https://github.com/amrikarisma.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Speeduino ECU Display using ESP32-C3 and ILI9488 3.5\" TFT\n\n## Summary\n\nThis project creates a digital dashboard display for Speeduino ECU using ESP32-C3 microcontroller and a 3.5 inch TFT LCD display with ILI9488 driver. The display shows real-time engine data from the Speeduino ECU including RPM, AFR, TPS, advance timing, MAP, and other sensor readings. The configuration has been optimized for ESP32-C3 pin mapping with reliable serial communication to the ECU.\n\n## Build Status: ✅ SUCCESS\n\nProject has been successfully compiled with the latest pin configuration. \n\n## Pin Configuration\n\n### TFT Display Pin Mapping\n\nPin mapping used for ILI9488 TFT display:\n\n```\nTFT_MISO = 5   // SPI MISO\nTFT_MOSI = 6   // SPI MOSI  \nTFT_SCLK = 4   // SPI Clock\nTFT_CS   = 7   // Chip Select\nTFT_DC   = 8   // Data/Command\nTFT_RST  = 10  // Reset\n```\n\n### Serial Communication to Speeduino ECU\n\nPin mapping used for UART communication to Speeduino ECU:\n\n```\nRX_PIN   = 20  // Serial RX (connect to Speeduino TX)\nTX_PIN   = 21  // Serial TX (connect to Speeduino RX)\nBAUD_RATE = 115200  // Communication speed\n```\n\n**Note:** Uses Serial1 (hardware UART) for reliable communication with Speeduino ECU.\n\n## What Has Been Configured\n\n1. **TFT_eSPI Library v2.5.43** - Added to dependencies in `platformio.ini`\n\n2. **ILI9488 Driver** - Configured for 3.5 inch display with 320x480 resolution\n\n3. **Pin Configuration** - Pin mapping optimized for ESP32-C3\n\n4. **Build Flags** - All required definitions added to `platformio.ini`:\n   - `ILI9488_DRIVER=1`\n   - Pin definitions (MISO=5, MOSI=6, SCLK=4, CS=7, DC=8, RST=10)\n   - Font loading configurations\n   - SPI frequency settings (20MHz for stable operation)\n\n5. **Font System** - Changed from custom fonts to built-in TFT_eSPI fonts:\n   - Font 2 (16px height) for small text\n   - Font 4 (26px height) for large text\n\n6. **Function Declarations** - Added required function declarations\n\n## Modified Files\n\n1. **`platformio.ini`** - Added dependencies and build flags\n2. **`src/main.cpp`** - Fixed font loading and function declarations\n\n## Wiring Connections\n\n### ILI9488 Display to ESP32-C3\n\nConnect the ILI9488 display to ESP32-C3 according to the pin mapping above:\n\n```\nILI9488 Display    ESP32-C3\n---------------    --------\nVCC               3.3V\nGND               GND\nCS                GPIO 7\nRESET/RST         GPIO 10\nDC/RS             GPIO 8\nSDI/MOSI          GPIO 6\nSCK/CLK           GPIO 4\nLED/BL            3.3V (direct connection without control)\nSDO/MISO          GPIO 5\n```\n\n### Speeduino ECU to ESP32-C3\n\nConnect the Speeduino ECU serial pins to ESP32-C3:\n\n```\nSpeeduino ECU     ESP32-C3\n-------------     --------\nTX (Serial Out)   GPIO 20 (RX)\nRX (Serial In)    GPIO 21 (TX)\nGND               GND\n```\n\n**Note:** \n- Backlight (LED/BL) is connected directly to 3.3V to simplify wiring and ensure the display is always on. No backlight control pin is used in this implementation.\n- Serial communication uses 115200 baud rate, 8 data bits, no parity, 1 stop bit (8N1)\n- Make sure to connect GND between all devices for proper communication\n\n## Build Steps\n\n1. Install dependencies:\n   ```bash\n   python3 -m platformio lib install\n   ```\n\n2. Build project:\n   ```bash\n   python3 -m platformio run\n   ```\n\n3. Upload to ESP32-C3:\n   ```bash\n   python3 -m platformio run --target upload\n   ```\n\n## Important Notes\n\n1. **DMA Warning** - ESP32-C3 does not yet support DMA for TFT_eSPI, but the library works without DMA.\n\n2. **Touch Screen** - If the display has touch screen capability, uncomment the `TOUCH_CS` pin in configuration.\n\n3. **SPI Frequency** - Configured at 20MHz for optimal performance with ILI9488 and ESP32-C3 stability.\n\n4. **Backlight Connection** - Display LED/BL is connected directly to 3.3V for simplified wiring. Display will always be on without dynamic brightness control.\n\n5. **ESP32-C3 Stability** - Specific platform version (6.5.0) and build flags are used for stable operation on ESP32-C3.\n\n## Testing\n\nAfter uploading firmware, the display will show:\n- Splash screen with firmware information\n- Speedometer interface with various sensor data\n- Status buttons and indicators\n\n## References\n\nThis project uses and references the following resources:\n\n- **[Speeduino ECU](https://speeduino.com/home/)** - Open source engine management system\n- **[TFT_eSPI Library](https://github.com/Bodmer/TFT_eSPI)** - Arduino TFT graphics library for ESP32/ESP8266\n- **[Image2CPP Tool](https://github.com/amrikarisma/image2cpp)** - Online tool for converting images to C/C++ arrays for embedded displays\n\nThe project is now ready to use with the ILI9488 3.5 inch display!\n\n## Support \u0026 Documentation\n\n### 🌐 **Official Website**\nFor complete documentation, tutorials, and support visit:\n**[www.mazduino.com](https://www.mazduino.com)**\n\n### 📚 **What You'll Find:**\n- **Setup Guides** - Complete installation and configuration tutorials\n- **Troubleshooting** - Common issues and solutions\n- **Feature Documentation** - Detailed feature explanations\n- **Community Forum** - Get help from other users\n- **Contact Support** - Direct support channels\n- **Latest Updates** - Firmware updates and new features\n\n### 💬 **Need Help?**\n- 🔧 **Technical Issues** - Visit our troubleshooting section\n- 💡 **Feature Requests** - Submit ideas for new features  \n- 🐛 **Bug Reports** - Report issues for quick resolution\n- 📖 **Documentation** - Access complete user guides\n- 🤝 **Community** - Connect with other Mazduino users\n\n### 📧 **Contact Information**\nVisit [www.mazduino.com](https://www.mazduino.com) for:\n- Direct contact forms\n- Support ticket system\n- Community forums\n- Live chat support\n- Email support\n\n---\n\n**© 2025 Mazduino Project | Visit [www.mazduino.com](https://www.mazduino.com) for support**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famrikarisma%2Fmazduino-display-speeduino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famrikarisma%2Fmazduino-display-speeduino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famrikarisma%2Fmazduino-display-speeduino/lists"}