Обновить
128K+

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

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

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

Спутник как VPS: честная история про космический SSH, TinySat и TriSat

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

Космический аппарат не обязательно должен весить сотни килограммов и стоить как небольшой завод. Иногда достаточно платы размером с ладонь, Raspberry Pi, радиоканала и команды, которая готова несколько месяцев отлаживать термостабилизацию, прошивку и связь с орбиты.

В июле прошлого года я рассказывал, что мы готовим к запуску спутник с бортовым компьютером, к которому можно будет подключаться по SSH. Прямо как к нашему VPS, только он летит над головой со скоростью 7,8 км/с. Звучало как фантастика, но мы это сделали.

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

Читать далее

Новости

Пульт красивый, но непонятный. Вскрываем BLE протокол

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

Иногда новый проект начинается не с технического задания, а с вещи, которая случайно попала в руки.

В моём случае это был Bluetooth-пульт Makeblock MBBTCTR01. Красивый? Да. Удобный? Более-менее.
Два стика, крестовина, кнопки — всё, что нужно для управления мобильным роботом. А пара тележек с дифференциальным приводом у меня как раз была под рукой.

Читать далее

ESP32 Кликер

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

Мини проект для esp32 уровня hello world. Используем esp32 как подобие геймпада.

Вдохновившись постом https://habr.com/ru/articles/1061100/ захотелось сделать что-то тактильное, одно кнопочное, но без паяльника, станков и при условии что руки растут отнюдь не из плеч. Немного помаявшись и покрутив в руках фиджет кубик, пришла простоя идея - а что если просто считать сколько раз потеребонькал кубик? Спойлер - после подсчёта размеров платы разработки, платы зарядки и аккумулятора, стало понятно, что впихнуть это во вменяемый размер никак не получится. Но плата и несколько кнопок-тумблеров на волне энтузиазма уже были куплены, поэтому идея несколько трансформировалась. Было решено сделать управление простой мини игрой через тумблеры.

Читать далее

Обзор протокола J1939 (или нервная система грузовиков)

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

J1939 это высокоуровневый проприетарный протокол используемый поверх CAN. Появился в середине 198х годов. Этот протокол работает в груpовых автомобилях: автобусы, грузовики, самосвалы, фуры, БелАЗы и прочее. Протокол J1939 принципиально не применяется в легковых автомобилях.

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

По J1939 происходит управление трансмиссией, генератором, двигатели, форсунками, тормозами и прочим.

Читать далее

ESP-KVM: как я сделал IP-KVM на ESP32-P4 за копейки — и обо что споткнулся по дороге

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

Собрал полностью открытый IP-KVM на ESP32-P4: две платы без единой капли припоя, прошивка прямо из браузера, а по возможностям он уже почти догнал “взрослые” KVM-over-IP - видео с автоопределением режима, виртуальный привод, ATX, Tailscale и даже маленький экранчик со статусом на корпусе (которого пока нет). Внутри - вся история проекта: от “сервер не грузится, а монитор на антресоли” до граблей с H.264, microSD…

Ну давай, покажи уже, что получилось!

Делаем из Raspberry Pi Pico синтезатор Roland SC-55

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

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

Если вы думаете, что достаточно просто проигрывать записанный звук для каждой ноты, то, по крайней мере, для Raspberry Pi такой подход не сработает из-за ограниченных ресурсов. А вот использование звуковых шрифтов (SoundFont), которые придумали ещё в прошлом веке, поможет решить задачу.

Изобретать велосипед и реализовывать обработку SoundFont-файлов с нуля мы не будем, а воспользуемся готовой библиотекой TinySoundFont.

Изучение технологии SoundFont и то, как устроены звуковые банки вообще, даёт много в понимании синтеза звука.

В этой статье мы подключим библиотеку TinySoundFont к Raspberry Pi Pico, устраним главный недостаток библиотеки — загрузку всего SoundFont в оперативную память, и заставим синтезатор читать семплы напрямую из флеш-памяти.

Читать далее

Электричество, масло и вода: готовим эмульсию под напряжением в 25 000 вольт

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

Смешать воду и растительное масло в стойкую эмульсию можно и венчиком на кухне. Но как сделать это для 10 тонн отработанного машинного масла, чтобы получить дешёвое топливо для дизельной горелки? Или уничтожить бактерии в 50 кубах свиных стоков так, чтобы не платить огромные штрафы за сбросы? Этого можно добиться с помощью мощного разряда в жидкости, который известен как эффект Юткина, или электрогидроударный эффект. На Хабре очень мало информации об этом интересном эффекте, что я и попытаюсь исправить. Поехали!

Читать далее

Железный ключ к Secure Boot RK35xx

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

Уже несколько лет в Positive Labs мы исследуем механизмы безопасности в SoC RK35xx от Rockchip. За это время нам и другим исследователям безопасности удалось весьма неплохо проанализировать их. В результате было обнаружено несколько уязвимостей, две из которых были интересны нам, как людям, причастным к “железу”.

В первом случае нам пришлось разработать эмулятор eMMC памяти, чтобы эксплуатировать TOC-TOU уязвимость в момент загрузки прошивки.

