Обновить
263.28

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

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

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

Быстрое приближённое умножение и деление чисел с плавающей точкой

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

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

Читать далее

Плеер для слабовидящих на ESP32

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

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

Читать далее

АОН. Оживляем раритетный телефон из девяностых

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

Многие из нас помнят три самых популярных девайса производства кооперативов: конвертеры PAL->SECAM, компьютеры ZX Spectrum и телефоны с АОН. Последние появились где-то в конце восьмидесятых, а к середине девяностых были широко распространены и встречались практически у всех. Вокруг этих девайсов было своё сообщество, у них были свои любители и свои разработчики, прямо как у отечественных персональных компьютеров на схожей элементной базе.

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



Итак, в сегодняшней статье поговорим про то, как работали такие девайсы. Заодно рассмотрим парочку их представителей, увидим их в работе и заставим их что-то отображать спустя столько лет после ухода в историю «тех» АТС. Традиционно будет много интересного.
Читать дальше →

Применение двухполупериодного активного выпрямителя в схеме многоканального измерителя тока

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

Применение двухполупериодного активного выпрямителя в схеме многоканального измерителя тока.

Делюсь идеей построения измерителя токов.

Читать далее

Настройка ToolChain-а Cборки Прошивок для MIK32 (K1948BK018 + C + GCC + GNU Make + OpenOCD)

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

В этом тексте я написал про то, как настроить рабочее окружение для разработки на российском микроконтроллере MIK32 (K1948BK018).

Читать далее

Релиз WB-Cloud On-Premise, Алиса из коробки и другие новости от Wiren Board

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

На WBCE 2025 Александр Дегтярев, руководитель отдела интеграций, представил обзор ключевых обновлений в экосистеме компании. Мы уже публиковали доклад Евгения Богера об  аппаратных новинках, а также рассказали о самых интересных стендах выставки. Сейчас очередь за софтом, а конкретнее облаком, которое превращает Wiren Board в законченную платформу для автоматизации.

Облачные сервисы в последнее время стали важной частью предложения Wiren Board. В статье мы рассмотрим, что здесь появилось нового.

Читать далее

Когда хочется портировать старые игры, но нет ни сил, ни времени: запускаем отсекатель лучей на RISC-V RV32I

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

Всех, кто работает с софт-ядрами, наверное, можно разделить на две категории: первые хотят запустить на своем ядре Linux, вторые — DOOM. Я отношусь ко второй: идея запустить DOOM на ядре YRV, что я синтезирую на отладках, любезно предоставленных FPGA-Systems.ru, преследует меня постоянно и не дает спать.

Как запустить DOOM с ходу, непонятно, ведь у меня все-таки некоммерческий микроконтроллер. Поэтому начну с подготовительного упражнения, чтобы понять, что возможно реализовать на аппаратной части. Когда мы говорим про DOOM, то вспоминаем другие игры любимой компании id Software — Wolfenstein 3D, Catacomb 3D и Hovertank 3D. В них все начинается с алгоритма отсечения лучей (raycasting), с которым и будем поработать. С raycasting можно получить и doom-образный геймплей, надо лишь улучшить разрешение и текстуры.

Читать далее

PicoCalc: назад в Бейсик

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

Изобретательные китайские товарищи из ClockworkPi недавно анонсировали выход нового устройства. Если предыдущий продукт, uConsole, базировался на RaspberryPi CM4 и работал под управлением Linux, то данный продукт, во-первых, более концептуальный, во-вторых, в силу концепции, менее производительный, и в-третьих, что важно, приехал в РФ гораздо быстрее, примерно за месяц.

Читать далее

Evertop: ультра-экономичный ПК на солнечной батарее

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

Evertop — это портативный ПК, эмулирующий IBM XT с процессором 80186 и 1МБ RAM. На нём можно запускать DOS, Minix и некоторые другие ОС из 80-х. Можно запустить и Windows до версии 3.0. Благодаря мощному и при этом экономичному микроконтроллеру, E-Ink дисплею, батареям на 10 000 мАч и реализации исключительных мер энергосбережения, он может работать на одном заряде до сотен и даже тысяч часов. Прибавьте сюда встроенную солнечную батарею и вы сможете использовать его бесконечно в условиях отсутствия сети, не беспокоясь о подзарядке.
Внутри много фото

