#1 2026-07-24 15:04:42

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 217

CH32V003 as arduino

Купив собі колись кілька плат з CH32V003F4P6 на розпродажі, і програматор, і нарешті дійшли ручки іх помацати wink
І вияснилось, що програматор не той wink Я купив wch-link, а треба wch-linkE wink

Але не все так фатально. В інтернетах є проект емулятора minichlink на arduino wink
Береться хттпс://github.com/Community-PIO-CH32V/Ardulink-pio, зашивається звичайним способом в Arduino (я взяв Uno). Для інших варіантів треба вказати правильну плату, з правильною частотою резонатора.

Тепер arduino стає Ardulink Programmer. І platformio може з ним працювати (mounriver-studio, на жаль, ні).

Якщо в platformio.ini вписати

[env:ch32v003f4p6_evt_r0]
platform = ch32v
board = ch32v003f4p6_evt_r0
framework = arduino
upload_protocol = minichlink
upload_port = /dev/ttyACM0
upload_flags = "-c ${UPLOAD_PORT}"

то все прошивається, правда повільно.

З"єднання таке:
Arduino - CH32
GND        -          GND
8 - 1K резистор - SWD
9             -          V

Класичний blink

#include <Arduino.h>

#define LED_PIN PD0

void setup() {
    pinMode(LED_PIN, OUTPUT); }
void loop() {
    digitalWrite(LED_PIN, HIGH);
    delay(250);
    digitalWrite(LED_PIN, LOW);
    delay(250);
}

працює, але не без особливостей. Internal LED тут припаяний до PD1, він же SWD, і, схоже, не можна його просто взяти і використати як GPIO.

Неактивний

#2 2026-07-24 16:08:05

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 882

Re: CH32V003 as arduino

jokeR пише:

CH32V003F4P6

Бавився з ними трохи, а також з восьминогими CH32V003J4M6. Правда, не через ардуіно фреймворк, а з ch32v003fun.
Якби їм ще зовнішній Vref зробили, взагалі ціни би їм не було. І засмутила відсутність SPI у J4M6.   

jokeR пише:

він же SWD, і, схоже, не можна його просто взяти і використати як GPIO.

Так, не можна. Мало того, якщо спробувати використати, можна залочити чіп у непрацездатний стан. І якщо F4P6 розлочити доволі просто, то щоб розлочити J4M6 без NRST піна довелось потанцювати з бубном.

jokeR пише:

Я купив wch-link, а треба wch-linkE wink

wch-linkE сам по собі на CH32V305 зроблений)

Остання редакція dimich (2026-07-24 16:17:49)

Неактивний

#3 2026-07-24 17:47:16

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 217

Re: CH32V003 as arduino

У 8 ногих дрібноконтролерів свій шарм wink Так, теж прошивається.

board = genericCH32V003J4M6

wch-linkE сам по собі на CH32V305 зроблений)

Інший контроллер, і ціна інша hmm

Неактивний

#4 2026-07-24 17:55:45

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 882

Re: CH32V003 as arduino

jokeR пише:

У 8 ногих дрібноконтролерів свій шарм wink Так, теж прошивається.

Наскільки розумію, кристал у всіх CH32V003 абсолютно однаковий, просто в різних корпусах.

Неактивний

#5 2026-07-25 09:45:53

jokeer
Гість

Re: CH32V003 as arduino

Тепер би ще придумати до чого приспособити той wch-link wink

#6 2026-07-25 17:02:26

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 882

Re: CH32V003 as arduino

jokeer пише:

Тепер би ще придумати до чого приспособити той wch-link wink

Ну як мінімум як USB-UART адаптер має працювати smile А можна заморочитись і спробувати перешити його додатково під інший протокол, зробити 1-Wire / debugWIRE адаптер, чи I²C, чи повільний напівдуплексний SPI. Дивлячить на якому МК і як він там зроблений. А AVR ISP, мабуть, без хірургічного втручання не вийде, бо 4 лінії потрібно.

Неактивний

#7 2026-07-25 19:29:54

nickjust
Учасник
Зареєстрований: 2024-06-13
Повідомлень: 59

Re: CH32V003 as arduino

