Очередное чудо Китайской инженерной мысли - bluetooth-аудиомодуль BK8000L с расширенным набором функций. Только вот не работают эти функции - так как в модуле оказалась старая прошивка. Интерфейс UART на плате разведён и подписан, но играет только роль декора.
В результате модуль OPEN-SMART, оказался модулем PPC-STUPID.
Прошивка модуля храниться в микросхеме флеш-памяти.
Для её прошивки в Китае можно купить специальную прищепку, которая позволяет обновлять ПО без необходимости выпаивать микросхему,
но мне было лениво для разовой акции специально покупать программатор и ждать 2-3 недели. (тем более, что прошивка скаченная с Интернет может превратить голубой модуль в голубой кирпич).
Поскольку модуль STUPID мне не нужен, было решено обновить микропрограмму с помощью Arduino. Для этого сдуваем микросхему памяти феном и устанавливаем на переходник. Плат с чипами BK8000L у меня было 2 штуки и одну из них я превратил в тестовую платформу.
Для создания программатора подойдет оригинальная Arduino UNO или её полнофункциональный клон. (Иногда Китайцы пытаясь сделать все дешевле клепают платы UNO на CH340 которая будет выглядеть как UNO, но по своей сути ей не является - такая плата может не подойти, так же как и версия NANO V3). Микросхема памяти дружит и с "5 вольтовым питанием" и с "5 вольтовой логикой", поэтому согласование уровней, и прочие прелести цивилизации не нужны.
Микросхема подключается на аппаратный SPI Arduino UNO и.... собственно все. При сборке ни каких беспаячных макетных плат, только паяльник, и провода минимальной длины.
Получилось незамысловатое устройство с единственной перемычкой для подачи питания на микросхему.
Разъёмы припаяны проводом МГТФ на кусочке макетной платы под пайку.
Подробные инструкции, какой скетч залить и какую программу скачать - есть на сайте: https://skproj.ru/programmator-spi-flash-svoimi-rukami/?from=flasher&doing_wp_cron=1642603866.5923109054565429687500
В нашем случае необходимо в скетче только исправить назначение вывода SS (2->10), и прошить плату.
Перед обновлением прошивки необходимо сделать резервную копию данных с микросхемы флеш-памяти. Запускаем программу SpiEepromFlasher.
Нажимаем кнопочку "Скачать фулфлеш"
Теперь если что-то пойдет не так - всегда можно будет откатиться до старой версии!
Пришло время сделать апгрейд нашего модуля.
Первая прошивка которую удалось найти на GitHub - файл firmware_serial.bin таки превратила модуль в кирпич, хотя по отзывам у многих эта версия микропрограммы работает.
Еще покопавшись в Интернет я нашел блог пользователя по ником Kovo, где он предоставил копию прошивки со своего модуля. Для повышения ЧСВ дадим модулю свое название (штатная возможность такого переименования производителем не предусмотрена). Для этого открываем файл каким-нибудь HEX редактором и ищем там строку BK8000L
Меняем буквы-цифры на то название, которое хочется (например на свой ник BK8000L->BKISSAL).
Сохраняем файл под другим именем.
Открываем SPI Flash программатор,
Тестируем прошивку.
После подачи питания видим что неработающий до процедуры обновления интерфейс UART ожил.
А на смартфоне появилось устройство с тем именем которое было присвоено.
Осталось с помощью фена вернуть микросхему памяти на родную плату.
А сам программатор и тестовый стенд можно будет припрятать в коробочку, чтобы отслеживать и тестировать новые версии программного обеспечения от производителя.
Понятно, что нет смысла покупать Arduino, чтобы сделать из неё программатор. Для вещей которыми занимаешься постоянно лучше иметь профессиональные инструменты. Но если вы уже собрали на Ардуино свою метеостанцию, а программатора под рукой не оказалась, временная метаморфоза метеостанции в программатор вполне имеет право на жизнь.
Мытарствам с этим bluetooth-аудиомодулем на базе BK8000L, и работа с AT командами будет посвящена отдельная статья.
p.s: Антвирус Dr Web установленный на моем компьютере посчитал, код программы программатора, вредоносным кодом. На время проведения работ по обновлению прошивки его пришлось отключить. Для программ с такой логикой работы (запись непонятно чего, непонятно куда и не понятно зачем) антивирус отработал штатно.
Полный список всех статей на канале доступен по этой ссылке:
Всем удачи!