Синус, косинус, квадратный корень FixedPoint

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

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

Имеется фрезерный станок ЧПУ. Было принято решение, переделать его систему управления, используя ядро Cortex M3. В общем и целом, существуют программные пакеты, позволяющие сделать это. Например GRBL. Однако, у меня своя специфика. Для реализации ПО, потребовались математические операции sin(x), cos(x), sqrt(x). И я задумался над их реализацией в формате фиксированной точки.

Читать далее

Четвёртый инженерный хакатон SoC Design Challenge: «Свидетели ошибок» из Аквариус — победители трека UVM верификации

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

С 18 по 20 апреля 2025 г. на площадке НИУ МИЭТ в Зеленограде прошёл четвертый инженерный хакатон SoC Design Challenge, организованный компанией YADRO совместно с Передовой инженерной школой «Средства проектирования и производства электронной компонентной базы» МИЭТ. Более 250 студентов очной формы обучения со всей России собрались, чтобы на практике решить задачи по проектированию и верификации систем на кристалле (SoC) на базе RISC‑V.

В рамках треков «RTL проектирование», «UVM верификация», «Системная верификация СнК» и «Топологическое проектирование» участникам предстояло не только продемонстрировать знания цифровой и аналоговой схемотехники, но также и получить призы — FPGA платы и другие инженерные гаджеты. Все задачи формировались действующими специалистами отрасли и преподавателями МИЭТ, что делало соревнование максимально приближённым к реальным производственным кейсам.

Команда студентов-сотрудников компании Аквариус, трое студентов 4‑го курса НИЯУ МИФИ (каф. 27) команда «Свидетели ошибок»:

1. Силкин Никита Романович

2. Скворцов Ярослав Максимович

3. Никонов Александр Андреевич

За три дня напряжённой работы «Свидетели ошибок» набрали 76 баллов из максимальных 100 и уверенно опередили ближайших соперников на 28 баллов, заняв 1 место среди остальных команд в треке UVM верификации.

Как команда готовилась и добилась победы

Скворцов Я. М.

Хакатон длился три дня с 9:00 до 20:00. Сначала мы подробно разработали верификационный план по спецификации устройства, определили ключевые функции и ошибки для проверки. После этого разделили обязанности: каждый взял часть тестового окружения и приступил к реализации. Регулярные обсуждения архитектурных решений позволили быстро интегрировать результаты и довести тестбенч до рабочего состояния. Локализация багов оказалась самой трудоёмкой частью: требовалось крайне внимательно и с пониманием просматривать результаты тестов. Благодаря эффективной коммуникации и сплочённой атмосфере команда справилась с этой задачей, и мы одержали победу.

Читать далее

Восстановление раритетного аналогового синтезатора Alpha Juno-1 фирмы Roland

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

Одно время  на прогулках по блошиным рынкам я увлеченно высматривал винтажные музыкальные инструменты, особенно синтезаторы 70x-80x годов. Я нахожу их звуки очень красочными и разнообразными, а так же эти устройства интересны с точки зрения схемотехники.

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

И это оказалась не «пиликалка» с пластиковым звуком и не кондовый электроорган, - а очень даже продвинутый для середины 80ых и актуальный по сей день аналоговый полифонический синтезатор с цифровым управлением, выпущенный компанией Roland.

После приобретения музыкальный инструмент не подавал ни каких признаков жизни кроме подсветки дисплея. Вскрытие и сверка со схемой из документации показали то, что хоть разработчики и использовали Poka Yoke для предотвращения неправильного подключения межплатных кабелей, но или не досмотрели или ассортимента не хватило и установили на главной плате два разъёма с одинаковым количеством контактов и невнимательный настройщик который обслуживал синтезатор перепутал местами те единственные два кабеля в которых можно было ошибиться. В таком вот состоянии инструмент мне и достался. Уcтранив ошибку сначала я очень обрадовался, - основные функции заработали, но к сожалению вышли из строя два входа микросхемы IC7 “Gate Array“, которая выполняет роль IO интерфейса для CPU, в частности для функций клавиатуры. Из Рис. 1 и Рис. 3-4 видно как происходит обработка нажатия клавиш.

Прочесть

Результаты хакатона — инструкции по сборке и программированию ROS2 роботов

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

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

Читать обзор репозиториев роботов

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

Как завалить студентов, которые используют ChatGPT

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

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

