Обновить
64K+

Программирование микроконтроллеров *

Учимся программировать микроконтроллеры

253,5
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Узбекистан решил строить образовательную инфраструктуру для собственной микроэлектроники

Время на прочтение2 мин
Охват и читатели49

Выступил с докладом через Zoom на конференции SEMICONUZ в Узбекистане. Заметил два момента, один из них: cудя по вопросу преподавательницы из Ферганского политехнического института, в Узбекистане наверное ведутся дискуссии "кодописатели против физиков". То есть обсуждают, достаточно ли программировать софтвер на уже сделанных чипах и дизайнить на верилоге логику (с учетом отчетов от программы статического анализа тайминга) - или нужно вводить курсы физики полупроводников.

Читать далее

Новости

Хотел сделать контроллер теплового насоса, а получился симулятор ESP32, Arduino и цепей 12/230 В

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели5.9K

Я уже несколько лет строю дом своими руками. Отопление в нём хочу сделать на тепловом насосе. Готовые решения стоят как крыло самолёта, поэтому давно зреет идея: взять обычный наружный блок кондиционера (без инвертора, «старт‑стоп»), убрать его родную автоматику и поставить свой контроллер на ESP32. Комплектующие для этого я собираю понемногу.

Сразу оговорка: это пока только виртуальная сборка. К реальной я ещё не приступал и когда приступлю, не знаю. Дом строится, деньги и время уходят в первую очередь на него. Всё описанное ниже работает в симуляторе, а не в подвале на живом компрессоре.

Логичный первый шаг: написать прошивку и проверить логику. Проверять на настоящем компрессоре, который не прощает ошибок, не хотелось. Захотел что‑то вроде Wokwi, но чтобы там можно было собрать ещё и силовую часть: реле, контактор, автомат, компрессор на 230 В. Такого я не нашёл и написал сам. Так проект про тепловой насос превратился в проект про симулятор: PinPort, онлайн‑симулятор ESP32, Arduino и цепей 12 и 230 В. Тепловой насос стал его самым сложным примером и хорошим тестом на прочность.

Часть кода написана вместе с нейросетью (вайбкодинг), и я этого не скрываю.

Читать далее

Скоростная разработка электроники 2

Время на прочтение9 мин
Охват и читатели12K

На этот раз делаем сенсор присутствия для опасных промышленных зон. В нагрузку берёмся за реализацию требований функциональной безопасности PL и SIL. Кто сказал, что AI не может делать функционально безопасные устройства? Сейчас проверим.

Читать далее

Научил кнопочный телефон 1980-х годов разговаривать с Claude

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели8K

На старый немецкий кнопочный телефон FeTAp я установил аудиоплату на ESP32 и связал ее со своим ассистентом на Raspberry Pi. Теперь достаточно снять трубку, как на другом конце отвечает ИИ, с которым можно разговаривать почти как по обычному телефону.

Читать далее

От сборки до проверки на плате: набор открытых инструментов для разработки под STM32

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.8K

При работе с STM32 приходится решать несколько повторяющихся задач: настроить сборку, подключить библиотеки, записать прошивку и проверить её поведение на плате. После изменений эти действия нужно выполнить снова — желательно тем же способом и с понятным результатом.

В моих проектах для этого постепенно сложился набор инструментов и примеров. Одни помогают описывать сборку, другие — прошивать микроконтроллер, третьи — сохранять действия в отладчике в виде повторяемых тестов. Отдельная часть посвящена инструкциям для ИИ-ассистентов, участвующих в разработке.

Хочу показать, как эти проекты связаны и где могут пригодиться.

Читать далее

Метеостанция, которая измеряет радиацию: счётчик Гейгера, ESP32 и LoRa

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели7.1K

Каждый день мы интересуемся погодой — смотрим, идёт ли дождь, какая температура на улице, сильно ли дует ветер. Однако есть ещё один важный параметр, заслуживающий внимания — уровень фонового радиационного излучения. Если он будет сильно превышен, например, в результате техногенной катастрофы, сразу вы этого не заметите, но последствия для здоровья могут быть весьма плачевные.

В этой статье я расскажу про источники радиации и средства её измерения. В практической части статьи будет описана погодная станция, способная измерять не только температуру, давление и влажность, но и уровень радиационного фона.

Читать далее

Составное устройство USB на AT32. Часть 1: Подготовка

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели12K

История эта началась два года назад, когда подписчики моего канала начали регулярно и настойчиво интересоваться, когда же в «Селените появится режим автономной обработки сигналов». Базовый блок трансивера получился достаточно компактным, 100х62х23 без выступающих частей, и желание пользователей «отвязать» его от компьютера, где как раз и производилась обработка сигнала, было вполне резонным.

Читать далее