ch32v003 весч.....вже більше 10 проектів зробив  ...на 8ногій ...теж купив wch-link, а потім докупляв з буквою Е
прогер можна зробити на CH32V003F4P6 та ch340   - проект на гітхабі NHC_WCH_SDI

Софт на ардуіно,прогер WCH-LINKUTILITY 2.90

Остання редакція nickjust (2026-07-25 19:33:16)

Неактивний

#8 2026-07-26 08:42:06

jokeer
Гість

Re: CH32V003 as arduino

Хттпс://github.com/NgoHungCuong/1-Wire-CH32V003 ?
Щось сложне. Няп це ліба під ch32f103

#9 2026-07-26 16:58:29

nickjust
Учасник
Зареєстрований: 2024-06-13
Повідомлень: 59

Re: CH32V003 as arduino

_https://github.com/74th/ch32v003-uart-programmer

_https://github.com/Dieu-de-l-elec/AngstromIO-devboard

Остання редакція nickjust (2026-07-26 16:59:54)

Неактивний

#10 2026-07-26 22:12:10

jokeer
Гість

Re: CH32V003 as arduino

Ну.. такоє.. якщо в мене є програматор, який по 3 проводах може залити bootloader.. і працювати як debugger.. навіщо заливати програму через uart і 4 проводи?

#11 2026-07-26 22:46:17

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 882

Re: CH32V003 as arduino

jokeer пише:

Ну.. такоє.. якщо в мене є програматор, який по 3 проводах може залити bootloader.. і працювати як debugger.. навіщо заливати програму через uart і 4 проводи?

Мені здається, сенс приведених лінків у тому, що Ardulink-pio - не єдине можливе рішення працювати з CH32V003 при відсутності WCH-LinkE.
А з Ardulink-pio прошивщик хіба не пише у віртуальний UART, який по USB пише в USB-UART адаптер, який в свою чергу пише в атмегу, яка уже по 3х проводах взаємодіє з цільовим МК? Тут від ардуіно просто зручність, що USB-UART та контролер на одній платі.
Це якщо взяти МК, який реалізує USB девайс, то можна позбутись UART'а із ланцюжка. Але тоді прошивщик має вміти взаємодіяти з vendor-specific USB девайсом.

Неактивний

#12 Вчора 09:27:51

jokeer
Гість

Re: CH32V003 as arduino

Follow this document to flash the USART IAP boot-loader using WCH-LinkE hardware

Няп тут про bootloader,  який переводиться в режим dfu підтяжкою одної ноги. Для 8-ногого контроллера 3 ноги віддати для програмування це по багатому wink можна, звичайно, вивернутись, вкрутити резисторів.. але wch-linke все одно потрібен.

#13 Вчора 14:54:55

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 882

Re: CH32V003 as arduino

jokeer пише:

Няп тут про bootloader,  який переводиться в режим dfu підтяжкою одної ноги. Для 8-ногого контроллера 3 ноги віддати для програмування це по багатому wink

Ну 2 з них - UART, як і в ардуіні. Атмегу ж теж можна хоч по ISP, хоч одним проводом по debugWIRE прошивати, але не всі хотять додаткові провода, хотять бутлоадер і аплоад з IDE. В деяких випадках так зручніше.
Колись хотів детально розібратись, які там є доступні варіанти прошивки окрім SWIO, але руки не дійшли. З WCH-LinkE запрацювало, цього було достатньо. Але надибав такий опис: WCH CH32V003 Factory Bootloader - The Missing Manual.

Неактивний

#14 Вчора 15:53:01

jokeer
Гість

Re: CH32V003 as arduino

Ну коли замість програматора за 300 грн UART за 50 - в принципі непогано..

#15 Сьогодні 16:19:43

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 217

Re: CH32V003 as arduino

хттпс://github.com/aappleby/picorvd
Надибав таке. Виглядає непогано, і rp2040 в хазяйстві є wink
Але не працює sad
blink наче заливає, але рівень на пінах не міняється.
При спробі debug - відтворюється хттпс://github.com/aappleby/picorvd/issues/8
Що хотів сказати автор issue.. Не та версія компілятора? gdb? А яка потрібна? ..
Жаль що до кінця ту штуку не доробили sad

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму