Непростое zigbee реле Modkam на 4 канала
Почему это реле выше упомянуто как smart? У него есть несколько особенностей которые его отличают от других реле.


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


Мария закончила Санкт-Петербургский государственный университет аэрокосмического приборостроения, после чего приехала в Силиконовую Долину, где сейчас работает программисткой встроенных систем в крупной электронной компании. И представляете - Мария до прошлого воскресенья не умела паять! Она зашла в клуб хакеров Hacker Dojo, где я как-раз заканчивал Verilog Meetup - и пока я собирал FPGA платы, она забрела в мастерскую в соседней комнате, где один из местных крутых пайщиков научил ее припаять ее первый в жизни пин. Видели бы вы счастье в ее глазах, когда она вбежала в комнату и стала показывать всем пин! А потом напаяла целый хедер пинов, спаяла микрофон INMP441 и I2S аудио-интерфейс, с мостиками припоя, возбужденно показывая, какие красивые и аккуратные получаются контакты, не пузырьками, а правильно обволакивающими пин стекшими конусами припоя!
Короче, мы это все продолжим в следующее воскресенье. Причем по заявкам радиослушателей, подключим всех онлайн через зум, по линку https://bit.ly/yuri-panchul-zoom .
Я уже описал мероприятие в предыдущей заметке "Паяльник как инструмент опрощения и для атмосферы общения". В этой заметке я опишу в основном что нужно для участвующих через зум. Им нужно купить паяльник, и еще несколько вещей, а также выучить пять движений в видео ниже:

Когда увлекаюсь работой, забываю обо всём, есть такое. Но бытовые проблемы никуда не исчезают и дают о себе знать. Лет десять назад осознал, что в век интернета уже надо что-то делать с тем, что я постоянно забываю вытащить бельё из стиральной машины. Приспособил к ней систему уведомления. Всё было хорошо, но век гаджетов не долог – нужно было обновить решение, что я и сделал с помощью ESP32 и небольшой программы на Rust. Интересующимся добро пожаловать под кат.

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

TL;DR
Игры от Zachtronics:
TIS-100, EXAPUNKS, SHENZHEN I/O
Про создание процессора от логических элементов и до написания кода на ассемблере: браузерная бесплатная nandgame.com, более продвинутая Turing complete.
Если Вам нравится какая-то игра из перечисленных - наверно, и остальные тоже подойдут. В каждую из них я наиграл по 30+ часов, получил кучу удовольствия и научился чему-то новому.

Тут был диспут пару дней назад на фейсбуке с социологом Алексеем Рощиным, в котором он сделал совершенно безумное заявление "в России нет и не может быть чипов, а если что-то и есть, то оно на два поколения устарело". Понятно, что в России чипы есть, например микроконтроллер MIK32 АМУР, выпущенный в Зеленограде на основе процессорного ядра от питерской компании Syntacore. Причем если сравнивать Амур его с STM32 U0 2024 года (низкопотребляющий микроконтроллер от мирового лидера на 90 нм, 56 MHz), то нельзя сказать что российское "на два поколения устарело". У микроконтроллеров крутость не в нанометрах (чип на 3 нм все равно не выдержит рядом с горячим автомобильным двигателем), а в системных и микроархитектурных решениях (трюки для экономии динамического энергопотребления, эффективный DMA, даже AI расширения в стиле ARM Ethos-U55).
Учитывая, что Рощин - человек не безумный, я попытался понять, что он имеет в виду, и кажется понял.
Есть такая тема, как автоматическое выравнивание отступов в исходных текстах программ на Си или С++. Притом для этого есть специальные утилиты. Например clang-format или GNU indent.
В этом тексте я написал, как встроить процесс выравнивания исходных кодов прямо в систему сборки проекта.
Цель данного текста- показать, как интегрировать clang-format в процесс сборки прошивки. Просто в одно касание и выровнять код, и собрать бинари.



Лев Толстой пахал, Петр Первый работал в токарной мастерской, а мы, труженники Силиконовой Долины, по воскресеньям паяем. Присоединяйтесь к митапу по обучению пайке, который пройдет в воскресенье 11 августа в городе Маунтин-Вью, Калифорния, в клубе хакеров Hacker Dojo. Мы начнем в 14.30, сразу после митапа по верилогу и вернем вам ощущение присутствия в Дворце Пионеров в Киеве, Волгограде или Алма-Ате, а заодно расскажем и про Verilog и FPGA, чего в Дворцах Пионеров не было.
UPD: При обсуждении поста в соцсетях спросили, нельзя ли подсоединиться удаленно. Можно по зуму, линк https://bit.ly/yuri-panchul-zoom .

