Обновить
256K+

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

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

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

Как найти и потерять бэкдор в ESP32

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

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

А потом... все как-то поутихло. Что же на самом деле нашли испанские исследователи в популярном микроконтроллере? Почему новость о «бэкдоре» разлетелась со скоростью лесного пожара? И главное — насколько реальна была угроза?

Давайте разберемся в этой запутанной истории, где переплелись технические исследования, PR-ходы, погоня за кликами и, конечно же, всеми любимые низкоуровневые протоколы. Поехали!

Читать далее

Мои самодельные программаторы

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

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

Читать далее

Вайб вместо звука: как я за вечер собрал вибровариометр на ESP32, а Gemini и ко сгенерировали всё, кроме пайки

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

Парапланеризм - это про спокойствие, свободу и медитативный полет. Но в этой идиллии есть один назойливый артефакт: звук вариометра.

Традиционные приборы - звуковые. Они меняют тональность в зависимости от скороподъемности. И когда часами часами летаешь под облаками это постоянное пикание слегка надоедает.

Однажды мой друг, с которым мы летали на соревнованиях, бросил фразу:
«Было бы круто, если бы вариометр просто вибрировал - как телефон в кармане. Чтобы я чувствовал поток рукой или запястьем, а не ухом».

Я тогда просто кивнул. А через годик, болтаясь по Алиэкспрессу я увидел на сайте часы Watchy на ESP32-PICO-D4 с Е-ink и в голове щелкнуло: А что, если превратить эти open-source часы в вибровариометр?

Читать далее

ИИ лажает там где должен был сиять

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

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

Ну ладно, хорошо, допустим. А где же ИИ сияет сейчас? Мне говорили, что пусть ИИ не сияет на языках описания аппаратуры, но он уже дошел до продакшн в языках программирования, где заменил джуна и скоро заменит миддла. Так что во всех компаниях останется только несколько ИИ-гуру, а все остальные программисты будут отправлены собирать клубнику на плантациях города Ватсонвилл, Калифорния, где они заменят нелегальных мексиканцев, которых Трамп собирается отправить на родину.

Программирование, говорите? Ну хорошо, вот три мои попытки оправдать ИИ на задачах из программирования.

Читать далее

Насколько быстр Intel 8080? Используем чипсет на FPGA чтоб проверить

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

Я люблю вызовы - например, написать код в условиях ограниченных ресурсов: медленный процессор, странный набор инструкций, крохи памяти. У меня уже было несколько проектов такого рода - я запускал тяжелую вычислительную задачу на процессорах, которые уже разменяли пол-века: Intel 4004, Intel 4040 и Intel 8008. Очевидно, что на очереди Intel 8080!

В этой статье я опишу детали проекта по созданию системной платы с чипсетом на основе FPGA, на которой будет запущен Intel 8080A-1 на частоте выше 3Мгц. А также расскажу о том, как писать программы для этого процессора на C, и в финале покажу результаты бенчмарков - Dhrystone и CoreMark.

Читать далее

Дизайн в электронике — кому он нужен? Тем более если это Ардуино, пусть и русская…

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

Так говорили многие, и даже те ребята инженеры, которые занимались схемотехникой... Зачем двигать детали, усложнять схемотехнику ради красивой картинки?

Читать далее

Сколько воды в бочке?

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

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

Читать далее

Если вы эксперт 45+ и вдруг решили сменить работу

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

Для возрастных кандидатов на рынке IT действительно существует негласная планка. После 45 лет количество откликов и звонков заметно снижается, а ближе к 50 поиск работы рискует превратиться в тяжелый труд, где помогают либо связи, либо уникальная, редкая экспертиза. Это касается не только embedded разработчиков, но и любых IT специалистов.

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

Читать далее

Простой самодельный терменвокс

Время на прочтение8 мин
Охват и читатели15K
Картинка Bettmann, Corbis, What's On the Air Company

В первой половине прошлого века появился замечательный инструмент, получивший название «терменвокс» — по имени советского изобретателя Льва Сергеевича Термена. Он позволял излучать интересные «космические» звуки, просто манипулируя руками около антенн этого аппарата.

И если в прежние времена для создания этого аппарата потребовалось бы приложить немалые усилия — хотя бы чтобы собрать и спаять всю эту конструкцию (не говоря уже о том, чтобы собрать её корректно!), — то наше время даёт интересные возможности, которые позволяют создать этот аппарат практически «из воздуха», минимальными усилиями (забегая вперёд: ниже будет самодельная версия — всего из трёх деталей).

В какой-то мере это поэтически перекликается с самой идеей терменвокса — как раз и позволяющего извлекать музыку «напрямую из воздуха».

Итак, поглядим, что же это такое и как такое можно реализовать!
Читать дальше →

Как я сделал робота — что хотел и что получилось. Часть 2

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

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

В этой части говорим о разработке ПО. Микроконтроллер, видеокамера, датчики, двигатели — уже соединены, питание подключено. Осталось вдохнуть жизнь в электронный организм, чтобы все его компоненты пробудились и начали согласованно взаимодействовать.

Читать далее

Луч — мультитул разработчика электроники, версия 2

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

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

У этого подхода были очевидные минусы — стенд был ненадежным, проводочки могли вылететь, код для стенда, как и для прототипа, тоже надо было написать и проверить, и стенд превращался в еще одну разработку. В какой‑то момент я решил, что хочу упростить этап создания тестового стенда. Так появилась идея устройства «Луч» — компактного прибора с поддержкой популярных интерфейсов, цифровыми входами и выходами, который мог бы заменить собой тестовый стенд. Он позволял бы быстро запустить последовательность действий без написания кода с нуля, и мог бы работать как терминал для многих интерфейсов, этакий швейцарский нож. Именно об этом устройстве я хочу рассказать в этой статье.

