{"id":15538758,"url":"https://github.com/bmonty/gpio-hd44780-driver","last_synced_at":"2026-05-18T15:04:50.514Z","repository":{"id":57252730,"uuid":"117600494","full_name":"bmonty/gpio-hd44780-driver","owner":"bmonty","description":"GPIO driver for the HD44780 LCD display.","archived":false,"fork":false,"pushed_at":"2018-01-16T03:49:07.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-05T00:43:31.588Z","etag":null,"topics":["gpio","hd44780","raspberry-pi","raspberry-pi-library","raspberrypi"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/bmonty.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}},"created_at":"2018-01-15T22:07:06.000Z","updated_at":"2018-01-16T15:14:51.000Z","dependencies_parsed_at":"2022-08-31T22:11:15.204Z","dependency_job_id":null,"html_url":"https://github.com/bmonty/gpio-hd44780-driver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bmonty/gpio-hd44780-driver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmonty%2Fgpio-hd44780-driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmonty%2Fgpio-hd44780-driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmonty%2Fgpio-hd44780-driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmonty%2Fgpio-hd44780-driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bmonty","download_url":"https://codeload.github.com/bmonty/gpio-hd44780-driver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmonty%2Fgpio-hd44780-driver/sbom","scorecard":{"id":245709,"data":{"date":"2025-08-11","repo":{"name":"github.com/bmonty/gpio-hd44780-driver","commit":"64120766903e6115d9ba9522a2a4f0c242a8aae7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Code-Review","score":0,"reason":"Found 0/9 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T07:35:33.236Z","repository_id":57252730,"created_at":"2025-08-17T07:35:33.236Z","updated_at":"2025-08-17T07:35:33.236Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33181763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["gpio","hd44780","raspberry-pi","raspberry-pi-library","raspberrypi"],"created_at":"2024-10-02T12:06:15.328Z","updated_at":"2026-05-18T15:04:50.494Z","avatar_url":"https://github.com/bmonty.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"This a Node.js module for using an LCD panel with a HD44780 LCD controller.  It is intended to be used in projects that require LCD output and abstracts the setup and operation of the LCD.  This module assumes you are running on hardware with a General Purpose (GPIO) interface such as a Raspberry Pi.  Other hardware platforms are supported if they are supported by the [rpio](https://www.npmjs.com/package/rpio) module.  \n\nThe HD44780 must be wired in the 4-bit data mode configuration (i.e DB4 - DB7 are connected and DB0 - DB3 are not).  In addition, the Read/Write signal (R/W) must be pulled low.  The R/W signal is not used by the driver.\n\ngpio-hd44780-driver is intended to be used with Node.js version 8 and higher.\n\n# Installation\n```\nnpm install gpio-hd44780-driver\n```\n\nYou must have the appropriate packages installed so your platform can compile drivers used by the `rpio` module.\n\n# API\n\n## `gpio-hd44780-driver({config})`\n\nCreates a new `gpio-hd44780-driver` object and intializes the hardware.  When the constructor returns, the HD44780 is ready to accept commands for controlling the display.\n\nThe config object is required and has the following options:\n```\nconst config = {\n  pinRs: 18,                  /* physical pin connected to the HD44780's register select pin */\n  pinEnable: 22,              /* physical pin connected to the HD44780's enable pin */\n  pinsData: [11, 12, 15, 16], /* physical pins connected to the HD44780's data bus (DB4 - DB7) */\n  lcdColumns: 16,             /* the number of columns on the LCD panel */\n  lcdRows: 2                  /* the number of rows on the LCD panel */\n}\n```\n\nAll options are required.\n\n## `clear()`\n\nClears the LCD panel and resets the cursor position to 0,0.  This function takes some time for the HD44780 to complete and \nit has a built-in 100 msec delay.\n\n## `print(str)`\n\nSends a string to be displayed on the LCD.  A `\\n` in the string will cause the cursor to shift to the start of the next row.\n\n### Example\n```\n/* shows \"Hello!\" on the LCD */\nlcd.print('Hello!');\n\n/* shows \"Hello\" on the first row and \"World!\" on the second row */\nlcd.print('Hello\\nWorld!');\n```\n\n## `setCursor(col, row)`\n\nExplicitly sets the cursor position.\n\n# Usage\n\nThe following script can be used to print the words **HD44780 Test!** on the LCD panel:\n```\nconst hd44780 = require('gpio-hd44780-driver');\n\nconst lcd = hd44780({\n  pinRs: 18,\n  pinEnable: 22,\n  pinsData: [11, 12, 15, 16],\n  lcdColums: 16\n  lcdRows: 2\n});\n\nlcd.print('HD44780 Test!');\n```\n\nThis script will show the date and time updated every second:\n```\nconst hd44780 = require('gpio-hd44780-driver');\n\nconst lcd = hd44780({\n  pinRs: 18,\n  pinEnable: 22,\n  pinsData: [11, 12, 15, 16],\n  lcdColums: 16\n  lcdRows: 2\n});\n\nsetInterval(() =\u003e {\n  lcd.setCursor(0, 0);\n\n  const now = new Date();\n  lcd.print(`${now.toDateString()}\\n${now.toTimeString().slice(0,8)}`);\n}, 1000);\n```\n\n# Contributing\n\nAll contributions are welcome using pull requests on GitHub.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmonty%2Fgpio-hd44780-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbmonty%2Fgpio-hd44780-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmonty%2Fgpio-hd44780-driver/lists"}