Contents: [Dobrica Pavlinušić's random unstructured stuff]
• Dobrica Pavlinušić's random unstructured stuff (BalCCon 2k24 badge) 
• Dobrica Pavlinušić's random unstructured stuff (CH32V003) 
• Dobrica Pavlinušić's random unstructured stuff (esp32s2 programmer) 
• Dobrica Pavlinušić's random unstructured stuff (ardulink) 

BalCCon 2k24 badge
https://www.youtube.com/watch?v=4waDha2DxK8 
https://ch405‑labs.com/mc‑0o00/ 
https://gitlab.com/ch405labs/badgelife/mcd‑0o00/mcd‑0o00‑hardware‑design 

CH32V003
https://github.com/cnlohr/ch32v003fun 
esp32s2 programmer
https://github.com/cnlohr/esp32s2‑cookbook/tree/master/ch32v003programmer 
flash programmer to esp32s2
dpavlin@nuc:/nuc/Balccon2k24/esp32s2-cookbook/ch32v003programmer$ /nuc/esp8266/esptool/esptool.py --port /dev/ttyUSB2 -b 460800 write_flash --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 build/bootloader/bootloader.bin 0x10000 build/usb_sandbox.bin 0x8000 build/partition_table/partition-table.bin
esptool.py v4.7-dev
Serial port /dev/ttyUSB2
Connecting.....
Detecting chip type... Unsupported detection protocol, switching and trying again...
Detecting chip type... ESP32-S2
Chip is ESP32-S2 (revision v0.0)
Features: WiFi, No Embedded Flash, No Embedded PSRAM, ADC and temperature sensor calibration in BLK2 of efuse V1
Crystal is 40MHz
MAC: 7c:df:a1:02:81:de
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00004fff...
Flash will be erased from 0x00010000 to 0x00041fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Compressed 13376 bytes to 9327...
Wrote 13376 bytes (9327 compressed) at 0x00001000 in 0.4 seconds (effective 244.8 kbit/s)...
Hash of data verified.
Compressed 201568 bytes to 111748...
Wrote 201568 bytes (111748 compressed) at 0x00010000 in 2.6 seconds (effective 614.4 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 119...
Wrote 3072 bytes (119 compressed) at 0x00008000 in 0.1 seconds (effective 391.6 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Connect SWIO (Pin D1) on CH32V003 to GPIO6 on the ESP32S2.
Optionally use 10k pull‑up on SWIO.
 Optional Clock Synthesizer is on GPIO2 "Multi2" / "M0"
 VCC Output on GPIO11/12 on ESP32S2.
hmm... doesn't seem to work for me
dpavlin@nuc:/nuc/Balccon2k24/ch32v003fun/minichlink$ ./minichlink -3i
Found ESP32S2-Style Programmer
Interface Setup
Error: Failed to get chip details

that's because I didn't turn on switch on badge!
dpavlin@nuc:/nuc/Balccon2k24/ch32v003fun/minichlink$ ./minichlink -i
[Fri Feb 21 14:38:00 2025] usb 3-3.3.4.4: input irq status -75 received
[Fri Feb 21 14:38:00 2025] usb 3-3.3.4.4: input irq status -75 received
[Fri Feb 21 14:38:00 2025] usb 3-3.3.4.4: input irq status -75 received
Found ESP32S2-Style Programmer
[Fri Feb 21 14:38:00 2025] usb 3-3.3.4.4: input irq status -75 received
Interface Setup
USER/RDPR  : e817/5aa5
DATA1/DATA0: ff00/ff00
WRPR1/WRPR0: 00ff/00ff
WRPR3/WRPR2: 00ff/00ff
[Fri Feb 21 14:38:00 2025] usb 3-3.3.4.4: input irq status -75 received
Flash Size: 16 kB
R32_ESIG_UNIID1: 4f29abcd
R32_ESIG_UNIID2: b7cabcd4
R32_ESIG_UNIID3: ffffffff

flash
dpavlin@nuc:/nuc/Balccon2k24$ ./minichlink -w functest.bin 0 -b

ardulink
https://gitlab.com/BlueSyncLine/arduino‑ch32v003‑swio