Hello World для STM32

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели16K

Когда пишут программу HelloWorld на C, обычно выводят текст “Hello, World!”. Но когда программа пишется для микроконтроллера, часто ограничиваются миганием светодиода, особенно для микроконтроллеров семейства STM32.

В статье я разберу, как можно вывести “Hello World” в программе для микроконтроллеров этого семейства.

Читать далее

Rust для микроконтроллеров: что он даёт по сравнению с С

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели91K

Си отлично работает на микроконтроллерах и никуда не исчезает. Но часть правил, которые в Си держатся на архитектуре проекта и дисциплине разработчика, в Rust можно выразить так, чтобы их проверял компилятор.

Разберём это на DMA, владении периферией, состояниях GPIO, прерываниях и unsafe — без попытки доказать, что Rust должен заменить Си.

Читать далее

Основы Universal Measurement and Calibration Protocol (XCP)

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели10K

XCP (Universal Measurement and Calibration Protocol) — это бинарный автомобильный интерфейсно-независимый протокол прикладного уровня модели OSI-7. Используется при разработке и отладке ECU. Появился в далёком 2003 году как потомок ранее существующего протокола CCP.

Читать далее

Мобильник почти из ничего: Как ИИ помог собрать телефон из деталей с маркетплейсов

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели30K

Сегодня будем делать свой мобильник из подручных материалов, купленных на разных маркетплейсах, и в содружестве с искусственным интеллектом. Сразу оговоримся, что речь не идет об очередном убийце iPhone или про ультрабюджетный доступ к сети. Простую звонилку дешевле и проще купить в ближайшем салоне мобильной связи.

Хотя я до некоторой степени умею писать код сам, здесь будем активно использовать ИИ. Прежде всего, для экономии времени и чтобы не разбираться в протоколах общения с радиомодулем – информация, которая скорее всего никогда больше не понадобится.

Замечу, что я использовал только бесплатные DeepSeek, Gemini и ChatGPT в бесплатном ограниченном режиме. Какой-то особой системы когда кому и какие задавать вопросы не было. Обычно переключался между ними, когда кто-то начинал тупить.

Итак, для подключения к сети мобильной связи нужен прежде всего радиомодуль. Думаю, что не надо объяснять, что спаять такой из дискретных элементов – это затея, не имеющая шансов на успешную реализацию в разумные сроки и бюджет.

Радиомодуль проще купить готовый. Я выбрал такой:

Читать далее

Перистальтический насос‑дозатор на 3D‑принтере для лабораторной установки водоподготовки

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели12K

Я занимаюсь промышленной водоподготовкой. Сейчас у нас исследовательский проект: изучаем методы предочистки высокоминерализованной воды. Пробуем разные коагулянты и флокулянты, меняем дозы и градиенты перемешивания. Каждый режим держим около двух часов, потом отбираем пробы и сравниваем результат.

Для такого исследования нужен точный перистальтический насос‑дозатор на маленький расход. Реагенты должны поступать в воду непрерывно, с заданной дозой в мг/л, от 1 до 13 мл/мин. Реагентов два — коагулянт и флокулянт, значит, нужно два канала.

Подходящий готовый насос я не нашёл и спроектировал свой. Рассказываю, как он устроен, где я ошибся и как он работает на установке.

Читать далее

Как я запустил Bad Apple с частотой 20 fps на E‑Ink дисплее за $71

Уровень сложностиСложный
Время на прочтение14 мин
Охват и читатели16K

Мне удалось запустить полноценное чёрно-белое видео на стоковой плате ESP32-S3 с экраном на электронных чернилах: никакой ПЛИС и никакого ПК — панель управляется напрямую по параллельной шине. В статье я подробно расскажу, как работает этот драйвер. Если коротко, то в нём используется векторный блок, принимающий по 64 пикселя за раз; управляющие сигналы (waveforms), которые хранятся в регистрах, а не в таблицах, и дельта-движок, который обрабатывает только изменения. При этом точность всей системы контролировалась с помощью планшетного сканера.

Читать далее

Ближайшие события

Почему завод превращает электронику в тыкву. Как защитить промышленные контроллеры от электромагнитных бурь

Время на прочтение7 мин
Охват и читатели14K

Вы когда-нибудь задавались вопросом, почему устройство, которое три недели безупречно работало на этапе проектирования, порой умирает в первую же смену на производстве. Знакомый инженер рассказывал такую историю с интонацией человека, который увидел чудо. Микроконтроллерная плата отработала в тестах без единого сбоя, но стоило поставить ее в щиток и запустить линию, как контроллер сгорел через пять минут после пуска сварочного полуавтомата. Почему так произошло? Можно было бы подумать, что дело в плате, но нет.

