{"id":19856576,"url":"https://github.com/gavinlyonsrepo/tm1638plus_rpi","last_synced_at":"2025-05-02T01:31:38.626Z","repository":{"id":98597006,"uuid":"380518483","full_name":"gavinlyonsrepo/TM1638plus_RPI","owner":"gavinlyonsrepo","description":"A C++  installable Dynamic Raspberry pi library to display data on a 8-digit TM1638 seven segment module This library supports several variants. The  (8 KEY \u0026 8 LED) variant which has 8 LED's and 8 Push buttons. The (16 KEY QFY) variant which has 16 pushbuttons. The (LKM1638) variant which has 8 bi-colour LED's and 8 Push buttons.","archived":false,"fork":false,"pushed_at":"2024-12-09T15:06:00.000Z","size":77,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-06T20:51:16.410Z","etag":null,"topics":["display-library","library","raspberry-pi","raspberry-pi-3","rpi-library","seven-segment","tm1638","tm1638display"],"latest_commit_sha":null,"homepage":"https://gavinlyonsrepo.github.io/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gavinlyonsrepo.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}},"created_at":"2021-06-26T14:14:01.000Z","updated_at":"2024-12-09T15:06:20.000Z","dependencies_parsed_at":"2024-02-11T14:47:52.881Z","dependency_job_id":null,"html_url":"https://github.com/gavinlyonsrepo/TM1638plus_RPI","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2FTM1638plus_RPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2FTM1638plus_RPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2FTM1638plus_RPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2FTM1638plus_RPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gavinlyonsrepo","download_url":"https://codeload.github.com/gavinlyonsrepo/TM1638plus_RPI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251969433,"owners_count":21673203,"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":["display-library","library","raspberry-pi","raspberry-pi-3","rpi-library","seven-segment","tm1638","tm1638display"],"created_at":"2024-11-12T14:16:01.566Z","updated_at":"2025-05-02T01:31:38.612Z","avatar_url":"https://github.com/gavinlyonsrepo.png","language":"C++","funding_links":["https://www.paypal.com/paypalme/whitelight976"],"categories":[],"sub_categories":[],"readme":"[![Website](https://img.shields.io/badge/Website-Link-blue.svg)](https://gavinlyonsrepo.github.io/)  [![Rss](https://img.shields.io/badge/Subscribe-RSS-yellow.svg)](https://gavinlyonsrepo.github.io//feed.xml)  [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/paypalme/whitelight976)\n\n\n# TM1638plus RPI\n\n## Table of contents\n\n  * [Overview](#overview)\n  * [See Also](#see-also)\n  * [Installation](#installation)\n  * [Test](#test)\n  * [Software](#software)\n  * [Hardware](#hardware)\n  \n\n\n## Overview\n\n* Name: TM1638plus_RPI\n* Author: Gavin Lyons.\n\n* Description:\n\nA Raspberry pi library to display data on a 8-digit TM1638 seven segment module.\nDynamic install-able system level Raspberry Pi C++ library.\n\n* Development Tool chain. \n\t1. Raspberry PI 3 model b\n\t2. C++, g++ (Debian 12.2.0) \n\t3. Raspbian , Debian 12 bookworm OS, , 64 bit.\n\t4. kernel : aarch64 Linux 6.1.0-rpi7-rpi-v8\n\t5. bcm2835 Library 1.73 dependency. Provides low level I2C bus, delays and GPIO control.\n\n## See Also\n\nThe TM1638plus_RPI library has been amalgamated into my combined display library ['Display_Lib_RPI.'](https://github.com/gavinlyonsrepo/Display_Lib_RPI)\nThis new library is under active development and should work on any Linux based single board computer.\n\n## Installation\n\n1. Install the dependency bcm2835 Library if not installed\n\t* The bcm2835 library is a dependency and provides delays and GPIO control.\n\t* Install the C libraries of bcm2835, [Installation instructions here](http://www.airspayce.com/mikem/bcm2835/)\n\n2. Download the TM1638plus_RPI library\n\t* Open a Terminal in a folder where you want to download,build \u0026 test library\n\t* Run following command to download from github.\n\n```sh\ncurl -sL https://github.com/gavinlyonsrepo/TM1638plus_RPI/archive/2.1.tar.gz | tar xz\n```\n\n3. Run \"make\" to run the makefile in base folder to install library, it will be\n    installed to usr/lib and usr/include\n\n```sh\ncd TM1638plus_RPI-2.1\nmake\nsudo make install\n```\n\n## Test\n\nWire up your Display.\nNext step is to test LED display and the just installed library with an example file.\n\nThere are six examples files. The default example file is model 1 \"hello world\".\nTo decide which one the makefile(In examples folder) builds simply edit \"SRC\" variable\nat top of the makefile(In examples folder). i.e. SRC=src/HELLOWORLD_Model1\nin the \"User SRC directory Option Section\" at top of file.\nPick an example \"SRC\" directory path and ONE Only.\nComment out the rest.\n\n|  List No | example file name  | Model Num | Desc|\n| ------ | ------ |  ------ | ------ |\n| 1 | HELLOWORLD_Model1 | 1 | Hello world |\n| 2 | HELLOWORLD_Model2 | 2 | Hello world |\n| 3 | HELLOWORLD_Model3 | 3 | Hello world |\n| 4 | TEST_Model1 | 1 | test routines  |\n| 5 | TEST_Model2 | 2 | test routines  |\n| 6 | TEST_Model3 | 3 | test routines  |\n\nNext enter the examples folder and run the makefile in THAT folder,\nThis makefile builds the examples file using the just installed library.\nand creates a test exe file in \"bin\".\n\n```sh\ncd examples/\nmake\nmake run\n```\n\n## Software\n\nThis library is a port of my Arduino Library. There at link below you will find the full documentation including the  Application programming interface(API), which is similar to RPI version except ::\n \n1. Examples files for Arduino are .ino files.\n2. High freq data member flag is not needed in RPI library.\n3. The text alignment enum has an extra enumerator for leading zeros.\n4. Constructor has GPIO parameters in base class.\n5. In file dependency graphs ,High level file includes will differ. eg \"#include \u003cbcm2835.h\u003e\" will be missing.\n6. Model 3 code is in a separate file and separate sub-class of Model1.  \n7. Enumerators and constants are used instead of #defines\n\n[ Arduino library github Link ](https://github.com/gavinlyonsrepo/TM1638plus)\n\n### Comms delay\n\nCommunications optional delay.\nIt may be necessary to adjust the constant  TMCommDelay in the TM1638plus_common.h file. It is Microsecond delay used in communications clocking, it is currently set to 1, \nIt can be set to 0 or higher. On a different CPU Frequency to one tested, it may be necessary to increase/decrease this.\nThe user can do this with the Getter method provided. TMCommDelayGet.\n\n## Hardware\n\nConnections to RPI:\n\n1. GPIO = STB = Strobe\n2. GPIO  = CLK  = Clock\n3. GPIO = DIO = Data input / output\n4. GND\n5. VCC 3.3V (or 5V see Note)\n\nNOTE : If VCC is set to 5V, level shift GPIO to 3.3V or damage could result.\n\nThis library supports three variants of the TM1638,\nwhich for purposes of this documentation,\nwill be named Model 1 ,Model 2 and Model 3.\nPictured at from left to right.\n\n| Model No | Module Name | LEDS | Push buttons |\n| ------ | ------ |  ------ | ------ |\n| Model 1 | TM1638 LED \u0026 KEY | 8 red only | 8 |\n| Model 2 | TM1638 KEYS, QYF  | 0 | 16 |\n| Model 3 | TM1638 V1.3 or LKM1638  | 8 bi color,  red and green  | 8 |\n\n![ module pics ](https://github.com/gavinlyonsrepo/TM1638plus/blob/master/extra/images/tm16383.jpg)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavinlyonsrepo%2Ftm1638plus_rpi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgavinlyonsrepo%2Ftm1638plus_rpi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavinlyonsrepo%2Ftm1638plus_rpi/lists"}