{"id":30064932,"url":"https://github.com/venkatesh4009/tm1628_led_driver","last_synced_at":"2026-05-15T20:05:54.931Z","repository":{"id":305073468,"uuid":"1021841886","full_name":"venkatesh4009/TM1628_LED_Driver","owner":"venkatesh4009","description":"Linux kernel driver for TM1628 7‑Segment LED and Keypad Controller, developed on NXP FRDM-i.MX93 using GPIO bit-banging protocol.","archived":false,"fork":false,"pushed_at":"2025-12-19T08:21:54.000Z","size":3169,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-22T02:48:12.719Z","etag":null,"topics":["7-segment-display","bsp-development","device-drivers","embedded-linux","gpio-driver","i-mx93","keypad-matrix","linux-driver","linux-kernel","nxp-imx93","tm1628"],"latest_commit_sha":null,"homepage":"","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/venkatesh4009.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-18T03:24:01.000Z","updated_at":"2025-12-19T08:21:57.000Z","dependencies_parsed_at":"2025-07-18T07:37:18.544Z","dependency_job_id":null,"html_url":"https://github.com/venkatesh4009/TM1628_LED_Driver","commit_stats":null,"previous_names":["venkatesh4009/tm1628_led_driver"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/venkatesh4009/TM1628_LED_Driver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkatesh4009%2FTM1628_LED_Driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkatesh4009%2FTM1628_LED_Driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkatesh4009%2FTM1628_LED_Driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkatesh4009%2FTM1628_LED_Driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/venkatesh4009","download_url":"https://codeload.github.com/venkatesh4009/TM1628_LED_Driver/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkatesh4009%2FTM1628_LED_Driver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33078046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T20:05:40.333Z","status":"ssl_error","status_checked_at":"2026-05-15T20:05:38.672Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["7-segment-display","bsp-development","device-drivers","embedded-linux","gpio-driver","i-mx93","keypad-matrix","linux-driver","linux-kernel","nxp-imx93","tm1628"],"created_at":"2025-08-08T05:24:24.745Z","updated_at":"2026-05-15T20:05:54.926Z","avatar_url":"https://github.com/venkatesh4009.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TM1628 7‑Segment LED Display Kernel Driver for NXP i.MX93\n\nThis repository contains a Linux **kernel driver** for the **TM1628** 7-segment LED and keypad controller IC, designed for use with the **NXP FRDM-i.MX93** board.\n\n## ✨ Features\n\n- Control of 8-digit 7-segment LED display\n- Keypad scanning support (4x4 matrix)\n- GPIO-based bit-banging protocol (CLK, DIO, STB)\n- Lightweight and modular Linux kernel driver\n\n---\n\n## 📁 Directory Structure\n\n```text\ntm1628_driver/\n├── Kernel_Driver_tm1628/\n│ ├── tm1628.c # Main kernel driver source\n│ ├── Kconfig \u0026 Makefile\n│ └── dts.txt # Device Tree snippet\n├── tm1628_dts.txt # Extra DTS sample\n├── TM1628_V1.1_EN.pdf # Official datasheet\n└── TM1628_Driver_Guide.pdf # Project documentation\n```\n\n### 🛠️ How to Use This Driver\n\n### 1️⃣ Add TM1628 Node in Device Tree\n\n```bash\nEdit your board’s DTS file (`imx93-*.dts`) and add:\n\ntm1628@0 {\n    compatible = \"essae,tm1628\";\n    clk-gpio = \u003c\u0026gpio3 18 GPIO_ACTIVE_HIGH\u003e;\n    dio-gpio = \u003c\u0026gpio3 20 GPIO_ACTIVE_HIGH\u003e;\n    stb-gpio = \u003c\u0026gpio3 19 GPIO_ACTIVE_HIGH\u003e;\n};\n✅ Ensure the GPIO pins match your hardware connections.\n```\n### 2️⃣ Build the Kernel Module\n\n```bash\n$ cd Kernel_Driver_tm1628/\n$ make -C /lib/modules/$(uname -r)/build M=$(pwd) modules\n```\n\n### 3️⃣ Insert the Module\n\n```bash\n$ sudo insmod tm1628.ko\n$ dmesg | grep tm1628\n```\n\n### 4️⃣ Auto-Load at Boot (Optional)\n\n```bash\n# Move to kernel driver path\n$ sudo cp tm1628.ko /lib/modules/$(uname -r)/kernel/drivers/misc/\n\n# Register module to load at boot\n$ echo \"tm1628\" | sudo tee -a /etc/modules\n\n# Rebuild module dependency list\n$ sudo depmod -a\n```\n---\n### 🔌 Hardware Wiring\n\n- Signal --\u003e\tTM1628 Pin --\u003e\ti.MX93 GPIO\n- CLK --\u003e       SCLK\t--\u003e     GPIO3_IO18\n- DIO --\u003e       Data    --\u003e\t    GPIO3_IO20\n- STB --\u003e\t    Strobe\t--\u003e     GPIO3_IO19\n- GND --\u003e                       GND\n- 5V  --\u003e                       5V\n\n### ✅ Ensure proper 3.3V or 5V supply and common GND\n---\n\n### ⚙️ Kernel Integration (Optional for Yocto/Linux Kernel)\n\n### kconfig\n```bash\n\nconfig LEDS_TM1628\n    tristate \"TM1628 LED driver\"\n    default m\n    help\n      Kernel driver for TM1628 7-segment LED and keypad controller.\n      Uses GPIO bit-banging for communication.\n```\n\n### makefile\n\n```bash\nobj-$(CONFIG_LEDS_TM1628) += tm1628.o\n```\n\n### 📚 References\n\n- TM1628 Datasheet\n- Driver Setup Guide\n\n---\n\n👨‍💼 Author\n\nDeveloped by:\n\nVenkatesh M – venkatesh.muninagaraju@essae.com\n\nEmbedded System Engineer\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenkatesh4009%2Ftm1628_led_driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvenkatesh4009%2Ftm1628_led_driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenkatesh4009%2Ftm1628_led_driver/lists"}