Media is too big
VIEW IN TELEGRAM
Облачное обновление прошивки по Bluetooth - то самое OTA update!
Мысль о том, что мне обязательно нужно научиться это делать, давно меня преследовала. По сути, это уже одна из базовых возможностей любого современного электронного продукта: устройство должно уметь получать новую прошивку без программатора, кабелей и разборки корпуса.
Я периодически пытался разобраться в этой теме, но каждый раз довольно быстро увязал в многостраничных мануалах, Git-репозиториях, примерах под разные версии SDK, особенностях загрузчика, разметки Flash, проверки образа, отката прошивки и десятках других мелочей. А мелочей там действительно много.
При этом производители микроконтроллеров обычно уже дают почти всё необходимое: SDK, bootloader, библиотеки, примеры, документацию, а часто ещё и открытый исходный код. То есть проблема обычно не в том, что решение нужно написать полностью с нуля. Проблема в том, чтобы во всём этом разобраться и правильно собрать необходимые части вместе.
И вот теперь мне это действительно понадобилось и теперь есть Astra и другие LLM. Задачи такого типа LLMки решают просто отлично.
Им совершенно не страшно, что документация по одной подсистеме выглядит как небольшая книга, а нужная информация разбросана между документацией, исходным кодом SDK, примерами и GitHub issues. Если задача хорошо формализована, документация доступна, а реализация подкреплена открытым исходным кодом, LLM может довольно быстро связать всё это воедино.
Цепочка "облако → приложение-прошивальщик → Bluetooth → устройство → новая прошивка" уже полностью работает.
Мысль о том, что мне обязательно нужно научиться это делать, давно меня преследовала. По сути, это уже одна из базовых возможностей любого современного электронного продукта: устройство должно уметь получать новую прошивку без программатора, кабелей и разборки корпуса.
Я периодически пытался разобраться в этой теме, но каждый раз довольно быстро увязал в многостраничных мануалах, Git-репозиториях, примерах под разные версии SDK, особенностях загрузчика, разметки Flash, проверки образа, отката прошивки и десятках других мелочей. А мелочей там действительно много.
При этом производители микроконтроллеров обычно уже дают почти всё необходимое: SDK, bootloader, библиотеки, примеры, документацию, а часто ещё и открытый исходный код. То есть проблема обычно не в том, что решение нужно написать полностью с нуля. Проблема в том, чтобы во всём этом разобраться и правильно собрать необходимые части вместе.
И вот теперь мне это действительно понадобилось и теперь есть Astra и другие LLM. Задачи такого типа LLMки решают просто отлично.
Им совершенно не страшно, что документация по одной подсистеме выглядит как небольшая книга, а нужная информация разбросана между документацией, исходным кодом SDK, примерами и GitHub issues. Если задача хорошо формализована, документация доступна, а реализация подкреплена открытым исходным кодом, LLM может довольно быстро связать всё это воедино.
Цепочка "облако → приложение-прошивальщик → Bluetooth → устройство → новая прошивка" уже полностью работает.
❤5👍3
На первом скриншоте - электрическая схема, которую Astra составила по моему промпту. Всего получилось около десяти листов в таком стиле. Вот только читать такие схемы практически невозможно. И я потратил какое-то количество сил на то, чтобы объяснить ей как сделать получше.
Затем я перерисовал несколько листов сам и заодно всё перепроверил. Кстати, нашёл ошибки - правда, сложно сказать, насколько серьёзные.
На втором скриншоте - та же самая схема, и её тоже сделала Astra. Но в этот раз я показал ей перерисованные мной листы и попросил переделать схему по моему образцу
Затем я перерисовал несколько листов сам и заодно всё перепроверил. Кстати, нашёл ошибки - правда, сложно сказать, насколько серьёзные.
На втором скриншоте - та же самая схема, и её тоже сделала Astra. Но в этот раз я показал ей перерисованные мной листы и попросил переделать схему по моему образцу
❤3👍2🔥1👀1
С компоновкой и трассировкой печатных плат всё существенно хуже.
Слева - то, что сделала Astra, опираясь на рекомендации производителя по разводке платы. Справа - моя реализация.
Сейчас я прошу Astra только разместить компоненты, без трассировки. Её компоновку использую как отправную точку: компоненты хотя бы корректно расположены относительно друг друга и дальше довожу ее до ума
Слева - то, что сделала Astra, опираясь на рекомендации производителя по разводке платы. Справа - моя реализация.
Сейчас я прошу Astra только разместить компоненты, без трассировки. Её компоновку использую как отправную точку: компоненты хотя бы корректно расположены относительно друг друга и дальше довожу ее до ума
👍6❤3🔥1👀1
Media is too big
VIEW IN TELEGRAM
Делаю новую плату.
На самом деле она совсем крохотная - всего 8 × 22 мм.
С обратной стороны будет установлен аккумулятор, поэтому на самой плате предусмотрены контактные площадки для его подключения.
На таком небольшом пространстве удалось разместить светодиодный драйвер, который обеспечивает стабильный ток во всём рабочем диапазоне напряжения аккумулятора, акселерометр для управления светом тапами по оправе очков и светодиодную индикацию уровня заряда - примерно как в повербанках.
Мне особенно нравятся такие проекты. Здесь задача не просто в том, чтобы разработать работающую электронику, а в том, чтобы найти разумный компромисс между требованиями, которые постоянно конфликтуют друг с другом: компактностью, эффективностью, мощностью, низким энергопотреблением и стоимостью серийного производства.
Позже покажу MVP, который с заказчиком использовали для проверки идеи.
А через неделю другую и эту плату закончу
На самом деле она совсем крохотная - всего 8 × 22 мм.
С обратной стороны будет установлен аккумулятор, поэтому на самой плате предусмотрены контактные площадки для его подключения.
На таком небольшом пространстве удалось разместить светодиодный драйвер, который обеспечивает стабильный ток во всём рабочем диапазоне напряжения аккумулятора, акселерометр для управления светом тапами по оправе очков и светодиодную индикацию уровня заряда - примерно как в повербанках.
Мне особенно нравятся такие проекты. Здесь задача не просто в том, чтобы разработать работающую электронику, а в том, чтобы найти разумный компромисс между требованиями, которые постоянно конфликтуют друг с другом: компактностью, эффективностью, мощностью, низким энергопотреблением и стоимостью серийного производства.
Позже покажу MVP, который с заказчиком использовали для проверки идеи.
А через неделю другую и эту плату закончу
30👍7❤4🔥3
Год назад для заказчика nomlamp.ru я разработал и поставил платы контроллеров аккумулятора с защитой, OLED-индикацией, а также светодиодные драйверы, спроектированные специально под эти аккумуляторные платы.
Теперь сделал для него объединённую версию.
Прямо к этой плате припаивается аккумулятор 18650, сама плата примерно соответствует ему по длине. Сюда же припаиваются мощные светодиоды осветителя на длинных проводах.
При этом отдельные платы управления светом по-прежнему нужны, но заказчик попросил поменять кнопки и габариты платы. Пришлось ее перекомпоновать, чтобы она влезла.
Теперь сделал для него объединённую версию.
Прямо к этой плате припаивается аккумулятор 18650, сама плата примерно соответствует ему по длине. Сюда же припаиваются мощные светодиоды осветителя на длинных проводах.
При этом отдельные платы управления светом по-прежнему нужны, но заказчик попросил поменять кнопки и габариты платы. Пришлось ее перекомпоновать, чтобы она влезла.
❤3
Просил недавно astra от OpenAI сделать трассировку дифференциальной пары.
Я подумал, что это удобная задача для ИИ. Она хорошо формализована, полно литературы как это правильно сделать, легко четко очертить рамки для ее работы.
Сперва сам сделал компоновку, чтобы удобно было развести дорожки, затем указал будущего производителя платы и его технологический стек, который хочу использовать.
И он довольно грамотно все посчитал и сделал и выдал подробный отчет.
Проверять уже сделанную работу гораздо легче и быстрее, чем делать самому. Да, и из 5 таких дифференциальных пар в итоге я переделал только одну.
И вот еще интересный момент. Рядом с переходными отверстиями самой диф пары он везде ставил и ground via. При переходе сигнала между слоями с разными опорными плоскостями земли такие отверстия соединяют эти плоскости и обеспечивают короткий путь с низкой индуктивностью для возвратных токов. Дифференциальный характер сигнала сам по себе не отменяет необходимости продумать этот путь.
А удивило, потому что очень часто вижу, как этим пренебрегают даже в коммерческих, совсем не хобби проектах
Я подумал, что это удобная задача для ИИ. Она хорошо формализована, полно литературы как это правильно сделать, легко четко очертить рамки для ее работы.
Сперва сам сделал компоновку, чтобы удобно было развести дорожки, затем указал будущего производителя платы и его технологический стек, который хочу использовать.
И он довольно грамотно все посчитал и сделал и выдал подробный отчет.
Проверять уже сделанную работу гораздо легче и быстрее, чем делать самому. Да, и из 5 таких дифференциальных пар в итоге я переделал только одну.
И вот еще интересный момент. Рядом с переходными отверстиями самой диф пары он везде ставил и ground via. При переходе сигнала между слоями с разными опорными плоскостями земли такие отверстия соединяют эти плоскости и обеспечивают короткий путь с низкой индуктивностью для возвратных токов. Дифференциальный характер сигнала сам по себе не отменяет необходимости продумать этот путь.
А удивило, потому что очень часто вижу, как этим пренебрегают даже в коммерческих, совсем не хобби проектах
👍5❤2🔥1🤝1
Делаю сейчас одну сложную плату. К сожалению, проект под NDA, поэтому без подробностей.
Компоновка очень плотная. Сегодня в очередной раз расставлял транзисторные ключи и обвязку.
А там ведь как? Ставишь биполярный транзистор - будь добр, добавь резистор в базу, чтобы ограничить переходной ток. Будь добр, поставь ещё один резистор для подтяжки, чтобы управляющий вход не «болтался» в воздухе. Управляешь светодиодом - не забудь токоограничивающий резистор, чтобы тот не сгорел.
Расставил несколько таких ключей, посмотрел, сколько места на плате съедает вся эта мелочь, погрустил и подумал, вот я бы вывел на рынок транзисторы со встроенными резисторами! Это же совершенно типовое применение. Что за безобразие - столько места уходит на примитивные компоненты.
Ну а следующая мысль была вполне закономерной: «Не может быть, чтобы только мне такое пришло в голову».
Полез искать, что есть на рынке. И действительно - всё давно придумано за тебя. Оказалось, есть целый класс так называемых цифровых транзисторов (Digital Transistors, или BRT) со встроенными резисторами. Причём вариантов полно, на любой вкус.
Вот на картинке один из таких транзисторов от Toshiba SSM3K357R. Внутри уже есть резистор в цепи базы и подтягивающий резистор между базой и эмиттером. Даже zenerы стоят везде, для дополнительной защиты.
Можно подобрать подходящий по параметрам и подключить напрямую к GPIO какого-нибудь капризного Raspberry Pi, не опасаясь перегрузить выход по току.
Меньше компонентов, меньше занимаемая площадь, проще разводка. И стоят они относительно недорого.
Хотя для совсем уж массового и дешёвого устройства такое решение, возможно, будет избыточным по стоимости.
В общем, ничего революционного. Но приятно обнаружить, что кто-то уже решил проблему, над которой ты только что задумался.
Компоновка очень плотная. Сегодня в очередной раз расставлял транзисторные ключи и обвязку.
А там ведь как? Ставишь биполярный транзистор - будь добр, добавь резистор в базу, чтобы ограничить переходной ток. Будь добр, поставь ещё один резистор для подтяжки, чтобы управляющий вход не «болтался» в воздухе. Управляешь светодиодом - не забудь токоограничивающий резистор, чтобы тот не сгорел.
Расставил несколько таких ключей, посмотрел, сколько места на плате съедает вся эта мелочь, погрустил и подумал, вот я бы вывел на рынок транзисторы со встроенными резисторами! Это же совершенно типовое применение. Что за безобразие - столько места уходит на примитивные компоненты.
Ну а следующая мысль была вполне закономерной: «Не может быть, чтобы только мне такое пришло в голову».
Полез искать, что есть на рынке. И действительно - всё давно придумано за тебя. Оказалось, есть целый класс так называемых цифровых транзисторов (Digital Transistors, или BRT) со встроенными резисторами. Причём вариантов полно, на любой вкус.
Вот на картинке один из таких транзисторов от Toshiba SSM3K357R. Внутри уже есть резистор в цепи базы и подтягивающий резистор между базой и эмиттером. Даже zenerы стоят везде, для дополнительной защиты.
Можно подобрать подходящий по параметрам и подключить напрямую к GPIO какого-нибудь капризного Raspberry Pi, не опасаясь перегрузить выход по току.
Меньше компонентов, меньше занимаемая площадь, проще разводка. И стоят они относительно недорого.
Хотя для совсем уж массового и дешёвого устройства такое решение, возможно, будет избыточным по стоимости.
В общем, ничего революционного. Но приятно обнаружить, что кто-то уже решил проблему, над которой ты только что задумался.
👍5❤4🔥2
Media is too big
VIEW IN TELEGRAM
Наконец закончил и отправил в производство ту самую компактную плату, о которой писал несколько постов назад. Еле-еле удалось всё уместить.
При этом получилось обойтись всего четырьмя слоями, без дорогостоящих via-in-pad и без компонентов на обратной стороне платы. В серийном производстве это должно сэкономить приличную сумму.
Несмотря на плотную компоновку, все силовые высокочастотные цепи разведены с соблюдением необходимых требований, а акселерометр расположен точно по центру платы.
К плате непосредственно припаивается аккумулятор. На ней есть всё необходимое для его защиты и зарядки от 5 В.
Сюда же напрямую подключается мощный светодиод до 3 Вт. А управлять его яркостью можно просто постукивая по корпусу устройства, в котором будет установлена плата.
Также предусмотрен режим глубокого сна для минимального энергопотребления и индикация уровня заряда аккумулятора с помощью четырёх светодиодов.
Через месяц должна быть у меня)
При этом получилось обойтись всего четырьмя слоями, без дорогостоящих via-in-pad и без компонентов на обратной стороне платы. В серийном производстве это должно сэкономить приличную сумму.
Несмотря на плотную компоновку, все силовые высокочастотные цепи разведены с соблюдением необходимых требований, а акселерометр расположен точно по центру платы.
К плате непосредственно припаивается аккумулятор. На ней есть всё необходимое для его защиты и зарядки от 5 В.
Сюда же напрямую подключается мощный светодиод до 3 Вт. А управлять его яркостью можно просто постукивая по корпусу устройства, в котором будет установлена плата.
Также предусмотрен режим глубокого сна для минимального энергопотребления и индикация уровня заряда аккумулятора с помощью четырёх светодиодов.
Через месяц должна быть у меня)
❤4🔥3
https://www.youtube.com/watch?v=3TNpOD6bov8
Слушаю на репите.
The velocity's vertical on slide forty-five
And nobody knows what the code does inside
Forty-thousand lines that I didn't read
Approved in three seconds, the checks are all green
And nobody knows what any of it means
L-L-LGTM, let's, let's ship it to prod
"Looks Good To Me" девиз новой эпохи, которая начинается у нас на глазах. И я хочу футболку с таким принтом)
Слушаю на репите.
The velocity's vertical on slide forty-five
And nobody knows what the code does inside
Forty-thousand lines that I didn't read
Approved in three seconds, the checks are all green
And nobody knows what any of it means
L-L-LGTM, let's, let's ship it to prod
"Looks Good To Me" девиз новой эпохи, которая начинается у нас на глазах. И я хочу футболку с таким принтом)
YouTube
LGTM (Looks Good to Me) - Claude Opus 5.5 music video
LGTM stands for "looks good to me". Lately it's what engineers type on code they never had time to read, because leadership heard AI makes everyone ten times faster and cut the deadlines to match. Review and testing are the first things to go, since neither…