GitLab Pipeline Traffic Light (ESP8266 + TFT)
Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.
Zapisane na tym urządzeniu.
Traffic light that shows the status of your latest GitLab pipeline – red, yellow or green, plus the author on a small di
- Ocena
- 0 / 5
- Polubienia
- 2
- Pobrania
- 1
- Wydruki
- 1
- Wyświetlenia
- 61
- Oceny
- 0
Aktualizacja u źródła:
Informacje o modelu
- Źródło
- Printables
- Kategoria
- Engineering
- Licencja
- Creative Commons — Public Domain
GitLab Pipeline Semaphore – ESP8266 build status light
A 3D-printed base for a factory-style signal tower that turns it into a GitLab CI indicator. Every 10 seconds the ESP8266 asks the GitLab API for the latest pipeline and switches the red, yellow or green light through relays. A small TFT display in the base shows the status and the name of the person who triggered the pipeline. Wi-Fi and the GitLab token are stored in EEPROM, and the firmware updates itself over Wi-Fi (OTA) from GitHub releases, so after the first USB upload the base never needs to be opened again.
WHAT IT DOES
Polls the GitLab API (pipelines/latest of one project) every 10 s
Yellow = running / pending / scheduled / manual
Green = success
Red = failed
TFT display shows “WAITING” / “SUCCESS” / “FAILED” plus the pipeline author (Czech diacritics supported)
All lights off on a request or parsing error
Automatic over-the-air firmware updates from GitHub releases
PRINTING
Printed in [doplň: PLA / PETG]
[doplň: supports yes/no]
The base holds the ESP, 3 relays, the step-down converter and the display; the signal tower mounts on top
Need to move things around? The model is in Onshape – free and easy to adjust (e.g. placement of the electronics)
SOFTWARE
GitHub (PlatformIO, Arduino framework, ESP8266)
HARDWARE
Some parts are a bit overkill – I just happened to have them at home, similar ones will work.
3× Relay module 5V, 1 channel (active HIGH)
Power supply [doplň: napětí, např. 12 V / 24 V podle semaforu]
Wires and screws
WIRING (NodeMCU v2)
Relays
Red relay -> D8 (GPIO 15)
Yellow relay -> D3 (GPIO 0)
Green relay -> D0 (GPIO 16)
Display (ST7789, SPI)
DIN (MOSI) -> D7 (GPIO 13)
CLK (SCLK) -> D5 (GPIO 14)
CS -> D6 (GPIO 12)
DC -> D2 (GPIO 4)
RST -> D1 (GPIO 5)
Backlight -> D4 (GPIO 2)
Note: GPIO 0, 2 and 15 are boot strapping pins. If the board won’t boot or flash with the relays connected, check that the relay modules don’t pull them away from their boot levels (GPIO 0 and 2 high, GPIO 15 low).
Pins can be changed in include/config.h and platformio.ini.
SETUP
Copy include/secrets.example.h to include/secrets.h and fill in Wi-Fi name, password and a GitLab token with the read_api scope (a project access token with the Reporter role works too)
Set API_URL in include/config.h to https://<gitlab-host>/api/v4/projects/<project-id>/pipelines/latest
Upload the font to SPIFFS once over USB: pio run -t uploadfs
Upload the firmware over USB: pio run -t upload – credentials are saved to EEPROM, later updates come over the air
Designed & built by Ing. TULák
GitHub: https://github.com/davidvancl
If you print it, please share a Make – I’d love to see your version! Questions, ideas or improvements are welcome in the comments or as an issue/PR on GitHub.
Thanks for downloading and may your pipelines stay green! 🚦