1 / 4
GitLab Pipeline Traffic Light (ESP8266 + TFT) — zdjęcie 1
1 / 4

GitLab Pipeline Traffic Light (ESP8266 + TFT)

Zamów wydruk tego modelu

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.

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! 🚦

Tagi