Страница 1 из 2
Микроконтроллеры PADAUK
Добавлено: Вт май 05, 2026 15:38:31
viiv
Здесь буду собирать полезную информацию по микроконтроллерам PADAUK. Присоединяйтесь, кому интересно.
Дешевые (некоторые брал по 3...4руб/шт), можно купить (Озон, Чип-Дип,...), есть в мелких корпусах (SOT23-6, SO8), есть с флешом, есть и однократно программируемые... Как по мне, есть задачи для таких "букашек".
И так, начало:
Выше - про открытые проекты программатора/компилятора. Внимание!
Не все микроконтроллеры Padauk поддерживаются открытым программатором!
Есть, конечно, и средства разработки, поставляемые самим производителем, но их я (пока) не пробовал использовать, поэтому пока и сказать нечего.
Адаптеры для прошивки
Добавлено: Вт май 05, 2026 16:13:12
viiv
Есть несколько ZIF адаптеров, которые устанавливаю в программатор. Однократные микроконтроллеры ставлю в ZIF адаптер , прошиваю, затем запаиваю в печатную плату.
Адаптеры такие:
- Для SOT23-6 (в программатор ставить через переходник, не "напрямую")
- Для SOP8
- Для SOP16
Re: Микроконтроллеры PADAUK
Добавлено: Вт май 05, 2026 16:17:40
smacorp
Контроллеры очень симпатичные. И при углублённом изучении могут доставить немало удивительных ощущений, как приятных, так и напротив.
Сборка программы (и прошивки) программатора из исходников под Linux
Добавлено: Вт май 05, 2026 18:38:43
viiv
Исходники софта программатора
Здесь.
Развитие проекта остановилось (более двух лет нет коммитов), тем не менее как-то работает, прошивать какие-то микроконтроллеры умеет.
Лучше устанавливать "development" версию - она довольно сильно ушла от релиза (больше микроконтроллеров поддерживается). Некоторые заметки по сборке development версии под Linux:
Спойлер
1) Скачиваем development ветку с github:
Код: Выделить всё
> git clone --branch development https://github.com/free-pdk/easy-pdk-programmer-software
> cd easy-pdk-programmer-software
Должно быть так:
2) Собираем easypdkprog: здесь все просто, просто запускаем "make"
Далее я просто скопировал собранный easypdkprog в /usr/local/bin
Собранный easypdkprog, должен выдать примерно такую версию:
Код: Выделить всё
> easypdkprog -V
easypdkprog 1.3-82-g85f5a7b
Далее необходимо собрать прошивку (firmware) программатора, версии протокoла
для релиза 1.3 и development на основе этой же версии отличаются и необходимо
обновить firmware программатора (прошивку STM32F072):
ВНИМАНИЕ: PMS171B у меня не определялся, не тот ICID был: в исходниках 0xD36,
из микроконтроллера считывалось 0xE36. Пока "тупо" поправил в файле fpdkicdata.c:
Код: Выделить всё
{ .name = "PMS171B",
-было .otpid = 0x2D36,
-было .id12bit = 0xD36,
+стало .otpid = 0x2E36,
+стало .id12bit = 0xE36,
.type = FPDK_IC_OTP2_2,
.addressbits = 12,
Я не уверен, что все остальное Ок, но, по крайней мере, PMS171B стал
опознаваться и easypdkprog пишет, что "IC is supported: PMS171B ICID:0xE36".
В подкаталоге "build" будет собранная "прошивка" STM32F072:
* EASYPDKPROG.bin - бинарник
* EASYPDKPROG.dfu - для обновления через dfu-util
3) Записываем прошивку. У меня было установлено dfu-util версии 0.9-1,
если не установлено, устанавливаем
Обновляем прошивку STM32F072 программатора, для этого с зажатой кнопкой
подключаем программатор к USB и запускаем:
Код: Выделить всё
> dfu-util -d 0483:df11 -a "@Internal Flash /0x08000000/064*0002Kg" --dfuse-address 0x08000000 -D build/EASYPDKPROG.dfu
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08000000, size = 40520
Download [=======] 100% 40520 bytes
Download done.
File downloaded successfully
Отключаем от USB и заново подключаем (не нажимая кнопку), на шине USB
программатор видится как "0483:5740 STMicroelectronics Virtual COM Port":
Код: Выделить всё
> lsusb
....
Bus 003 Device 103: ID 0483:5740 STMicroelectronics Virtual COM Port
....
При подключении к USB c "зажатой" кнопкой, программатор видится, как "0483:df11
STMicroelectronics STM Device in DFU Mode":
Код: Выделить всё
> lsusb
...
Bus 003 Device 104: ID 0483:df11 STMicroelectronics STM Device in DFU Mode
....
После обновления программатора, easypdkprog стал опознавать PMS171B и пишет,
что "IC is supported: PMS171B ICID:0xE36":
Код: Выделить всё
> easypdkprog probe -v
Searching programmer... found: /dev/ttyACM0
FREE-PDK EASY PROG - HW:1.2 SW:1.3 PROTO:1.5 (1.3-82-g85f5a7b)
HWVAR:0 HWMOD:0
Probing IC... found.
TYPE:OTP RSP:0xE360 VPP=4.50 VDD=2.00
IC is supported: PMS171B ICID:0xE36
Re: Микроконтроллеры PADAUK
Добавлено: Пт июн 26, 2026 11:00:39
ejsanyo
Прикоснулся к этой вселенной через
PFS154-S16.
Из плюсов:
- Можно включить очень глубокий сон, в котором чип практически ничего не ест. Но потом можно его пробудить легко и быстро. В основном режиме потребление также гораздо меньше, чем у большинства современных контроллеров.
- Диапазон напряжений питания весьма широкий, включая старые добрые 5В. Можно делать что-то батарейное без дополнительных стабилизаторов.
- Обычный SOIC, дружественный к самопальным платам.
- Чётко работают программные delay-и, похоже программный "ногодрыг" и есть основной сценарий его использования.

