{"id":23359897,"url":"https://github.com/markmll/tang_nano_as_shipped","last_synced_at":"2026-01-29T15:31:53.824Z","repository":{"id":184173223,"uuid":"365005407","full_name":"MarkMLl/tang_nano_as_shipped","owner":"MarkMLl","description":"A close approximation of the demo code on Sipeed Tang Nano boards as shipped.","archived":false,"fork":false,"pushed_at":"2021-05-30T20:20:17.000Z","size":46,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-29T01:37:24.550Z","etag":null,"topics":["fpga","verilog","vhdl"],"latest_commit_sha":null,"homepage":"","language":"Verilog","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MarkMLl.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,"governance":null}},"created_at":"2021-05-06T18:40:31.000Z","updated_at":"2023-09-05T05:33:04.000Z","dependencies_parsed_at":"2023-07-27T11:05:21.545Z","dependency_job_id":null,"html_url":"https://github.com/MarkMLl/tang_nano_as_shipped","commit_stats":null,"previous_names":["markmll/tang_nano_as_shipped"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MarkMLl/tang_nano_as_shipped","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkMLl%2Ftang_nano_as_shipped","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkMLl%2Ftang_nano_as_shipped/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkMLl%2Ftang_nano_as_shipped/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkMLl%2Ftang_nano_as_shipped/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarkMLl","download_url":"https://codeload.github.com/MarkMLl/tang_nano_as_shipped/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkMLl%2Ftang_nano_as_shipped/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28880219,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T10:31:27.438Z","status":"ssl_error","status_checked_at":"2026-01-29T10:31:01.017Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["fpga","verilog","vhdl"],"created_at":"2024-12-21T11:12:22.701Z","updated_at":"2026-01-29T15:31:53.800Z","avatar_url":"https://github.com/MarkMLl.png","language":"Verilog","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tang_nano_as_shipped\nA close approximation of the demo code on Sipeed Tang Nano boards as shipped.\n\n\u003cpre\u003e/* When I wrote this, I had not been able to find the source of the bitstream */\n/* which is preloaded onto the Sipeed Tang Nano \"Little Bee\" demo board (it   */\n/* has since turned up, the link in Sipeed's documentation was broken). This  */\n/* is notable for                                                             */\n/*                                                                            */\n/*       * Cycling its LEDs in the sequence off-G-B-R by sequencing each low  */\n/*       * Cycle time is measured to be 4.19 seconds                          */\n/*       * Low time for each LED is 1.048 seconds (4.192 / 4)                 */\n/*       * Button B pressed (high) forces reset with all LEDs off (high)      */\n/*                                                                            */\n/* This is an attempt to reconstitute the missing project. It borrows heavily */\n/* from https://github.com/andrsmllr/tang_nano_devbrd but chops out stuff     */\n/* which isn't strictly necessary and attempts to indicate what imports (in   */\n/* particular the clocks) actually are in terms of files.        MarkMLl      */ \n\n/* The LED signals could be conveniently redefined as a three-bit register.   */\n/* I've left them like this since that's how they're defined in the donor     */\n/* project, although I have corrected their order so that the sequence is the */\n/* more conventional off-R-G-B, and used button A to reverse the sequence.    */\u003c/pre\u003e\n\nThe serial interface chip on the Tang Nano board is underpowered, and grossly inadequate when plugged directly into a modern computer. Assume that for reliable operation you need a USB v1 hub, although many other cheap hubs have such poor performance that they might be suitable.\n\nI can't speak for Windows, but on Linux you need to add (or enable the lines in) two additional configuration files before plugging the board in:\n\n\u003cpre\u003e/etc/modprobe.d/tang-nano.conf\n# Blacklisted to allow the Gowin programmer to run.\n\nblacklist ftdi_sio\u003c/pre\u003e\n\nand\n\n\u003cpre\u003e/etc/udev/rules.d/51-tang-nano.rules\n# Remember to  udevadm control --reload  and to blacklist/remove the ftdi_sio the module.\n\nKERNEL==\"ttyUSB*\", ATTRS{idVendor}==\"0403\", ATTRS{idProduct}==\"6010\", GROUP=\"plugdev\", MODE:=\"0660\"\nSUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"0403\", ATTRS{idProduct}==\"6010\", ATTRS{product}==\"Sipeed-Debug\", GROUP=\"plugdev\", MODE=\"0660\"\n\n# NOTE: This illicitly uses an FTDI identifier, so should be left disabled.\u003c/pre\u003e\n\nIf you don't have those, don't reload the udev rules, or don't remove ftdi_sio after adding/enabling the files, the Gowin programmer will attempt to run rmmod to remove ftdi_sio... this will of course fail for an unprivileged user.\n\nSo to wrap up, I say again: TWO configuration files, RELOAD udev, and REMOVE ftdi_sio.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkmll%2Ftang_nano_as_shipped","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkmll%2Ftang_nano_as_shipped","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkmll%2Ftang_nano_as_shipped/lists"}