{"id":21358701,"url":"https://github.com/zceemja/psoc1_prog","last_synced_at":"2025-04-15T09:29:58.705Z","repository":{"id":160468499,"uuid":"337550973","full_name":"zceemja/psoc1_prog","owner":"zceemja","description":"Cypress PSoC1 Programmer using Arduino nano","archived":false,"fork":false,"pushed_at":"2024-07-04T17:35:46.000Z","size":10,"stargazers_count":9,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T18:51:48.826Z","etag":null,"topics":["arduino","arduino-nano","cypress","programmer-tool","psoc","psoc1"],"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/zceemja.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}},"created_at":"2021-02-09T22:14:36.000Z","updated_at":"2025-02-27T20:51:09.000Z","dependencies_parsed_at":"2025-01-22T18:51:08.881Z","dependency_job_id":null,"html_url":"https://github.com/zceemja/psoc1_prog","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/zceemja%2Fpsoc1_prog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zceemja%2Fpsoc1_prog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zceemja%2Fpsoc1_prog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zceemja%2Fpsoc1_prog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zceemja","download_url":"https://codeload.github.com/zceemja/psoc1_prog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249042669,"owners_count":21203332,"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":["arduino","arduino-nano","cypress","programmer-tool","psoc","psoc1"],"created_at":"2024-11-22T05:21:40.158Z","updated_at":"2025-04-15T09:29:58.652Z","avatar_url":"https://github.com/zceemja.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cypress PSoC® 1 Programmer\n\nThis allows to program PSoC1 devices using atmega168 (Arduino Nano) board.\n\n## Setup\n\nFlash arduino nano with:\n```bash\nplatformio run --target upload --environment atmega168\n```\nConnections:\n\n|Arduino | Cypress Chip |\n| --- | --- |\n| +5V | +5V |\n| GND | GND |\n| D8  | SCL |\n| D11 | XRES |\n| D12 | SDA |\n\n## Programmer\nProgrammer options:\n```\npython programmer.py --help\nusage: programmer.py [-h] [-i INPUT] [-o OUTPUT] [--offset OFFSET] [--count COUNT] [--read] [--reset] [--init INIT] port {flash,checksum,device,read,erase,reset}\n\npositional arguments:\n  port                  Serial port\n  {flash,checksum,device,read,erase,reset}\n                        Command to run\n                        flash - write .hex to device\n                        checksum - returns program checksum from device\n                        device - returns device name or identification hex\n                        read - dumps device program to file\n                        erase - deletes all devices program memory\n                        reset - restarts device\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -i INPUT, --input INPUT\n                        Input intel hex file for flashing\n  -o OUTPUT, --output OUTPUT\n                        Output binary for memory dump\n  --offset OFFSET       Memory dump read address offset\n  --count COUNT         Memory dump read count\n  --read                Read back program when flashing to double check\n  --reset               Reset device after command is complete\n  --init INIT           Reinitialise programming mode on device\n```\nYou can flash using .hex file made by PSoC Designer like so:\n```bash\nprogrammer.py {PORT} flash -i {hex file}\n```\n\n## TODO\n* Chips without XRES has special procedure to start programming mode which is not implemented.\n* Only tested on CY8C24423A chip\n\n## Supported devices\n\n * CY8C27143\n * CY8C27243\n * CY8C27443\n * CY8C27543\n * CY8C27643\n * CY8C24123A\n * CY8C24223A\n * CY8C24423A\n * CY8C23533\n * CY8C23433\n * CY8C23033\n * CY8C21123\n * CY8C21223\n * CY8C21323\n * CY8C21234\n * CY8C21312\n * CY8C21334\n * CY8C21434\n * CY8C21512\n * CY8C21534\n * CY8C21634\n * CY8CTMG110-32LTXI\n * CY8CTMG110-00PVXI\n * CY8CTST110-32LTXI\n * CY8CTST110-00PVXI\n * Probably other PSoC1 chips\n\n\nProject is based on [https://www.cypress.com/file/42196/download](https://www.cypress.com/file/42196/download)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzceemja%2Fpsoc1_prog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzceemja%2Fpsoc1_prog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzceemja%2Fpsoc1_prog/lists"}