Обновить
128K+

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

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

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

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

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

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

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

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

Читать далее

Новости

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

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

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

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

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

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

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

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

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

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

Читать далее

Я написал верификатор eBPF для микроконтроллера. А потом ядро Linux объяснило мне, где я неправ

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

Ученики подарили мне ESP32. В коробке было всё, что обычно: датчик температуры, реле, горсть светодиодов, круглый дисплей и провода, которых, как выяснится позже, всегда не хватает ровно на один.

Нормальный человек собирает из этого термостат за вечер. Я собрал термостат, посмотрел на него и подумал: а неприятно же будет каждый раз лезть с кабелем, если я захочу поменять порог с 22 на 23 градуса.

Дальше мысль поехала не туда, и в итоге на плате оказался интерпретатор eBPF со своим верификатором байткода. Логика управления теперь заливается по Wi-Fi обычной программой на C, скомпилированной clang -target bpf. А потом я взял десять маленьких программ и прогнал каждую через свой верификатор и через верификатор ядра Linux, чтобы посмотреть, кто из нас двоих что думает.

Сошлись шесть из десяти. Про оставшиеся четыре и написана статья — они оказались интереснее, чем сам проект.

Читать далее

О решении головоломки Jane Street по реверс‑инжинирингу

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

Или: почему я никогда не выбираю лёгких путей

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

Чтобы было понятнее, о чём именно пойдёт речь — вот публикация «Can you reverse engineer an ASIC?» в блоге Jane Street, с которой всё это и началось.

А если кому вдруг захочется почитать (ужасный) код, который я использовал в этом состязании, можете заглянуть в мой репозиторий на GitHub.

Читать далее

Бенчмарк аппаратного крипто блока К1921ВГ015

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

Я давненько подписан на TDMLab вконтакте и под одним из постов про новый отечественный микроконтроллер возник вопрос про аппаратный криптографический ускоритель данного МК. Так получилось что у меня на руках есть отладочная плата на К1921ВГ015 и я как раз работаю с криптографией в том числе. Поэтому решил написать небольшой тест и представить общественности, потому что многие относятся настороженно к отечественным микроконтроллерам (как и я по началу), а зря.

Читать далее

SoftSerial: Двоичный ЦАП на STM32 (или формирователь цифрового паттерна)

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

В этом тексте я показал как сделать универсальный полностью конфигурируемый однобитный ЦАП на основе микроконтроллера STM32F407ZG.

Суть проста.
В программе есть RAM массив двоичных семплов длинны N, которые надо отправить "на улицу" со строго выдержанным микросекундным периодом.

Есть частота дискретизации, задаваемая частотой переполнения аппаратного таймера.

Надо выдать на GPIO пин этот поезд из нулей и единиц. Причем сделать это так, чтобы в ARM процессоре было не более 2х прерываний: половина перемещения и окончание перемещения.

В тексте представлена пошаговая методичка того как это сделать.

Читать далее

SoftSerial: Двоичный АЦП на STM32 (или самодельный логический анализатор)

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

Можно ли на STM32 реализовать однобитный ADC?
Причем без использования аппаратного ADC.

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

При этом во время чтения N однобитных семплов должно произойти не более 2х аппаратных прерываний.

Да, можно.

Читать далее

Переделка радиоприемника «Электроника 26–01»

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

В этой статье я расскажу о том, как я чинил и модернизировал довольно редкий и несколько необычный советский радиоприемник «Электроника 26–01», и о том, какую «тайну» скрывает его управляющая микросхема.

Читать далее

Сторож на ESP32-CAM

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

# Сторож на ESP32-CAM

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

Читать далее

Коллекция Lumeward. Дверной автоответчик

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

Все знают Arduino, Raspberry Pi, ну или Flipper на худой конец. Это экосистемы вокруг аппаратных платформ. Мой светильник из прошлой статьи тоже в некоем роде аппаратная платформа. И я решил тоже сделать вокруг него экосистему.

Экосистему я назвал Lumeward.

Читать далее

Морфинг клеточных структур в игре «Жизнь» на микроконтроллере

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

Это уже не первый мой эксперимент с оживлением перехода графических форм. Мой первый эксперимент был с кривыми Безье: Шрифт на кривых Безье на микроконтроллере, затем с матричным шрифтом Матричный шрифт с анимацией на микроконтроллере. В этот раз наблюдение за чужим проектом навело меня на мысль об анимации Game of Life. Почему именно Game of Life - точки рождаются и умирают в непосредственной близости друг от друга, что позволяет построить автоматические переходы между ними.

Читать далее

Инженерный дневник — умная розетка на esp32

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

Как автоматизировать полное обесточивание материнской платы после прошивок — без Wi-Fi, без магии, зато с полным разбором что и почему.

Читать далее

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

Три кнопки вместо клавиатуры: HID-кликер на ESP32 своими руками

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

Мне надоело тянуться к клавиатуре и мыши, чтобы пролистнуть ролик, — и я собрал кликер для ПК на базе ESP32. Три кнопки, наподобие пульта для презентаций: две листают ленту стрелками вверх и вниз, третья отправляет F13. Её нажатие ловит собственное расширение браузера и ставит лайк.

F13 выбрана не случайно. На большинстве клавиатур ряд функциональных клавиш заканчивается на F12, поэтому F13 гарантированно не столкнётся с чужим сочетанием. Зато событие можно перехватить в расширении и обработать по-своему.

В моём случае получилась игрушка для Firefox, но тот же принцип закрывает и рабочие задачи. SMM-специалист может быстрее модерировать посты: переключаться между ними и помечать подходящие для публикации. Специалист по контролю качества при стационарной проверке — фиксировать брак в ERP одним касанием. Всё это выполняется мышью и клавиатурой, но любой, кто оптимизировал рутину, знает: чем меньше лишних движений, тем быстрее и проще идёт работа. Человек не отвлекается и не путается.

