{"id":13894059,"url":"https://github.com/Erriez/ErriezRobotDyn4DigitDisplay","last_synced_at":"2025-07-17T08:32:15.734Z","repository":{"id":85067627,"uuid":"143032796","full_name":"Erriez/ErriezRobotDyn4DigitDisplay","owner":"Erriez","description":"RobotDyn 4-digit 7-segment TM1637 display library for Arduino","archived":false,"fork":false,"pushed_at":"2020-08-28T18:19:22.000Z","size":805,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-01T22:37:01.822Z","etag":null,"topics":["4-digit","7-segment","arduino","display","documentation","esp32","esp8266","getting","library","numeric","robotdyn","started","tm1637","uno"],"latest_commit_sha":null,"homepage":"https://github.com/Erriez/ErriezArduinoLibrariesAndSketches","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Erriez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2018-07-31T15:24:56.000Z","updated_at":"2023-04-17T20:47:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"25fc17aa-faa7-4468-bc96-8f28a58e99ea","html_url":"https://github.com/Erriez/ErriezRobotDyn4DigitDisplay","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erriez%2FErriezRobotDyn4DigitDisplay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erriez%2FErriezRobotDyn4DigitDisplay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erriez%2FErriezRobotDyn4DigitDisplay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erriez%2FErriezRobotDyn4DigitDisplay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Erriez","download_url":"https://codeload.github.com/Erriez/ErriezRobotDyn4DigitDisplay/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226243893,"owners_count":17594452,"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","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":["4-digit","7-segment","arduino","display","documentation","esp32","esp8266","getting","library","numeric","robotdyn","started","tm1637","uno"],"created_at":"2024-08-06T18:01:22.837Z","updated_at":"2024-11-24T22:31:11.187Z","avatar_url":"https://github.com/Erriez.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# RobotDyn 4-digit LED display with TM1637 library for Arduino.\n\n[![Build Status](https://travis-ci.org/Erriez/ErriezRobotDyn4DigitDisplay.svg?branch=master)](https://travis-ci.org/Erriez/ErriezRobotDyn4DigitDisplay)\n\nThis is a RobotDyn 4-digit 7-segment LED display library for Arduino. The PCB contains a two wire [TM1637 LED / button](https://github.com/Erriez/ErriezTM1637) controller.\n\n![ErriezRobotDyn4DigitDisplay](https://raw.githubusercontent.com/Erriez/ErriezRobotDyn4DigitDisplay/master/extras/ErriezRobotDyn4DigitDisplay.png)\n\n**Note**: This library uses the double-dot to display a time. The LED dots per segment are not wired and cannot be controlled.\n\n\n## Library features\n\n- Set brightness (0..7)\n- Set digit (0..3)\n- Control all individual segments per digit\n- Control double dots (on/off)\n- Display time (hours:minutes)\n- Display decimal value (-999..9999) with optional padding\n- Display hexadecimal value (0...0xFFFF) with optional padding\n\n\n## Hardware\n\n**Connection display with Arduino**\n\n| Display | Arduino UNO / Nano / Pro Mini / Leonardo / Mega2560 / ESP8266 / Lolin32 |\n| :-----: | :----------------------------------------------------------- |\n|   GND   | GND                                                          |\n|   VCC   | 5V (or 3.3V)                                                 |\n|   CLK   | Any DIGITAL pin                                              |\n|   DIO   | Any DIGITAL pin                                              |\n\nOther MCU's may work, but are not tested.\n\n\n## Examples\n\nArduino IDE | Examples | Erriez RobotDyn 4-digit display:\n\n* [Erriez7SegementDisplayDemo](https://github.com/Erriez/ErriezRobotDyn4DigitDisplay/blob/master/examples/Erriez7SegementDisplayDemo/Erriez7SegementDisplayDemo.ino)\n\n\n## Documentation\n\n* [Online HTML](https://erriez.github.io/ErriezRobotDyn4DigitDisplay)\n* [Download PDF](https://github.com/Erriez/ErriezRobotDyn4DigitDisplay/raw/master/ErriezRobotDyn4DigitDisplay.pdf)\n\n\n## Usage\n\n**Initialization**\n\n```c++\n#include \u003cErriezRobotDyn4DigitDisplay.h\u003e\n\n// Connect display pins to the Arduino DIGITAL pins\n#if defined(ARDUINO_ARCH_AVR)\n#define TM1637_CLK_PIN      2\n#define TM1637_DIO_PIN      3\n#elif defined(ARDUINO_ESP8266_WEMOS_D1MINI) || defined(ESP8266_WEMOS_D1MINI) || defined(ARDUINO_ESP8266_NODEMCU)\n#define TM1637_CLK_PIN      D2\n#define TM1637_DIO_PIN      D3\n#elif defined(ARDUINO_LOLIN32)\n#define TM1637_CLK_PIN      0\n#define TM1637_DIO_PIN      4\n#else\n#error \"May work, but not tested on this target\"\n#endif\n\n// Create display object\nRobotDyn4DigitDisplay display(TM1637_CLK_PIN, TM1637_DIO_PIN);\n\nvoid setup()\n{\n    // Initialize TM1637\n    display.begin();\n}\n```\n\n**Clear display**\n\n```c++\n// Clear display\ndisplay.clear();\t// _ _ _ _\n```\n\n**Set brightness**\n\n```c++\n// Set brightness\ndisplay.setBrightness(0); // Minimum\ndisplay.setBrightness(7); // Maximum\n```\n\n**Display time**\n\n```c++\n// Display time\ndisplay.time(11, 59);\t// 1 1 : 5 9\n```\n\n**Control time double dot**\n\n```c++\ndisplay.doubleDots(true); \t// Turn double dot on\ndisplay.doubleDots(false); \t// Turn double dot off\n```\n\n**Display decimal value**\n\n```c++\n// Display decimal values\ndisplay.dec(-999);\t// - 9 9 9\ndisplay.dec(-1);\t// _ _ - 1\ndisplay.dec(0);\t\t// _ _ _ 0\ndisplay.dec(1);\t\t// _ _ _ 1\ndisplay.dec(123);\t// _ 1 2 3\ndisplay.dec(9999);\t// 9 9 9 9\ndisplay.dec(10000);\t// - - - -\n\n// Display decimal values with padding\ndisplay.dec(1); \t// _ _ _ 1  (Default no padding)\ndisplay.dec(1, 2);\t// _ _ 0 1  (2 digits padding)\ndisplay.dec(1, 3);\t// _ 0 0 1  (3 digits padding)\ndisplay.dec(1, 4);\t// 0 0 0 1  (4 digits padding)\n\ndisplay.dec(34, 3);\t// _ 0 3 4  (2 digits padding)\n```\n\n**Display hexadecimal value**\n\n```c++\n// Display hexadecimal values\ndisplay.dec(0x0000);\t// 0 0 0 0\ndisplay.dec(0x1234);\t// 1 2 3 4\ndisplay.dec(0xABCD);\t// A B C D\ndisplay.dec(0xBEEF);\t// B E E F\n\n// Display hexadecimal values with padding\ndisplay.hex(0x0001); \t// _ _ _ 1  (Default no padding)\ndisplay.hex(0x0001, 2);\t// _ _ 0 1  (2 digits padding)\ndisplay.hex(0x0001, 3);\t// _ 0 0 1  (3 digits padding)\ndisplay.hex(0x0001, 4);\t// 0 0 0 1  (4 digits padding)\n\ndisplay.hex(0x0034, 3);\t// _ 0 3 4  (2 digits padding)\n```\n\n**Control individual digits**\n\n```c++\n// Display individual digits: 1 2 3 4\ndisplay.digit(0, 1);\ndisplay.digit(1, 2);\ndisplay.digit(2, 3);\ndisplay.digit(3, 4);\n```\n\n**Special characters**\n\n```c++\nControl individual LED-segments (bit numbers):\n   - 0 -\n   |   |\n   5   1\n   |   |\n   - 6 -\n   |   |\n   4   2\n   |   |\n   - 3 -  .7\n\n// Display error: E r r _\ndisplay.rawDigit(0, 0b01111001);\ndisplay.rawDigit(1, 0b01010000);\ndisplay.rawDigit(2, 0b01010000);\ndisplay.rawDigit(3, 0b00000000);\n\n// Display H character: _ _ _ H\ndisplay.rawDigit(3, 0b01110110);\n\n// Display negative temperature: - 1 ` C\ndisplay.rawDigit(0, SEGMENTS_MINUS);\ndisplay.digit(1, 1);\ndisplay.rawDigit(2, SEGMENTS_DEGREE);\ndisplay.rawDigit(3, SEGMENTS_CELSIUS);\n\n// Display rect\ndisplay.rawDigit(0, 0b00111001);\ndisplay.rawDigit(1, 0b00001001);\ndisplay.rawDigit(2, 0b00001001);\ndisplay.rawDigit(3, 0b00001111);\n```\n\n\n## Library dependencies\n\n* [Erriez TM1637](https://github.com/Erriez/ErriezTM1637) library\n\n\n## Library installation\n\nPlease refer to the [Wiki](https://github.com/Erriez/ErriezArduinoLibrariesAndSketches/wiki) page.\n\n\n## Other Arduino Libraries and Sketches from Erriez\n\n* [Erriez Libraries and Sketches](https://github.com/Erriez/ErriezArduinoLibrariesAndSketches)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FErriez%2FErriezRobotDyn4DigitDisplay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FErriez%2FErriezRobotDyn4DigitDisplay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FErriez%2FErriezRobotDyn4DigitDisplay/lists"}