{"id":42308708,"url":"https://github.com/walmis/blackmagic-espidf","last_synced_at":"2026-01-27T11:13:13.904Z","repository":{"id":54471535,"uuid":"228230575","full_name":"walmis/blackmagic-espidf","owner":"walmis","description":"Blackmagic Wireless SWD Debug probe hosted on esp-idf SDK (for ESP8266) with UART on Telnet port and HTTP using xterm.js","archived":false,"fork":false,"pushed_at":"2024-01-04T19:00:06.000Z","size":1160,"stargazers_count":231,"open_issues_count":4,"forks_count":46,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-01-04T20:21:36.601Z","etag":null,"topics":["adapter","cortex-m","debugging-tool","esp-idf","esp8266","gdbserver","swd","uart","wifi","wireless"],"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/walmis.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}},"created_at":"2019-12-15T18:24:23.000Z","updated_at":"2024-01-04T20:21:37.419Z","dependencies_parsed_at":"2024-01-04T20:21:37.309Z","dependency_job_id":"1043c6ed-efb8-46a7-b389-f24821d14729","html_url":"https://github.com/walmis/blackmagic-espidf","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/walmis/blackmagic-espidf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walmis%2Fblackmagic-espidf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walmis%2Fblackmagic-espidf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walmis%2Fblackmagic-espidf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walmis%2Fblackmagic-espidf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/walmis","download_url":"https://codeload.github.com/walmis/blackmagic-espidf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walmis%2Fblackmagic-espidf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28812371,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T07:41:26.337Z","status":"ssl_error","status_checked_at":"2026-01-27T07:41:08.776Z","response_time":168,"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":["adapter","cortex-m","debugging-tool","esp-idf","esp8266","gdbserver","swd","uart","wifi","wireless"],"created_at":"2026-01-27T11:13:13.267Z","updated_at":"2026-01-27T11:13:13.895Z","avatar_url":"https://github.com/walmis.png","language":"C","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=66JLPHXMD3XW2"],"categories":[],"sub_categories":[],"readme":"\n# Introduction\n\nblackmagic-espidf is a project which aims to support debugging SWD and JTAG targets over wifi by integrating [blackmagic](https://github.com/blacksphere/blackmagic) probe firmware to the espressif IDF platform for esp8266.\n\n## Features\n- **NEW** Automatic Attach to target on connect to GDB server\n- **NEW** Live Expressions support in STM32CubeIDE\n- **NEW** Non-Stop GDB protocol and multiple GDB connections (beta)\n- All the debug features and supported targets of the [blackmagic](https://github.com/blacksphere/blackmagic) firmware:\n  * Targets ARM Cortex-M and Cortex-A based microcontrollers.\n  * Connects to the target processor using the JTAG or Serial Wire Debug (SWD) interface.\n  * Provides full debugging functionality, including: watchpoints, flash memory breakpoints, memory and register examination, flash memory programming, etc.\n  * Load your application into the target Flash memory or RAM.\n  * Single step through your program.\n  * Run your program in real-time and halt on demand.\n  * Examine and modify CPU registers and memory.\n  * Obtain a call stack backtrace.\n  * Set up to 6 hardware assisted breakpoints.\n  * Set up to 4 hardware assisted read, write or access watchpoints.\n  * Set unlimited software breakpoints when executing your application from RAM.\n- Implements the GDB extended remote debugging protocol for seamless integration with the GNU debugger and other GNU development tools.\n- GDB server on TCP port 2022\n- Serial port server on TCP port 23\n- Serial port over websocket on embedded http server (powered by xterm.js) @ http://192.168.4.1\n- OTA updates over tftp\n- Platform/BMP debug messages terminal over http://192.168.4.1/debug.html\n\n## ![web](images/web.gif)\n\nLive Expressions in STMCubeIDE\n## ![web](images/live.gif) \n\nSTMCubeIDE settings\n## ![web](images/stmcube.png)\n\n## ![gdb connection](images/gdb.gif)\n\n## Supported Targets:\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://raw.githubusercontent.com/wiki/blacksphere/blackmagic/images/bmpm_ARM_Cortex-M_targets-2021.png\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/wiki/blacksphere/blackmagic/images/bmpm_ARM_Cortex-M_targets-2021.png\" width=\"80%\"\u003e\u003c/a\u003e\u003cbr/\u003e\n\u003ca href=\"https://raw.githubusercontent.com/wiki/blacksphere/blackmagic/images/bmpm_ARM_Cortex-A_alpha_targets.png\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/wiki/blacksphere/blackmagic/images/bmpm_ARM_Cortex-A_alpha_targets.png\" width=\"80%\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Requirements\n\nesp8266 module with \u003e= 2MB flash. Default configuration is set for 4MB flash for OTA updates. It's possible to configure for other flash sizes. see `make menuconfig`\n\nBy disabling OTA it should work on 1MB devices.\n\n## GPIO defaults for esp8266\n\nGPIO0 - SWDIO\n\nGPIO2 - SWCLK\n\nTX0 - UART TXD\n\nRX0  - UART RXD\n\n## Serial terminal\n\nConnecting to serial terminal can be done using socat:\n\n```\nsocat tcp:192.168.4.1:23,crlf -,echo=0,raw,crlf\n```\n\n## Building\n\nGrab the toolchain from https://github.com/espressif/ESP8266_RTOS_SDK#developing-with-the-esp8266_rtos_sdk  and add it to $PATH.\n\n```bash\ngit clone --recursive https://github.com/walmis/blackmagic-espidf.git\ncd blackmagic-espidf\nmake menuconfig # optional, if you want to change some settings\nmake\nmake flash # this will flash using esptool.py over serial connection\n```\n\n### Station Mode Configuration\n\nTo use the ESP8266 in Station mode, in the Blackmagic configuration section:\n- Configure Station mode\n- Specify the SSID and password you wish to connect to.  *NOTE: The SSID is case sensitive*\n- (optional) Specify a hostname to make it easier to connect to the probe.\n\n### Development/Debug Configuration\n\nWhen working on blackmagic-espidf it is frequently desirable to continue to use the ESP8266 UART for debugging.  To achieve this you can disable `Monitor target UART` in the Blackmagic configuration section.\n\nIn this mode you will be unable to use the ESP UART to monitor the target and connecting the ESP UART to the target may result in undefined behavior since the debug messages will be sent to the target.\n\n## OTA Flashing\n\nIf the firmware is already on the esp8266 device, it is possible to flash using tftp. Make sure you have tftp-hpa package installed then run:\n\n```bash\nmake tftpflash\n```\n\n## Buy me a coffee\n\nIf you find this project useful, consider buying me a coffee :-)\n\n[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=66JLPHXMD3XW2)\n\nDon't forget to support Blackmagic developers ! \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalmis%2Fblackmagic-espidf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwalmis%2Fblackmagic-espidf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalmis%2Fblackmagic-espidf/lists"}