{"id":17401492,"url":"https://github.com/samie/tacho","last_synced_at":"2026-04-20T03:03:39.114Z","repository":{"id":25793898,"uuid":"29232466","full_name":"samie/tacho","owner":"samie","description":"Python script to drive a tachometer on Raspberry Pi GPIO using PWM. Show CPU, network traffic, or MQTT data.","archived":false,"fork":false,"pushed_at":"2015-02-17T17:18:08.000Z","size":268,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T22:20:17.766Z","etag":null,"topics":["mqtt","python","raspberry-pi","tachometer"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samie.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":"2015-01-14T07:23:27.000Z","updated_at":"2022-11-24T16:04:27.000Z","dependencies_parsed_at":"2022-08-24T14:14:36.099Z","dependency_job_id":null,"html_url":"https://github.com/samie/tacho","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/samie/tacho","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samie%2Ftacho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samie%2Ftacho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samie%2Ftacho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samie%2Ftacho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samie","download_url":"https://codeload.github.com/samie/tacho/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samie%2Ftacho/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32031070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["mqtt","python","raspberry-pi","tachometer"],"created_at":"2024-10-16T16:24:14.612Z","updated_at":"2026-04-20T03:03:39.099Z","avatar_url":"https://github.com/samie.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tacho\nPython script to drive a tachometer on Raspberry Pi GPIO using PWM\n\n![Screenshot](/tacho-network.jpg?raw=true \"Network traffic MB/s\")\n\n\n## Required hardware and schematics\n\n The components needed to drive a standard automotive RPM gauge are\n pretty simple. You need:\n\n   - 12V power source (or battery) for the gauge\n   - Optocoupler 4N25 to separate the gauge signal and Raspberry Pi GPIO.\n   - 75 (or so) Ohm resistor for optocoupler input\n   - 20kOhm resistor for pull-down for gauge signal line (might depend on gauge)\n\nThe script assumes BCM GPIO 4 (Pin 7 in Rasperry Pi) to be used for\ndriving the gauge. Pin 9 is used for the ground. Opto-isolator acts like\nnormal led, so putting a small ~75 Ohm resistor makes it ok with 3.3V.\n\nThe Hz is calibrated to [specific hardware](http://biltema.se/sv/Bil---MC/Bil-tillbehor/Bil-el/Instrument/Varvraknare-32251/) using the calibration array in the beginning of the script. You probably need to adjust the numbers \nhere to make it match your hardware. Mine had huge variations especially between 4 to 6.\n\n## Operating modes\n\n\nRun the script by giving the operating more as the first parameter:\n\n- test - Goes trhough test cycle setting values from 1 to 8\n- [value] - displays the given float value between 1-8\n- cpu - displays CPU load percentage from 0 up to 80%\n- network - displays network inbound traffic in MB/s.\n- mqtt [server] [topic] - subscribes to MQTT broker / topic for values.\n\nOptional 'quiet' parameter disables the console output.\n\nFor example the following puts the script to refresh CPU on the background\n\n    sudo ./tacho.py cpu quiet \u0026\n\nNote, that because GPIO on RPi needs root access 'sudo' must be used.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamie%2Ftacho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamie%2Ftacho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamie%2Ftacho/lists"}