- Ну и, конечно, копеечная цена во многих случаях решает.
Из минусов:
- Весьма геморройный способ прошивки повышенным напряжением. Нужен и сложный программатор, и приходится учитывать всё это в построении схемы, если хотите сделать внутрисхемную зашивку. (перемычки по питанию, нюансы с ногой PA5). Но и плюс в этом тоже есть - не получиться просто так взять и софтово "окирпичить" чип.
- Как следствие - полная неспособность к самопрошивке, встроенного блока EEPROM также нет. Вешайте внешний чип, если требуется.
- И разумеется, никакой внутрисхемной отладки нет. Во всякие симуляторы, вроде Proteus-а, Падауки (пока что?) не завезли.
- Периферия имеет кучу ограничений по использованию (которые придётся ещё и внимательно выискивать по даташиту), и в целом весьма убогая. Даже после Атмеги вам будет грустно.
- Памяти мало, но в целом адекватно для ядра, периферии и позиционированию чипов на рынке.
Re: Микроконтроллеры PADAUK
Добавлено: Пт июн 26, 2026 11:50:34
Zikon
И зачем заморачиваться с этими чипами ?
Сейчас очень много азиатских Cortex-M0+ очень дешёвых.
Очень хороши младшие PUYA PY32F002B
Периферия подобна STM32F0 и программатор J-Link, DAP-Link
Среда разработки Keil, IAR, VSCode+EIDE и HAL / LL есть
Потребление в рабочем режиме на уровне STM32L0
Да и в режиме DeepSleep - 1.7 мкА - неплохо
( LSI + LPTIM в работе )
Корпуса - да, нет sot23-6, но
so8, so14, so16, qfn20, tssop20 - тоже неплохо
более старшие PY32F002A (F003 F030)
тоже недорогие и чип кристалл одинаковый
( что даёт плюшки для PY32F002A от PY32F030 )
более богатая периферия и различные корпуса до 32pin
Re: Микроконтроллеры PADAUK
Добавлено: Пт июн 26, 2026 15:01:22
Asmodey
Отмечусь чтобы не потерялось.
Re: Микроконтроллеры PADAUK
Добавлено: Пт июн 26, 2026 15:56:32
viiv
Zikon писал(а): Пт июн 26, 2026 11:50:34
И зачем заморачиваться с этими чипами ?
Мир - он разнообразный
МК специфичный, - да. Задачи для него есть (по крайней мере, я его ставлю иногда. Зачастую на плату, где уже есть другой MCU. Можно вместо поставить 32-x битник? да, - часто, можно. Но зачем, если в конкретной задаче проигрывает по какому-то (или нескольким) параметрам: место на плате, потребление, ...
Ну нет Keil-а и других - мне не важно. Редактор - "обычный", сборка из командной строки.
ejsanyo писал(а): Пт июн 26, 2026 11:00:39
Прикоснулся к этой вселенной через
PFS154-S16.
Я на флешовом "тренируюсь", а потом переношу в однократный, - это мой основной сценарий использования. Когда прошивка готова - записываю в программаторе (в ZIF панельке) и потом запаиваю в устройство. Соответственно, никакого внутрисхемного программирования.
ejsanyo писал(а): Пт июн 26, 2026 11:00:39
Даже после Атмеги вам будет грустно.
Атмега? атмега - "крутой" восьмибитник!

Там и gcc нормальный имеется, .... Старая только - появились конкуренты, которые "отбирают хлеб".
Re: Микроконтроллеры PADAUK
Добавлено: Пт июн 26, 2026 15:59:33
ejsanyo
Zikon писал(а): Пт июн 26, 2026 11:50:34
Сейчас очень много азиатских Cortex-M0+ очень дешёвых.
Послушать, так всё прям шоколадно с этими чипами. Но ведь и какие-нибудь недостатки, наверно, должны быть у них?

Таймер 16?
Добавлено: Пн июн 29, 2026 14:37:59
ejsanyo
Ну ладно, расскажу ещё из странного по теме:
По крайней мере мои Падауки имеют непривычную маркировку - не сверху, а только на пузе, притом исключительно невнятную. Интересно, это у данного производителя всегда так? Получается, что когда вы встречаете очередную кетайскую поделку на контроллере с "затёртой" маркировкой, то оказывается, что это может быть и норма, и никогда этой маркировки не было!
Ещё момент про 16-битный таймер: по крайней мере на PFS154 доступ к
почти всей периферии сделан более-менее по современной классике - через регистры, хоть и в специальном адресном пространстве ввода-вывода. За исключением доступа к счётному регистру этого таймера, который делается через...
специальные команды ядра ldt16 и stt16!

Вы где такое раньше видели, чтобы специально для периферии в ядре был выделенный набор команд?! Я такое последний раз видел, разве что,
в 8048 контроллерах и может ещё в каких-то додревних архитектурах. Основной головняк в том, что в SDCC даже в последней версии (на нынешний день), похоже, работа с этими командами не оформлена должным образом. Поэтому приходится изгаляться. Пока что у меня получилось сделать так:
Делаем глобальную переменную, причём запихиваем её по конкретному адресу ОЗУ. Причём гугль И-И утверждает, что она должна выравниваться по
чётным адресам.
Код: Выделить всё
volatile __at(0x20) uint16_t T16C_current = 0;
Потом, когда надо, влепляем ассемблерную вставку, в которой параметром команды жёстко забиваем адрес, ранее занятый переменной:
Код: Выделить всё
//получаем данные таймера так, поскольку функция __sfr16 load недопилена в компиляторе
__asm
ldt16 0x20
__endasm;
//всё. Содержимое таймера скопировано в T16C_current
А как вы решили для себя эту проблему?
Re: Микроконтроллеры PADAUK
Добавлено: Пн июн 29, 2026 15:36:31
Zapolyarny
не обязательно же по адресу 0x20?
если нет, то:
Код: Выделить всё
volatile uint16_t T16C_current __attribute__((aligned(2)));
....
__asm
ldt16 T16C_current
__endasm;
Если, конечно, в SDCC выравнивание работает.
---
глянул документацию по SDCC, вроде, новые версии его разрешают упрощённую запись _asm_() ?
Re: Микроконтроллеры PADAUK
Добавлено: Пн июн 29, 2026 17:25:37
ejsanyo
Zapolyarny писал(а): Пн июн 29, 2026 15:36:31
Код: Выделить всё
volatile uint16_t T16C_current __attribute__((aligned(2)));
....
Да, пробовал скормить компилятору этот атрибут, в разных формах. Постоянно говорит что Syntax error. В конце концов гугль И-И мне сказал, что якобы SDCC именно под Падауком его не поддерживает.

Поэтому и вот так.
Такое
тоже не ест.
Re: Микроконтроллеры PADAUK
Добавлено: Пн июн 29, 2026 17:46:02
Zapolyarny
Похоже, что не только для этого микроконтроллера, а вообще в SDCC нет __attribute, заменено своими и aligned среди них нет.
Re: Микроконтроллеры PADAUK
Добавлено: Пн июн 29, 2026 20:26:31
Zikon
8 бит контроллер и чтобы 16бит сразу прочитать/записать сделали отдельные команды, не стали заморачиваться с буферной защёлкой для фиксации половины 16бит счётчика как в других 8-ми битниках
Приколы с периферией
Добавлено: Пн июн 29, 2026 23:06:23
ejsanyo
Добавлю ещё пару странных моментов:
Контроллер прерывания глупый: все прерывания валятся в один обработчик, без всяких приоритетов и тем более без вложений. Что прервалось - разбирайте по флагам сами.
Очень китайские ШИМ блоки: PFS154 имеет в себе аж 3 штуки таких! На первый взгляд - что-то вроде 11-битных таймеров с выходом ШИМ...или как будто не совсем 11? Курим в даташите пункт "Equations for 11-bit PWM Generator" и видим, что коэффициент пересчёта этого таймера задают лишь 10 бит. Но при этом длительность импульсов действительно задают 11 бит. При том младший бит входит в формулу с коэффициентом 0,5! Это вообще как?!

Могу лишь предполагать, что наверно этот таймер, по сути, тактируется и фронтом, и срезом поступающих импульсов, происходит такое вот своеобразное "удвоение частоты". А в обработке потолка пересчёта выкинули младший бит...не знаю, чтобы немного схемотехнику компаратора упростить?
Re: Микроконтроллеры PADAUK
Добавлено: Вт июн 30, 2026 08:03:21
Zikon
ejsanyo писал(а): Пт июн 26, 2026 15:59:33
Zikon писал(а): Пт июн 26, 2026 11:50:34
Сейчас очень много азиатских Cortex-M0+ очень дешёвых.
Послушать, так всё прям шоколадно с этими чипами. Но ведь и какие-нибудь недостатки, наверно, должны быть у них?
Тоесть у Padauk - недостатков нет ?
А где взять официальный программатор ?
Или на ОЗОН купить за ~1000 р конструктор
(это единственный вариант сейчас )
И как вам такое вхождение в использование Padauk ?
и -20°С .. +70°С - это только дома использовать ?
Большинство клонов STM32 имеют те-же болезни.
Которые уже давно разжёваны и пережёваны!
PY32 программируется любым DAP-LINK от 100р
IDE - IAR,Keil,VSCode+EIDE
потребление очень низкое
и конечно зависит от включенных модулей периферии
да нет корпуса sot23-6
но есть dfn8 (3x2 e=0.5) или qfn16 (3x3 e=0.5)
и so8,so14,so16,essop10
Re: Микроконтроллеры PADAUK
Добавлено: Вт июн 30, 2026 09:36:26
ejsanyo
Zikon писал(а): Вт июн 30, 2026 08:03:21
Тоесть у Padauk - недостатков нет ?
Так вот тут, собсно, и пишем про них. Вот ещё например такой: все наверно уже привыкли, что таймеры с разрядностью побольше имеют аппаратный захват (input capture) по перепаду на какой-нибудь ноге или выходе компаратора скажем? В Падауки такой фишки не завезли, даже для 16-битного таймера. По крайней мере, в PFS154. Юзайте, полусофтовый захват через ноги внешних прерываний, коих тут две штуки максимум.
Но я это всё к тому, что и у АРМовых китайцев наверняка имеется масса своих приколов? Может, стоит создать отдельную ветку, посвящённую этой теме?
Re: Микроконтроллеры PADAUK
Добавлено: Вт июн 30, 2026 09:48:09
Zikon
ejsanyo писал(а): Вт июн 30, 2026 09:36:26
Но я это всё к тому, что и у АРМовых китайцев наверняка имеется масса своих приколов?
Самый большой прикол у китайцев это то, что
чипы PY32F002A / F003 / F030
имеют одинаковый чип внутри и
PY32F002A имеет всё "плюшки" от PY32F030
конкретно приколы PY32 вот тут
https://github.com/Xiamatsu/py32f002a_003_030
(пока сколько раскопал)
Шпаргалки также есть
https://github.com/Xiamatsu/MCU_Pinout
Другие азиатские АРМы
( та же Nation - так то сингапурская )
тоже исследую немного и там же на гите
параллельно раскопки публикую
и да - там много совсем не похоже на STM32
оригинальных и интересных
Re: Микроконтроллеры PADAUK
Добавлено: Ср июл 01, 2026 21:54:55
ejsanyo
А как насчёт поделиться наработками на основе этих "игрушечных" контроллеров? Вот, наконец, от меня вам
пример работающей схемы .

Re: Микроконтроллеры PADAUK
Добавлено: Чт июл 02, 2026 11:48:04
Zikon
ejsanyo писал(а): Ср июл 01, 2026 21:54:55
А как насчёт поделиться наработками на основе этих "игрушечных" контроллеров? Вот, наконец, от меня вам
пример работающей схемы .
Готовых устройств нет у меня.
Просто исследователь (в свободное время)
азиатских недорогих контроллеров.
Сравнение, небольшие тесты.
https://docs.google.com/spreadsheets/d/ ... sp=sharing
Многе уже присутствует на гите в разных репозиториях.
Привлекли сначало CH32V003 и новая архитектура RISC-V
но конкретно данный чип разочаровал сильно,
после знакомства с PY32F0xx.
Урезанный PY32F002B смотрится неплохо даже без DMA.
И это получилось первое вхождение в 32бит.
С STM32 так и не разбирался ранее, а теперь тоже исследую для сравнения.