Как же обломать крылья этой мечте? Запрещать чатгпт бессмысленно, но как сделать так, чтобы с чатгпт стало сильно труднее чем без него? Чтобы студенты пинали его и так и сяк, но решения бы не получалось, а вот у студентов, которые решили сесть и подумать сами - решение бы получалось?

Читать далее

Настройка soft-AP с использованием модуля Espressif и ESP-IDF

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

Перевод статьи с небольшими правками для ESP-IDF 4.4.5.
В этом руководстве показано, как настроить soft-AP с использованием модуля Espressif и ESP-IDF. Оно охватывает процесс создания проекта, настройки Wi-Fi и обработки событий подключения с помощью event loop и логирования.

В любом Wi-Fi-приложении первым шагом является установление соединения между устройством и маршрутизатором. В терминологии Wi-Fi устройство называется станцией (STA), а маршрутизатор — точкой доступа (AP). В большинстве случаев модуль Espressif работает как станция, подключаясь к существующему маршрутизатору. Однако перед этим пользователь должен пройти процесс provisioning — то есть ввести SSID и пароль маршрутизатора.

Существует несколько способов provisioning, но наиболее распространённые — это через Bluetooth и Wi-Fi. При использовании Wi-Fi процесс обычно выглядит следующим образом:

Читать далее

Жгём-шьём контроллеры и кормим ядерную подсветку

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

Четыре сгоревших STM32, три блока питания, 90 ампер, синяя сосиска, 16 бубенчиков и электродиффузия — в этой части кормим подсветку для трёх теликов, пишем с нуля протокол адресных светодиодных лент WS2812b и обматываемся коаксиальными проводами.

Осторожно, трафик!

NVRAM из EEPROM

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

Дана функция чтения и записи EEPROM dword.

Запись и стирание возможно только по выровненному адресу и пословно.

Надо поверх EEPROM API сделать функцию чтения, записи и стирания для произвольных массивов байт, по произвольному адресу (NVRAM).

Простыми словами надо состыковать Dword API с Byte API.

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

Читать далее

Ключ от всех дверей: MITM-атака на протокол Wiegand с помощью самодельной платы

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

Представьте: вы выложили кучу денег на крутые замки и карты доступа, а какой-то парень с крошечной штуковиной в кармане открывает их за пару минут. Похоже на сцену из киберпанк-фильма? Но это наша реальность. В сердце множества СКУД скрывается протокол, разработанный в 70-х годах прошлого века без шифрования и защиты от перехвата данных.

Сегодня я расскажу, как мы спаяли крохотную платку, которая наглядно показывает уязвимость Wiegand. Наш имплант легко перехватывает данные из СКУД, копирует карты доступа и эмулирует их, когда вам это нужно.

Мы делимся этим материалом не чтобы научить вас обходить системы безопасности (кто хотел, тот уже давно все нагуглил), а чтобы показать: пора что-то менять. Серьезно, нельзя же в 2025 году полагаться на технологию, которая старше многих безопасников, обслуживающих эти системы.

Читать далее

Машинка на радиоуправлении с одним каналом связи для видеопотока и управления

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

Ставим себе задачу «Just For Fun»: построить машинку на радиоуправлении с камерой, используя компоненты с AliExpress. Управление и видеопоток с камеры совместить в один канал связи. Управление реализовать без отдельных пультов, с помощью своего интерфейса на пк. Так же реализовать возможность изменять скорость.

Читать далее

Подсистема управления GPIO для ЗОСРВ «Нейтрино»

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


При разработке драйверов GPIO для нашей операционной системы реального времени "Нейтрино" исторически имеется одна неприятность — отсутствие общего дизайна для таких драйверов. Причин для этого несколько: они считались и считаются тривиальными, разрабатывают их разные организации и разработчики. Из-за этого каждый инженер нередко писал реализацию «под себя»: кто-то в виде сервиса, кто-то даже в виде статической библиотеки. Такой подход, хоть и кажется удобным на первых этапах, со временем приводит к фрагментации кода, усложнению поддержки и невозможности систематизировать накопленный опыт. Чтобы избежать этих проблем в будущем мы решили перейти на унифицированную подсистему управления GPIO устройствами и выработать подход, который будет считаться best practices в нашей ОС.

Читать дальше →

Вклад авторов