{"id":18745438,"url":"https://github.com/gioblu/1pin","last_synced_at":"2025-11-23T10:30:17.142Z","repository":{"id":87563099,"uuid":"6676462","full_name":"gioblu/1PIN","owner":"gioblu","description":"1PIN","archived":false,"fork":false,"pushed_at":"2014-11-20T18:03:17.000Z","size":252,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-28T20:24:13.200Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Processing","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/gioblu.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}},"created_at":"2012-11-13T19:36:32.000Z","updated_at":"2021-09-14T08:52:28.000Z","dependencies_parsed_at":"2023-02-27T01:25:29.893Z","dependency_job_id":null,"html_url":"https://github.com/gioblu/1PIN","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/gioblu%2F1PIN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gioblu%2F1PIN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gioblu%2F1PIN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gioblu%2F1PIN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gioblu","download_url":"https://codeload.github.com/gioblu/1PIN/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239627235,"owners_count":19670844,"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":[],"created_at":"2024-11-07T16:18:05.954Z","updated_at":"2025-11-23T10:30:17.058Z","avatar_url":"https://github.com/gioblu.png","language":"Processing","funding_links":[],"categories":[],"sub_categories":[],"readme":"#1PIN OPENSOURCE COMMUNICATION PROTOCOL\n\nMASTER SLAVE ARCHITECTURE | 255 SELECTABLE IDS | 3,18KB/S \n***\n###ONLY ONE WIRE USED TO COMMUNICATE BIDIRECTIONALLY FROM 2,38KB/S TO 3,18 KB/S FROM 1 TO 255 ARDUINO BOARDS WITH CYCLIC REDUNDANCY CHECK AND CORRECT RECEIVING AKNOWLEDGE\n\nYES, ON THE SAME WIRE, YES, WITH ONLY ONE WIRE, AND YES, WITHOUT 1WIRE :P!!\n***\nIn the makers / DIY / Arduino world is really difficult to see efficient communication with Serial, i2c or 1wire.\nUsers are annoyed by really complex ways to bring information from a MCU to another one and often those are propietary.\n\nFor this reason at least 2 years ago I started to develop a new standard of communication based only on the Arduino software resources.\nI choose to start this way to serve a really compatible protocol that could fit theorically on every board that works\nwith Arduino IDE without harming any other function or library. This happens because 1PIN use only software to work.\n\nSo NO INTTERRUPT, NO TIMER, NO WATCHDOG directly used. \n\nThis means that 1PIN can run freely on ATtiny85 without harming PWM, micros(), delayMicroseconds() or other libraries flashed. \n\ndigitalWrite/Read are useless for this application (long duration), using digitalWriteFastinterruptSafe library instead.\n***\nLOW SPEED:  2,38 kb/s - 396 cmd/s - 476 req/s | ACCURACY 99.93% (9365 cmd received / 10000 sent)\n\nLOW SETUP:  (Arduino duemilanove) [BITwidth 35|BITspacer 105|startWINDOW 70| readDELAY 4]\n***\nSTD SPEED:  2,85 kb/s - 476 cmd/s - 571 req/s | ACCURACY 96.01% (9601 cmd received / 10000 sent)\n\nSTD SETUP:  (Arduino duemilanove) [BITwidth 28|BITspacer  84|startWINDOW 40| readDELAY 4]\n***\nFAST SPEED: 3,18 kb/s - 530 cmd/s - 636 req/s | ACCURACY 94.41 % (9441 cmd received / 10000 sent)\n\nFAST SETUP: (Arduino duemilanove) [BITwidth 24|BITspacer 80|startWINDOW 24| readDELAY 0]\n***\n\nIdea by Giovanni Blu Mitolo - gioscarab@gmail.com \u0026 Martino di Filippo - martinodf@gmail.com\n\n1PIN is released under CreativeCommons Attribution-NonCommercial-ShareAlike 3.0 Unported License\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgioblu%2F1pin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgioblu%2F1pin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgioblu%2F1pin/lists"}