Mirror of flipperdevices/blackmagic-esp32-s2@github.com
Go to file
Sergey Gavrilov 9447ee9260
[FL-2630] Wireless UART (#45)
* HTTP: websocket mockup
* PSRAM: 2M, store some global objects there
* Web interface: UART console and refactoring
* Simple-UART: get config
* Network: websocket for web uart
* Web interface: UART history, receive indicator
* Build: artifacts
* Web interface: UART config
* Simple UART: proxy config
* Web interface: cleanup API and fix README
* software uart logs: more precise timings
* software uart logs: enlarge buffer
* uart: network socket
* app: network uart
* Web interface: UART send
* Web interface: update dependencies
* UART Rx: 1Mb stream buffer
* HTTP Server: cleanup websocket fns
* Web interface: smart nbsp in terminal
* Web interface: add keypress to non-interactive elements with on:click
* bundle
* Web interface: fix first nbsp on line
* Web interface: firmware version
* Attempts to fix build: 1
* Attempts to fix build: 2
* Attempts to fix build: 3
* Web interface: mobile friendly uart terminal
* Web interface: mobile friendly input
2023-09-27 01:37:47 +09:00
.github/workflows Upgrade nodejs to 18 (#47) 2023-09-25 20:05:15 +10:00
components [FL-2630] Wireless UART (#45) 2023-09-27 01:37:47 +09:00
main [FL-2630] Wireless UART (#45) 2023-09-27 01:37:47 +09:00
scripts
.clang-format
.gitattributes
.gitignore
.gitmodules
CMakeLists.txt
LICENSE
README.md [FL-2630] Wireless UART (#45) 2023-09-27 01:37:47 +09:00
partitions.csv
sdkconfig [FL-2630] Wireless UART (#45) 2023-09-27 01:37:47 +09:00

README.md

Black Magic Probe / DapLink for ESP32-S2

WiFi/USB capable version of the famous BlackMagicProbe (or DapLink) debugger.

Clone the Repository

Clone the repository with:

git clone --recursive https://github.com/flipperdevices/blackmagic-esp32-s2.git

You must recursively clone the submodules, which --recursive will do for you. When you pull new changes, be sure to run git submodule update --init --recursive.

Develop with ESP-IDF

Set up ESP-IDF v4.4 following Espressif's instructions. Make sure idf.py is in your PATH and you can successfully run the program.

Build with ESP-IDF

In your clone of this repository, run:

idf.py build

Note: the sdkconfig file already configures the project to target the ESP32-S2. You don't need to run idf.py set-target esp32s2, which will overwrite some of the necessary settings in sdkconfig.

Flash with ESP-IDF

Connect the dev board to your computer with a USB cable. Find the name of the serial port device on your computer that corresponds to the dev board. See the [Flipper Zero guide] on how to connect to the dev board over USB or Espressif's guide on how to find the port name.

Run:

idf.py -p <port> flash

Web interface development

Web interface is located in components/svelte-portal and written in Svelte. To build it, you need to install Node.js and run npm install in components/svelte-portal directory. Then you can run npm run dev to start development server or npm run build to build production version.

Typical workflow is to fix the board's IP address in components/svelte-portal/src/lib/Api.svelte and then run npm run dev. After that, you can open http://localhost:5000 in your browser and see changes in the web interface in real time with live reload.

If you want to change local ip or port, you need to run export HOST={ip} PORT={port} before npm run dev.

export HOST=127.0.0.1 PORT=3000
npm run dev

When you're done, you need to run npm run build, idf.py build and then idf.py -p <port> flash. You can then open http://blackmagic.local in your browser and see the changes in the web interface.

npm run build
idf.py build
idf.py -p <port> flash

Schematic

Flipper Zero Wi-Fi Module Schematic