Обновить
128K+

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

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

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

SecurePair — безопасное сопряжение плат ESP32

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

Статья посвящена криптографически защищённому сопряжению и взаимодействию двух плат ESP32 через обычный светодиод по протоколу LX.25 или через ESP-NOW и LoRa.

Согласование ключей происходит с использованием протокола Диффи-Хеллмана на эллиптических кривых (X25519), а сообщения шифруются с помощью алгоритма AES-256-GCM. Библиотека SecurePair поддерживает любые средства передачи. Она работает через ESP-NOW, LoRa и любой другой канал связи, способный пересылать пакеты. А с помощью PacketLED можно реализовать обмен сообщениями даже через обычные светодиоды.

Читать далее

Новости

Реализация интерфейса HDA Link на RP2040

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

В статье описано, как реализовать многоканальный звук на RP2040 с использованием HD аудиокодека ALC889. Будет краткий разбор интерфейса HDA link и ссылки на пару рабочих демо-проектов с описанием их работы.

Читать далее

Испытание абстракций: как чужая процессорная система RISC-V переехала на десятки отладочных плат

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

10 октября стартует новый сезон Школы синтеза цифровых схем. Её проведение рассредоточено по множеству независимых кластеров, в каждом из которых есть свой преподаватель, свои отладочные платы и САПР, и необходимо обеспечить выполнение всех примеров школы на этом зоопарке различных устройств таким образом, чтобы преподавателю не нужно было думать о проблеме вроде: “Этот код точно собирался у меня в BRAM, почему здесь он синтезируется в миллион регистров, сжирающих все ресурсы платы”.

Чтобы избежать подобных проблем был создан репозиторий basics-graphics-music (BGM), добавляющий примерам несколько слоёв абстракции, которые позволяют избежать подобных проблем.

Упор этого года будет сделан на архитектуру RISC-V. Для этого в репозиторий был добавлен пример многопоточной программы, а также несколько RISC-V ядер, включая ядро НИУ МИЭТ, проектируемое на курсе “Архитектуры процессорных систем”. Это стало отдельным испытанием существующих абстракций на прочность: данное ядро проектировалось независимо от репозитория BGM и его абстракций, поэтому его интеграция стала интересным опытом. Подробнее об этом под катом.

Читать далее

STM32: Работа с SD-картами через SDIO

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

Когда устройству нужна относительно большая энергонезависимая память с возможностью быстрой замены, SD или microSD-карта — один из самых удобных и доступных вариантов.

Компактность, простое подключение, поддержка микроконтроллерами и низкая цена при большом объёме делают SD-карту стандартом для логирования, хранения конфигураций и обновления прошивок.

Многие считают работу с SD-картой чем-то сложным и низкоуровневым. На практике, если использовать SDIO + FatFS, бо́льшая часть сложности уже спрятана библиотеками и аппаратными модулями микроконтроллера.

В этой статье я покажу, как добавить поддержку SD-карт в проекты на STM32: что лежит в основе, и как она настраивается.

Читать далее

Разработка виртуальной RTOS для ПЛК на микроконтроллере

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

Хотя я считаю свой проект серьезным - не являюсь узким специалистом по разработке ОС. Проект пока любительский, и могу позволить себе некоторую свободу по разработке. Тут ставил для себя такие задачи:

Читать далее

В Китай за embedded-мечтой: программируем микроконтроллеры в SHENZHEN I/O

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

Доброе утро, Шэньчжэнь. На улице 19 градусов, плохое качество воздуха, высокая активность дронов, льет дождь и светит солнце. Все это я узнал от умной наружной камеры; мне же светят лишь холодные офисные лампы. Я мог бы торговать электроникой на рынке Хуачанбей неподалеку. Но у меня есть инженерное образование, мой воротничок белоснежен, и с сегодняшнего дня я работаю в Longteng Electronics.

Так начинается SHENZHEN I/O — головоломка, где нужно заниматься аппаратной разработкой и программированием микроконтроллеров. Выполнять разные ТЗ с помощью имеющихся компонентов и стремиться к экономии по всем возможным направлениям. У реального меня, автора этой статьи, инженерного образования нет. Я лишь окончил базовый онлайн-курс схемотехники и написал об этом три статьи. Поможет ли это здесь? Не уверен. Доедаю воображаемый баоцзы и открываю почту сотрудника.

Читать далее

Как мы делали BLE-систему аур для ролевой игры

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

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

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

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

То есть игровой мир должен был сам реагировать на присутствие персонажей.

Читать далее

Как я добавил в QUAD 3 прямой выбор входов: реверс ARM-прошивки, бинарный патч и 64 байта здравого смысла

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

Как я добавил в QUAD 3 прямой выбор входов: реверс ARM-прошивки, бинарный патч и 64 байта здравого смысла.

Читать далее

Про дела сырные

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

Если я шутя спрошу вас: «что мы любим на завтрак? Что мы любим на ужин?» — думается, что ответы будут очень разными, но, наиболее очевидным ответом наверняка будет то, что, хотя бы изредка, мы позволяем откусить себе, что утром, что вечером — маленький, ароматный кусочек килограмма на полтора душистого сыра!

Читать далее

Используем ISD для защищенной персонализации Java Card апплета

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

Всем привет!

В статье «Асимметричная криптография в JavaCard» приводится пример создания канала защищенного обмена сообщениями на сессионных симметричных ключах, вырабатываемых по протоколу ECDH. У этого решения есть два спорных момента: во-первых, сама реализация потребует дополнительных ресурсов на тщательное тестирование, а во-вторых ECDH не обеспечивает аутентификацию сторон. Этот пункт более актуален, т.к. без поддержки апплетом инфраструктуры открытых ключей (PKI) и цифровых сертификатов, он выдаст секреты любому, кто знает параметры эллиптической кривой. Т.е. нужна еще куча времени на разработку и отладку. Преодолеть эти сложности можно одним элегантным решением: использовать механизмы безопасности, предоставляемые «главным по карте» - Issuer Security Domain.

Читать далее

Игровая консоль в корпусе нормирующего преобразователя: raycast на ESP8266

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

Подарок сыну и списанный прибор

Не так давно мой сын, которому тогда было 5 лет, попросил игровую консоль. Я немного подумал, и решил, что до полноценной консоли ему бы ещё подрасти… и решил сделать её сам. Проведя ревизию полезного «железа» я нашёл 2.4“” TFT SPI дисплей, шилд джойстика и ESP8266. Сначала был написан в Arduino IDE код, затем найден корпус… но я начну от обратного. Поиск подходящего корпуса начался с Авито. Куплена нерабочая китайская консоль, но сразу после получения успешно отремонтирована подключением шлейфа дисплея и поиск продолжился… На работе был присмотрен списанный нормирующий преобразователь интерфейсов, замерен, и… признан пригодным к адаптации в качестве корпуса.

Читать далее

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

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

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

Читать далее

Разработка CAN адаптера (часть 1)

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

Hello World для STM32

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

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

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

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