Дальше — весь путь: от печати корпуса и схемы на ёмкостных сенсорах до кода прошивки и расширения под Firefox и Chrome. Со сметой на 450 ₽ и граблями, на которые я наступил.

Читать далее

Чужой сенсор на чужом SoC: что не работает, когда «общий API» общий не до конца

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

Подключаем модуль камеры Raspberry Pi (Sony IMX708) к камерному SoC Rockchip RV1106. Делаем это в рамках разработки носимой камеры в ITSupportMe. Готового драйвера для IMX708 нет ни в дереве Rockchip, ни в мейнлайне — он живет только в форке Raspberry Pi под другое ядро и другую архитектуру видеотракта.

Формально subdev-API ядра единый: переноси код и пользуйся. Но на практике общего между двумя вендорскими деревьями осталось ровно столько, сколько каждый разработчик сохранил в своем форке. Где именно разошлись пути Rockchip и Raspberry Pi, пришлось выяснять в процессе отладки.

Во-первых, вызов STREAMON намертво падал из-за одного слова, которое в двух кодовых базах отвечало за противоположные вещи. Во-вторых, строка embedded-данных для работы фазового автофокуса (PDAF) оказалась высотой ровно в четыре линии по причине, которую не описывает ни один даташит. В-третьих, нашлось четвертое место в конфигурации, где обязательно нужно прописать новый сенсор, но об этом нет ни слова ни в одном руководстве Rockchip.

Разбираем по порядку, как решались эти проблемы, и как в итоге заставить железо работать вместе.

Читать далее

Архитектура цифровых устройств: разбираемся с процедурными и конвейерными вычислениями

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

Привет! Меня зовут Кирилл Алексеев, я ведущий инженер в отделе интеграции систем на кристалле радиочастотного центра YADRO. В своей предыдущей статье я рассказывал, чем FPGA-разработка отличается от программирования: HDL-код описывает не последовательность инструкций, а цифровую схему. Вместо переменных — проводники, соединяющие выход одного аппаратно-реализуемого блока со входом другого, а все описанные модули (блоки) присутствуют на схеме независимо и работают параллельно. 

Дальше — интереснее. К реализации одной и той же цифровой схемы есть множество подходов и огромное количество вариантов последовательности обработки данных. Как это устроено, расскажу в статье. Разберем, что такое архитектура и микроархитектура блока, чем процедурная схема отличается от конвейерной. Сравним две различные микроархитектуры — процедурные реализации схемы цифрового КИХ-фильтра.

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

Читать далее

Хакерспейсы Батуми и Тбилиси + ASIC чип спроектированный в Грузии

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

Каждый год я стараюсь поехать в какую-нибудь страну бывшего СССР и провести там семинар или просто митапы на темы SystemVerilog-RTL-FPGA-ASIC-RISC-V, попросту говоря, обучение будущих проектировщиков чипов с помощью упражнений на FPGA. В этом году я поехал в Грузию и вот мой отчет:

1. Два митапа в Батуми: Friends Club / EPAM по ссылке от batumi_it_digital и хакспейс Meshtastic Batumi / радиолюбители.

2. Митап в Тбилиси в хакспейсе sandb0x.space и посещение хакспейса f0rthsp4ce / f0rth.space .

3. Встреча с инженером местного Cisco Леваном Чагелишвили и его коллегой Давидом, организованная моим старым знакомым, FPGA инженером Иваном Графским. Иван еще 10 лет назад помог мне организовать семинар в московском МИФИ и развернуть работу по народному переводу учебника Харрис & Харрис.

По Левану у меня есть продолжение: во время встречи в ресторане на фотографии выше Леван решил спроектировать ASIC и произвести его с помощью сервиса TinyTapeout. Это наврядли первый ASIC спроектированный в Грузии (хотя кто знает?), но мы решили чтобы было бы полезно, чтобы Леван описал свой опыт. Посему мы планируем три Zoom-лекции: на английском, русском и грузинском под названием:

* Чип спроектированный в Грузии:
Разбор маршрута проектирования для ASIC и прототипирования на FPGA

* Chip Designed in the Country of Georgia:
ASIC design flow and prototyping on FPGA

Подробности ниже

Автоматическое Управление Мультиметром XDM1241 (или drive‑by‑wire)

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

В данном тексте я выполнил обзор одного широко известного и очень распространенного мультиметра модели XDM1241.

При тестировании электронных плат часто надо делать множество однообразных измерений напряжений. Например для проверки линейности ADC пинов на автомобильных ECU. Чтобы исключить человеческий фактор надо автоматизировать данную задачу.

В этом тексте я показал как опрашивать мультиметр по последовательному порту без использования лицевого HMI.

Читать далее

Hardware is hard: разработка визитки с микроконтроллером, светодиодами и питанием по NFC

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

У моей визитки, как и у большинства, собственной батареи нет. Но достаточно поднести её к телефону, как микроконтроллер запускает анимацию по 21 светодиоду, получая питание исключительно через NFC.

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

Читать далее

«Хакерский» мультитул для фотографа

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

Лет 5 назад, когда я увидел Flipper Zero, меня не покидала идея: хочу что то подобное — эдакий «тамагочи», но чтобы не для хакеров, а для фотографов. Два года назад до меня дошло, зачем это может быть полезным в реальной жизни, и только сейчас проект созрел для того чтобы выпустить бесплатную прошивку для «брелков» от M5 Stack. И это реально помогает в работе.

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