Обновить
128K+

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

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

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

Поилка для кота из мусора с MQTT, Home Assistant и ESP8266

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

Почти умная поилка для кошки с MQTT, Home Assistant и ESP8266.

Эта короткая статья посвящена реализации умной поилка за нормальные деньги.

Думаем, думаем

Новости

Клавиатура Vibe-кодера на Zephyr RTOS и двухъядерном микроконтроллере STM32WB55

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

В статье приведен мой опыт знакомства с Zephyr RTOS на примере создания беспроводной клавиатуры с тремя кнопками (Enter, Copy, Paste). Затронуты ключевые аспекты: настройка BLE-стека и HID-сервиса, управление энергопотреблением (STOP2, параметры соединения, программный сон), работа с Devicetree (overlay и правки dtsi), отладка через RTT, а также типичные проблемы (прошивка CPU2, EXTI-конфликты, требования HID к шифрованию). Проект полностью воспроизводим и содержит ссылки на полный исходный код и готовую прошивку.

Читать далее

Школьницы ваяют цифру на макетке ничуть не хуже школьников

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

Оказывается, школьницы стран бывшего СССР умеют ваять цифровые схемы на CMOS 4000 ничуть не хуже школьников, причем не только русскоязычных школьников, но и школьников из Индии и Китая. Под конец нашей месячной «Школы не в Замке, а в Клубе Хакеров по викендам» образовалась такая теплая компашка:

Читать далее

C++ для STM32. Часть 1: организация пакетов данных для отправки по интерфейсам связи

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

Привет, Хабр!
Это первая статья из планируемого цикла про мой объектно-ориентированный подход к написанию кода для микроконтроллера stm32 (а именно камня stm32f303vc на отладочной плате stm32f3discovery) с использованием возможностей языка вплоть до стандарта c++20. Но обо всём по порядку.

Читать далее

Оценка скорости реакции RTOS на события

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

продолжение темы RTOS, начало см.
https://habr.com/ru/posts/1060466/
https://habr.com/p/1062346/

Получив результат, а именно, запуск SMP версии RTOS, задался вопросом, а какая же плата в виде ухудшения временнЫх характеристик взимается за межъядерное взаимодействие сервисов RTOS?

Достал из пыльного чулана давно написанный тест производительнсти сервисов RTOS и причесал с целью использования в одно- и много-ядерном режиме.

Читать далее

История проекта «РобоБиатлон»: от детской игрушки до рейдерского захвата

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

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

Меня зовут Владимир Мозговой, и я являюсь основателем данного кружка. Историю одного из наших самых амбициозных проектов - молодёжных инженерных соревнований "РобоБиатлон", я и хотел бы рассказать в этой статье.

Читать далее

Скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

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

Привет Хабр. Мы хотим вам немного рассказать про один интересный недавний ремонт, а так-же свой опыт и инструкцию скачивания прошивки с ПЛИС ALTERA MAX.

Началось все с прибора Fluorophos FLM200 – прибор для проверки качества пастеризации молока.

Читать далее

Запуск файловой системы LittleFS на SPI‑NAND Flash от GigaDevice

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

В этой статье я подготовил обзор широко известной и доступной в продаже микросхемы Flash NAND памяти GD5F1GQ5xExxG. Согласно маркировке, это микросхема энергонезависимой NAND-памяти GigaDevice емкостью 128 МБ с доступом по интерфейсу SPI. Во второй части я расскажу, как установить на эту микросхему LittleFS — отказоустойчивую файловую систему, разработанную специально для микроконтроллеров.

Читать далее

Школьники рассказывают на видео чему они научились за три сеанса работы с микросхемами малой степени интеграции

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

Некий комментатор скормил ИИ мои посты про обучение школьников цифре на макетке, и иишница в частности ответило: “Высокий порог входа для части школьников. Проект предполагает понимание базовых вещей: что такое бит, такт, сдвиговый регистр, перенос, семисегментный индикатор”.

Это конечно ерунда полная. Школьники знают про арифметический перенос из того что их учили складывать столбиком числа во втором классе. Такт - это просто период между миганиями лампочки на модуле тактового генератора. Сдвиговый регистр они понимают по движению лампочек которое отображает его содержимое. А семисегментный индикатор они могут прощупать втыканием провода в пины идущие к каждому из светодиодов.

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

Читать далее

RTT без JLINK

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

“Обнаруженный в кустах рояль” под названием IAR i-Jet TRACE позволяет полноценную отладку SMP (Symmetric Multiprocessing) приложения, запущенного на нескольких ядрах многоядерного процессора, в данном случае это Allwinner T113.

Полноценная это значит: возможность старт-стоп отдельно каждого ядра, установка breakpoints для каждого ядра, просмотр регистров каждого ядра

Читать далее

Асимметричная криптография в Java Card

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

В этой статье разговор пойдет о приложении на Java Card, бегающем на смарт-картах. На хабре уже есть несколько публикаций на эту тему, в своей же я бы хотел немного выйти за рамки стандартного “Hello World”. Здесь вы узнаете как собирать апплет, увидите пример размещения данных в апплет на этапе инсталляции, а также установим защищенный канал между Хостом и картой.

Читать далее

SPI-контроллер на FPGA: от идеи до сигналов на осциллографе

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