Читать далее

Электронная нагрузка для разряда аккумуляторов на микроконтроллере PIC16F628A

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


Привет, Хабр! У данного микроконтроллера отсутствует встроенный аналогово-цифровой преобразователь (АЦП), зато есть цифро-аналоговый (ЦАП) и компараторы. Это позволяет использовать PIC16F628A для управления разрядным устройством с довольно продвинутым функционалом.
Читать дальше →

Собираем умные часы: выбор микросхемы

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

Полный видеоролик по этой статье есть на моём YouTube-канале.

Это первая статья в серии, описывающей все этапы создания умных часов. Здесь я хочу показать, что в 2025 году не так уж сложно самому собрать достаточно неплохую модель. Хочется, чтобы наш проект по созданию обновлённых часов помог создавать их и другим желающим.
Читать дальше →

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

Монитор качества воздуха Zigbee своими руками

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

Сразу должен сказать, что идея не моя. Изначально речь шла об устройстве на дисплее epaper, который бы на экран выводил значения CO2, температуру и влажность. Ну еще время. В процессе обсуждения родился проект, который мы назвали Air Quality Monitor.

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

Читать далее

Платотерапия: как я собрал свои Arduino UNO и Digispark с нуля

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

В последнее время поймал себя на том, что меня успокаивает процесс создания плат, от разводки, до пайки и я какое-то время вынашивал идею, что неплохо было бы сделать какую-то свою отладочную плату, например, с программированием по USB. Но зачем что-то придумывать без веской причины, тогда как можно взять готовый проект, например, Arduino UNO или Digispark и заодно подсмотреть, как там все устроено. Поэтому я ухватился за эту идею.

Эта статья — рассказ о том, как я собрал клоны Arduino UNO и Digispark, сделал три разные платы расширения своими руками и протестировал две из них, купленные в магазине.

Попробуем сделать Arduino UNO DIY — свой ответ Arduino UNO Q.

Читать далее

Проект «Мультиключ». Эмулятор ключей от домофона на ESP8266

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

Никак не доходили руки до написания этой статьи, точнее я её планировал написать после полноценного перевода устройства на esp32 c3, который никак не состоится.

Вкратце напомню о чем этот проект, и чем он закончился в прошлой статье. Мы разрабатываем компактное устройство для чтения, хранения, записи и эмуляции электронных ключей (которые чаще всего встречаются у нас в подъездах и на проходных). Изначально это был проект одного из моих учеников. Но в этом году, для участия во ВСОШ по робототехнике ему пришлось поменять тему работы, которая тоже довольно интересная, как-нибудь по неё тоже напишу). А я по наличию времени и энтузиазма продолжил добивать программную часть.

В прошлой статье мы перевели устройство на esp8266, что сделало его более производительным и решило проблему с памятью. У нас получилось прочитать и эмулировать контактные ключи dallas и русские Сyfral и Metacom. После этого мы решили перейти к бесконтактным ключам стандарта EmMarine.

Бесонтактные ключи уже так просто, при помощи одного резистора, не прочитаешь, нужен детектор-генератор на 125 кГц. На этом этапе опять очень помог проект от Alex Malov EasyKeyDublicator. У него я взял схему детектора без изменений. И первые тесты производил на Arduino Nano.

Читать далее

Тихий перфоратор для соседа: как спроектировать тактовый генератор с распределенным спектром

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

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

Есть более элегантное решение — тактовый генератор с распределенным спектром (ТГРС). Мощность генератора остается прежней, а вот шум удается заметно снизить. Меня зовут Павел Кириченко, я автор курса «Схемотехника для начинающих» и ведущий инженер по разработке SoC в YADRO. В статье разберемся, как спроектировать ТГРС для последовательного интерфейса и рассмотрим два подхода к его архитектуре: с переменным коэффициентом деления и c фазовым интерполятором.

Читать далее

Индуктивная связь

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

Сейчас беспроводными технологиями передачи данных никого не удивишь. На том же Али море различных модулей для беспроводной связи на любой вкус и цвет начиная от WiFi заканчивая NFC и RFID. Однако, в некоторых изделиях, по разным причинам, применение спец микросхем/модулей беспроводной передачи данных может быть нежелательно. Эта статья о том, как можно c помощью дросселя и нескольких транзисторов реализовать беспроводный интерфейс малого радиуса действия для микроконтроллера.

Читать далее

Ретро-часы на вакуумных люминесцентных индикаторах ИВ-11

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

Тёплое зелёное свечение ИВ-11 и ИВ-6, современная электроника на STM32 и минималистичный корпус. Проект сочетает советскую эстетику 80-х с доступными современными компонентами.

Читать далее

Знакомство с программным USB на CH32V003

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

Давно хотел сделать устройство с USB, но больше всего мне казалось интересным это использовать программное USB. И для микроконтроллера CH32V003 давно существует библиотека rv003usb, которая решает эти задачи. В этой статье можно было бы рассказать как делать простейшее USB-устройство на основе её, но эта библиотека заметно больше и предлагает, помимо самой библиотеки, несколько полноценных рабочих программ: загрузчик и программатор.

Изначально я думал написать статью после создания готового устройства, но пока им занимался столкнулся с тем, что информации получается много и она интересная, поэтому решил разбить это все на части. Это первая, ознакомительная. Я как всегда начал разработку с прототипов и сделал тестовые платы с USB, чтобы “прощупать почву” и про них сегодня будет разговор. Но ради интереса еще попробуем загрузчик и соберем программатор из этой же библиотеки.

Попробуем сделать свой Digispark!

Читать далее