Здравствуйте все! ✋
При первой же попытке подключить экран ILI9341 по SPI к MIK32 АМУР выявил пару проблем, одна касается библиотеки HAL от Микрона, а вторая касается платы ELBEAR ACE-UNO ревизии 1.0.1 от ELRON.
Для начала поясню, я использую свой Makefile и работаю в VSCode, есть возможность работать с PlatformIO но я ей не пользуюсь. Прошиваю МК через COM-порт, для этого использую бутлоадер и загрузчик от elron.tech.
Для запуска экрана я взял библиотеку которую использовал ранее для работы с МК от Миландр К1986ВК025 (ОКР «Счетчик М»), заменил внутренности функций SPI_Master_Init, SPI_SendData и т.д., взяв их из примера который находится в репозитории Микрона - HAL_SPI_Master.
В их примере идёт передача 20 байт с одновременным приёмом, мне же необходимо передавать побайтово. В этом моменте как раз и появляется ошибка, с которой пришлось немного повозиться. В функции HAL_SPI_Exchange есть метка error, посмотрите пример ниже:
В этом тексте я написал про то, как самому написать System Software уровня HAL для ARM Cortex-M4 совместимого микроконтроллера.
Как отлаживать такую работу и на что обратить внимание при запуске I2S на Artery MCU.
Программа это реализация алгоритма. А алгоритм это упорядоченная последовательность действий. Поэтому очень большое значение имеет правильный порядок исполнения программы.
В этом тексте я написал как автоматически выявить правильную последовательность инициализации

Знаете ли вы куда попадает ваша программа после того, как вы нажали кнопку RUN или DEBUG в IDE? Если да, то как изменить этот адрес или даже выйти за пределы постоянной памяти и прожигаться сразу в оперативную память? Небольшая статья, которую я сам в свое время не нашел и потратил много часов и нервов на сбор этой не хитрой информации.

После того как я собрал систему на самом первом процессоре от Intel (4004), логичным, в каком-то смысле, шагом было перейти к Intel 8008. Концепция проекта та же - компилируем ассемблерный код на обычном ПК, отправляем скомпилированный бинарник на системную плату через USB, а современный микроконтроллер (stm32) эмулирует ПЗУ и ОЗУ для реального 50-летнего процессора, вставленного в DIP-сокет.
Вполне возможно собрать систему на аутентичных микросхемах, но такое решение проигрывает в удобстве использования - вместо запуска одной команды на ПК нужно будет постоянно перепрограммировать ПЗУ. Да и для меня основной интерес представляет сам процессор, а не его обвязка.
Так же как и в случае с 4004, моя плата эмулирует максимально возможный объем памяти, который нативно адресуется процессором. В данном случае, это 16Кб с некоторыми нюансами (об этом отдельно расскажу ниже).
И, конечно же, было занятно сравнить 4004 и 8008 в небольшой нишевой задачке. Да, сравнение весьма условное и какие-либо выводы по нему сделать сложно, но всё равно результаты вышли интересными.

Хочу рассказать вам историю, как студенты двигатель Стирлинга строили.. Результат вам не скажу). Пусть он будет интригой, как и для нас, на протяжении всего проекта.

Нюансы оптронной развязки, борьба с её недостатками и интересный на мой взгляд костыль: как разогнать скорость копеечной опторазвязки и наполучать других бонусов. Я не силён в рекламе, поэтому на месте КДПВ будет сразу тема статьи.

Здравствуйте все! ✋
Наконец-то ко мне пришёл долгожданный MIK32 АМУР на плате ELBEAR ACE-UNO от ELRON. Нормально так мне с ним пришлось по возиться, в какой-то момент уже подумал что прислали "кирпич", оказалось просто есть кое-какие нюансы о которых я сейчас расскажу.
Микроконтроллер долгое время не хотел определяться, с начала не заработал PlatformIO, библиотека MIK32 не установилась, выскакивала ошибка. Теперь я знаю что невнимательно прочёл инструкцию, но тогда не смог установить. В инструкции обратите внимание на ссылки wiki.mik32.ru и сделайте всё в точности как там описано, не спешите (:
Потом я установил MikronIDE, но OpenOCD писал ошибку, мол к JTAG ничего не подключено. Точнее ошибку сначала выдавал Uploader Микрона, а он в свою очередь обращался к OpenOCD.
Ошибка сначала выглядела так.

Всем известно, что в Краснодарском крае, особенно летом, без кондиционера никак. Зимой они тоже помогают экономить нервы и средства. Тут очень важен подогрев.
Я установил в свою 3-комнатную квартиру три кондиционера DEXP AC‑CH9ONF. Это самый простой и бюджетный вариант, я не ожидал от него особых возможностей.
Поначалу все устраивало, но учитывая, что в квартире реализован простенький умный дом на основе Zigbee-контроллера SLS, хотелось бы управлять кондиционерами дистанционно.
Управление по IR командам сразу забраковал, так как это неудобно. Почему?