Во втором — мы атаковали SoC с помощью Power Glitch, воздействуя на процесс проверки прошивки.

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

Hardware Hacking

Разбор мат-модели четырехногого робота-«паука»

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

Хотел бы рассмотреть код открытого проекта робота-"паука" с 12DoF

Разберем по косточкам весь скелет и код, управляющий им.

TLDR: инверсная кинематика, теорема косинусов

Поехали!

Я просто хотел часы, которые не нужно подводить. Всё закончилось Pi Zero и LLM

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

Это история о том, к чему привело моё желание иметь часы, которые в магазине не купишь.

Ещё с детских лет у моей кровати всегда стояли какие-нибудь дешёвые часы с красными семисегментными индикаторами и функцией радио, купленные в Walmart или Target. Это всегда были дешёвые, простые и живучие модели — вот только все они неизменно требовали ручной подстройки при переходе не летнее/зимнее время и при сбое питания. И после недавнего такого сбоя, когда я в очередной раз стоял у тумбочки, зажав кнопку «TIME» и лихорадочно нажимая кнопку «HOUR», моё терпение лопнуло: «Мы прожили уже четверть 21-го века. Должен же быть какой-то более совершенный способ!»

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

Читать далее

В заголовке моего ELF есть точка входа. Оказалось, её никто не читает

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

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

Ну, открываем!

Моя рекурсия зависла навсегда, и это был правильный результат

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

Написал рекурсию тем же приёмом, что во второй статье, и программа повисла навсегда: возвращаться ей было некуда. Чиню, завожу стек и по дороге выясняю, что регистра sp в наборе команд нет вовсе. А потом урезаю стек до 128 байт, и сборка об этом не говорит ни слова.

Ломать второй раз!

ESP32 + MicroPython + трубка Гейгера: как за вечер собрать детектор радиации

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

Радиация окружает нас повсюду – естественный радиоактивный фон присутствует всегда и везде. Имея под рукой плату ESP32 за 8 долларов, OLED-дисплей за 3 доллара, MicroPython и трубку Гейгера – Мюллера, можно без труда собрать полноценный детектор радиации. Он сможет не только выводить текущие показатели на экран, но и отправлять данные на GMCMap, в Home Assistant и другие сервисы.

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

Читать далее

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

Как PVS-Studio улучшает качество embedded-проектов

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

Embedded-разработка отличается множеством уникальных настроек, компиляторов и систем сборки. А при использовании стандартных методов анализа могут возникать сложности. Для решения этой проблемы PVS-Studio предоставляет специально разработанный механизм. Давайте узнаем о нём больше и посмотрим, как его можно применять на практике.

Читать далее

Изделие «ЗАМ—3П»

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

ЗАМ-3П — оптический считыватель орловского производства ЗАО «Протон‑Импульс». Эксплуатировался в нулевые года. Устанавливался в основном на чёрные входы жилых домов или учреждений.

Читать далее

Отечественный микроконтроллер MIK32 “Амур”: устанавливаем рабочее окружение в пару кликов

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

Российские микроконтроллеры существуют не только в новостях и реестрах. Возьмём МИК32 «Амур», настроим рабочее окружение в несколько кликов и запустим на нём первую программу.

Читать далее

Добавляем надежный recovery в Xiaomi Band 10 Pro

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

В руках у меня новые часы от Xiaomi, Smart Band 10 Pro, у них есть приличный минус в системе recovery, который устранен в других часах линейки Сяоми, я расскажу об устройстве данной модели, структуре прошивки, пакета OTA и покажу какое решение решение я реализовал, чтобы улучшить механизм восстановления часов.

Читать далее

Генератор M-последовательностей

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

В радиолокации и цифровой связи есть острая потребность кодировать зондирующие импульсы уникальным цифровым кодом с хорошей автокорреляционной функцией.
Для преодоления помех надо закачивать в импульс существенно большую энергию. Энергию можно закачивать в двух направлениях: либо в амплитуду передаваемого сигнала, либо в длительность излучения. Амплитуду невозможно увеличивать до бесконечности. Остается увеличивать длительность зондирующего импульса. Однако длинные монотонные импульсы портят разрешение по дальности. Чтобы не проиграть в разрешении по дальности длинные сигналы надо как-то модулировать. Вот тут-то и выходят на сцену М-последовательности.

Читать далее

Необычный ремонт LCD Roland JUNO-G

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

Довольно давно у меня в кладовке пылился синтезатор Roland JUNO-G. Его поразила родовая болезнь – быстрая смерть LCD, замену которому Roland выпускала по конским ценам, а потом и просто прекратила выпуск. При этом в остальном синтезатор полностью рабочий и выбрасывать его было жалко. И тут, спустя много лет, мне попался репозитарий на GitHub с описанием способа нестандартного ремонта дисплея Roland JUNO-G. Я осуществил его на собственном синтезаторе и хочу немного рассказать об этом. Тема интересная, поскольку таким образом можно восстанавливать разную устаревшую технику.

Читать далее

Эхолокация: микрофон и фазированная решётка из колонок

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

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

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

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