Сейчас я расскажу, что происходит с вычислительной техникой на производстве, и что нужно знать, чтобы промышленный контроллер пережил его, а не сгорел в первую же смену. Мы разберем, почему между одним и тем же устройством, работающим дома и на заводе, бушует реальная электромагнитная буря, и кто чаще всего саботирует производства, вызывая крупномасштабные аварии и трагедии.

Читать далее

SoftSerial: Программный UART на STM32

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели14K

В этом тексте я написал про то как реализовать программный UART на микроконтроллере.

Порой возникает ситуация, что тебе дают электронную плату, а там на отладочный разъём не выведен никакой аппаратный UART. При этом предстоит сложнейшая отладка прошивки и надо помощь shell терминала, которую банально некуда вывести.

В этом случае одним из решений может быть пуск программного UART.

Вот об этом и текст.

Читать далее

Взлом режима Secure Debug на RP2350 с помощью лазера и фотонной эмиссии

Уровень сложностиСложный
Время на прочтение15 мин
Охват и читатели18K

В этом эксперименте мы с помощью дифференциальной микроскопии фотонной эмиссии засекли, в какой момент на чипе RP2350 (ревизии A4) активируется регистр отладки, и точно определили, куда целиться лазером. Затем, поймав нужный момент через интерфейс SWD, мы с помощью лазерного импульса точечно переписали два бита, восстановив доступ к режиму Secure Debug.

Читать далее

FASt: как я написал приложение для создания ассет паков для Flipper Zero и чуть не сошёл с ума из‑за китайских флешек

Время на прочтение11 мин
Охват и читатели5K

Как моя жена стала моим первым заказчиком

Началось все с того, что моя любимая красавица жена сказала мне, что я провожу слишком много времени со своим девайсом Flipper Zero. Постоянно кручу его в руках, прошиваю, делаю всякие настройки и т.п. А на неё стал меньше смотреть.

И мне пришла мысль, а что, если поставить на экран флиппера её фотографию? Девайс всегда со мной и каждый раз как я буду им пользоваться то на главном экране я буду видеть фото своей любимки. И ей приятно, и я буквально смотрю на нее всякий удобный раз.

Читать далее

Монитор на e-ink для сервера за выходные

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели9.5K

Если совсем коротко: плата Waveshare ESP32-S3-ePaper-1.54, один кабель USB и экран 200×200, который висит рядом с сервером и показывает загрузку процессора, температуру видеокарт, память, диск, аптайм, живой пинг и т.д по выбору админа.

На маркетплейсах покупается готовая девплата в корпусе, заливается кастомная прошивка из статьи, настраивается через встроенную вебку и получается готовый прибор, подключаемый к любому серверу по юсб.

Как собрать такой себе

Как украсть «невидимое»: извлекаем прошивку из Execution-Only Memory

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели12K

Во время исследования контроллеров Realtek я столкнулся с таким любопытным способом защиты прошивки от реверс-инжиниринга, как XOM (eXecution Only Memory). Эта технология разработана ARM уже около 10 лет назад. Опираясь на свой опыт, назвать ее очень популярной не могу. Однако, в Realtek решили использовать XOM в ряде своих контроллеров, которые попали к нам на исследование.

Если коротко, XOM – это аппаратно-программная технология, формирующая execute-only область памяти. Суть XOM состоит в аппаратной фильтрации транзакций на шине AXI (AHB). Если транзакция в защищаемую область запрашивает исполнение инструкции - доступ разрешен, если чтение/запись данных – доступ запрещен. Таким образом, прочитать или перезаписать прошивку в XOM просто так не получится.

Данная статья описывает подход к восстановлению спрятанной в XOM прошивки, основанный на анализе изменений состояния памяти и регистров процессора, возникающих вследствие выполнения инструкций процессора.

Решить ребус...

Чип, спроектированный в Грузии. 4 часа лекций про ASIC, FPGA, TinyTapeout, с вопросами про тайминг и CDC

Время на прочтение3 мин
Охват и читатели9.5K

После поездки в Грузию (см. пост Хакерспейсы Батуми и Тбилиси + ASIC чип спроектированный в Грузии) мы доотладили проект Tbilisi CORDIC и засабмиттили его на сайте TinyTapeout для производства на фабрике IHP в Германии, Leibniz-Institut für innovative Mikroelektronik.

Затем мы устроили две ондайн-лекции на Zoom-е - одну на английском, другую на русском. С вопросами и ответами лекции растянулись на два часа каждая, и мы выложили их на YouTube, ВКонтакте и RuTube. Ниже выложенные видео и их содержание на русском и английском.

UPD: В России MPW-сервисами по производству малосерийных чипов для университетов занимается МИЭТ, см. статью про кооперацию МИЭТ и ТУСУР.

Читать далее
1
23 ...