Откройте любой учебный материал по FPGA. С вероятностью девяносто процентов он закончится мигающим светодиодом, бегущей строкой на семисегментнике или, в лучшем случае, генератором VGA-сигнала с цветными полосами. Это нормальные учебные задачи, но у них есть общее свойство, о котором редко говорят вслух: они работают сразу или не работают совсем. Прошили — мигает. Не мигает — перепроверили три строчки кода, нашли опечатку, мигает.

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

Эта статья - следующий шаг в моем обучении и попытка показать полный путь: от фразы "нам нужен SPI-контроллер" до момента, когда логический анализатор показывает красивые пачки импульсов на ножках кристалла. Здесь будут не только архитектурные решения и листинги, но и все ошибки, которые были сделаны по дороге: testbench, который врал, потому что master и slave-модель содержали один и тот же баг; гонка на один такт, из-за которой тест прерываний падал при исправном железе; и финальный детектив — прошивка, в которой SPI-сигналы честно генерировались... на других ножках, потому что файл назначения пинов на диске оказался не тем, который мы правили. Каждая такая история — это методика: симптом, гипотеза, эксперимент, причина, фикс.

Читать далее

Как мы ускоряли прошивку ESP (спойлер: совы не то, чем кажутся)

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

Производство пожаловалось: модуль WB-MGE v.3 на ESP32 шьётся слишком долго — 42 секунды на устройство. Что начиналось как простое «склеить вызовы esptool в один», превратилось в копание в исходниках загрузчиков на Си и Расте, патч прошивальщика, разгон системной шины, физику NOR-флеша (туннелирование Фаулера–Нордхайма — теперь я знаю что это такое), и в итоге ускорение почти в четыре с половиной раза. И да, совы оказались совсем не тем, чем казались.

Читать далее

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

Стоит ли использовать TCXO в LoRa2012?

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

Группа точек мониторинга орошения, распределённых в горной местности, днём нагревается на солнце, а ночью остывает — суточный перепад температур может достигать тридцати–сорока градусов. Обслуживающий персонал заметил, что с наступлением осени обратная передача данных с части узлов LoRa стала давать редкие потери пакетов, а после повторного включения питания работа восстанавливалась. Первой реакцией часто бывает переход на более дорогой термокомпенсированный кварцевый генератор (TCXO). Однако по мере того, как LoRa IP четвёртого поколения повысил толерантность к отклонению частоты, TCXO перестал быть ответом по умолчанию на все проблемы температурного дрейфа.

Читать далее

DTMF-MQTT шлюз на ESP32 и SIM800

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

История создания GSM-DTMF-MQTT шлюза как замены телеграм (и вообще любых интернет-сервисов) в проектах домашней и не очень автоматизации.

Читать далее

Как мы придумали NAPI-C как Linux-платформу для прототипирования с UART, I2C, SPI, GPIO

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

Есть классический путь начинающего embedded-разработчика: взять Arduino (плата для прототипирования с микроконтроллером), подключить датчик через I2C, написать 30 строк кода, порадоваться результату. Потом взять микроконтроллер ESP32 — чуть мощнее, Wi-Fi из коробки, уже интереснее. А потом наступает момент, когда задача требует полноценного TCP/IP-стека, SSH-доступа, записи данных в базу, отладки через gdb (GNU Debugger, отладчик в Linux) и еще пяти вещей, для которых на микроконтроллере нужно написать половину ОС.

Читать далее

Проектируем с нуля калькулятор на FPGA. Часть 8: От платы разработки до реального устройства

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

← Седьмая часть

В предыдущем посте я писал о микрокоде и слое скриптинга. На этом этапе калькулятор почти полностью существовал только в ПО: в виде десктопного Qt-приложения, выполняющего симуляцию, или в виде страницы с WebAssembly в браузере. Это удобная среда для разработки и демонстрации, но это не калькулятор. Калькулятор должен лежать на столе, его можно взять и постучать по кнопкам.

Сегодня мы поговорим об этом этапе (за исключением издевательств над кнопками).

Читать далее

Пингвин в гостях у Дельфина, или UNIX‑like система на Flipper Zero

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

Когда на экране терминала появилось приглашение #, Flipper Zero уже сложно было назвать просто устройством для работы с радиопротоколами, NFC и инфракрасными пультами. Передо мной находился маленький Unix-подобный компьютер: с ядром, процессами, командной оболочкой и файловой системой на microSD.

Читать далее

Поставил четыре датчика влажности на одну шину I2C — и они разошлись на 10%

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

У каждого датчика температуры и влажности в даташите написана своя погрешность. Но честная проверка — не читать даташит, а положить несколько штук в один и тот же воздух и снять показания в один и тот же момент. Я взял четыре популярных копеечных модуля с AliExpress — BME280, BMP280, AHT20 и HDC1080 — посадил их на одну шину I2C к одной ESP-шке и вывел всё на одну веб-страницу: у каждого датчика живое значение и график тренда, рядом.

Температуры совпали в пределах полуградуса. А вот с влажностью получилось интересно: один датчик показал на почти 10 процентных пунктов больше соседнего, который лежал в пяти миллиметрах от него. Ниже — как это выглядело, почему так вышло и на чём собран сам дашборд (спойлер: это несколько строк C++, без единой строчки фронтенда).

Читать далее

Подключаем к Raspberry Pi Pico MIDI-клавиатуру и делаем музыкальный синтезатор

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

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

Многие могут спросить: а в чём проблема? Взял МIDI-клавиатуру, подключил к компьютеру или смартфону с программой и играй сколько хочешь. Но у меня другая цель — понять, как нажатие на клавишу превращается в звук.

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