{"id":26965577,"url":"https://github.com/zubax/bugface_bf1","last_synced_at":"2026-01-18T13:28:39.094Z","repository":{"id":35683882,"uuid":"39959979","full_name":"Zubax/bugface_bf1","owner":"Zubax","description":"JTAG/SWD debugger + UART adapter based on the Black Magic Probe firmware","archived":false,"fork":false,"pushed_at":"2025-05-18T18:48:34.000Z","size":10181,"stargazers_count":22,"open_issues_count":3,"forks_count":9,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-05-18T19:37:35.308Z","etag":null,"topics":["arm-cortex","arm-cortex-m0","arm-cortex-m3","arm-cortex-m4f","arm-cortex-m7","blackmagic","debugger","dronecode","dronecode-probe","gdb","jst-sh","jtag","swd"],"latest_commit_sha":null,"homepage":"https://forum.zubax.com","language":"Shell","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/Zubax.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":"2015-07-30T16:14:15.000Z","updated_at":"2025-05-18T18:48:38.000Z","dependencies_parsed_at":"2024-07-31T18:01:34.126Z","dependency_job_id":"8e3f5665-1c97-460c-9496-0436535e89f5","html_url":"https://github.com/Zubax/bugface_bf1","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Zubax/bugface_bf1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fbugface_bf1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fbugface_bf1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fbugface_bf1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fbugface_bf1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zubax","download_url":"https://codeload.github.com/Zubax/bugface_bf1/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fbugface_bf1/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28536753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T13:04:05.990Z","status":"ssl_error","status_checked_at":"2026-01-18T13:01:44.092Z","response_time":98,"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":["arm-cortex","arm-cortex-m0","arm-cortex-m3","arm-cortex-m4f","arm-cortex-m7","blackmagic","debugger","dronecode","dronecode-probe","gdb","jst-sh","jtag","swd"],"created_at":"2025-04-03T07:30:07.511Z","updated_at":"2026-01-18T13:28:39.068Z","avatar_url":"https://github.com/Zubax.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zubax BugFace BF1\n\nZubax BugFace BF1 (formerly known as Dronecode Probe) is a generic JTAG/SWD+UART console adapter compatible with most ARM Cortex based designs and in particular with the hardware maintained by the [Dronecode project](http://dronecode.org/).\n\nThe design is based on Black Magic Probe and is distributed under open source licenses. The full description of its features and supported targets can be found at the [Black Magic Probe homepage](https://black-magic.org/).\n\nFor the manufacturing instructions refer to [MANUFACTURING.md](MANUFACTURING.md).\n\n\u003cimg src=\"docs/figures/dcp-v2.3.jpg\" alt=\"dcp-v2-a\" height=\"250\"\u003e\n\n## Features\n\n- Some of the supported targets include:\n  - STMicroelectronics STM32\n  - Microchip/Atmel SAM\n  - NXP LPC/Kinetis\n  - Texas Instruments LM/TM\n  - Silicon Labs EFM32/EZR32\n  - Xilinx Zynq-7000\n  - Broadcom BCM2836\n  - **And many others!** See the [Black Magic Probe homepage](https://black-magic.org/) for the full list of supported targets.\n\n- Embedded GDB server on the device. No host-side driver needed (this is unlike, for example, OpenOCD).\n  - Loading the application into flash or RAM.\n  - Real-time execution and single-stepping.\n  - Hardware assisted breakpoints and read/write/access watchpoints.\n  - Software breakpoints when executing from RAM.\n\n- Simple integration with development tools and IDE.\n- Connectors are compatible with the Dronecode Autopilot Connector Standard.\n- Optional power supply delivery to the target (the power is sourced from USB).\n\n## USB interface\n\nBF1 is a composite USB device that incorporates two virtual serial port interfaces:\n\n1. The first virtual serial port interface is connected to the debugger's embedded GDB server; this interface is used by the host-side debugger to interact with the target. The baud rate and other parameters of a typical serial port are irrelevant for this interface, because it has no physical representation.\n\n2. The second virtual serial port interface is connected to the physical UART interface that can be used to communicate directly with the target's application (for example, this can be used to access the [Serial command line interface (Serial CLI)](https://wiki.zubax.com/public/serial-cli) on the target).\n\nFor example, the host may represent the debugger as follows:\n\n- `COM3` (on Windows), or `/dev/serial/by-id/usb-Black_Magic_Debug_Black_Magic_Probe_v1.10.0-836-g254bc265-dirty_C0E079F1-if00` (on GNU/Linux) - this is the GDB interface.\n- `COM4` (on Windows), or `/dev/serial/by-id/usb-Black_Magic_Debug_Black_Magic_Probe_v1.10.0-836-g254bc265-dirty_C0E079F1-if02` (on GNU/Linux) - this is the physical UART interface that can be used to interact with the target's application (e.g. a serial CLI).\n\nThe device does not require drivers since it uses the standard USB CDC ACM profile. If you're using the device with GNU/Linux, be sure [configure the access permissions correctly](https://wiki.zubax.com/en/public/USB/Using-USB-devices-with-GNULinux).\n\nThe USB Vendor ID (VID) is **0x1D50**, and the Product ID (PID) is **0x6018**.\n\n## Connectors\n\nThis section documents the available debug interfaces and their connectors, except for the micro-USB since its purpose is evident.\n\n### DCD-M\n\n![DCD-M debug cable (JST SM06B-SRSS-TB)](docs/figures/DCD-M_debug_cable_JST_SM06B-SRSS-TB.jpg)\n\nThe DCD-M connector pinout is documented in the table below. It exposes both SWD and UART interfaces to the target, where UART is typically used to access the debug serial console of the target.\n\n| Pin     | Type     | Name     | Comment           |\n| ------- | -------- | -------- | ----------------- |\n| 1       | IN       | `TPWR`   | Target power sense; also can be used to power the target. |\n| 2       | IN       | `UART_RX`| Serial input.     |\n| 3       | OUT      | `UART_TX`| Serial output.    |\n| 4       | IN/OUT   | `SWDIO`  | SWD data line.    |\n| 5       | OUT      | `SWDCLK` | SWD clock line.   |\n| 6       | GND      | `GND`    |                   |\n\nThe connector part numbers are as follows:\n\n| Name      | Manufacturer  | Part number                                                           | Pitch | Datasheet     |\n| --------- | ------------- | --------------------------------------------------------------------- | ------| ------------- |\n| DCD-M     | JST           | **BM06B-SRSS-TB** *(top entry)*, or **SM06B-SRSS-TB** *(side entry)*  | 1 mm  | [http://www.jst-mfg.com/product/pdf/eng/eSH.pdf](http://www.jst-mfg.com/product/pdf/eng/eSH.pdf) |\n\n### ARM Cortex M debug connector\n\n![ARM Cortex M debug cable - 2x5 pins, pitch 1.27 mm](docs/figures/ARM_Cortex_M_debug_cable.jpg)\n![ARM Cortex M debug connector - 2x5 pins, pitch 1.27 mm](docs/figures/Cortex_debug_connector.png)\n\nThis is the standard ARM Cortex M debug connector that can be seen on many other ARM debuggers.\n\n| Pin | Name            |\n| --- | --------------- |\n| 1   | `TPWR`          |\n| 2   | `SWDIO/TMS`     |\n| 3   | `GND`           |\n| 4   | `SWDCLK/TCK`    |\n| 5   | `GND`           |\n| 6   | `SWO/TDO`       |\n| 7   |                 |\n| 8   | `NC/TDI`        |\n| 9   | `GND`           |\n| 10  | `nRESET`        |\n\n### Pixhawk v1 serial\n\nThis connector exposes only the UART interface. It can be used as a general UART port, and its pinout is compatible with the debug serial port on the Pixhawk v1 autopilot.\n\n| Pin | Type        | Name      | Comment   |\n| --- | ----------- | --------- | --------- |\n| 1   | Power OUT   | `5V`      | Optional 5 V supply output to the target directly from USB.\u003cbr\u003e\u003cbr\u003eDisabled by default; refer to the schematic to see what hardware modifications are required to enable it. |\n| 2   |             |           | Not used          |\n| 3   |             |           | Not used          |\n| 4   | IN          | `UART_RX` | Serial input      |\n| 5   | OUT         | `UART_TX` | Serial output     |\n| 6   | GND         | GND       |                   |\n\n## Updating the device's own firmware\n\nPlease refer to the following sources:\n\n- \u003chttps://black-magic.org/upgrade.html\u003e\n- [MANUFACTURING.md](MANUFACTURING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzubax%2Fbugface_bf1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzubax%2Fbugface_bf1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzubax%2Fbugface_bf1/lists"}