❌

Reading view

Как я превратил клавиатуру от ноутбука MSI в самостоятельную USB‑клавиатуру

Есть люди, которые спокойно меняют клавиатуры и через пару дней привыкают к новым. А есть моя жена. У неё есть ноутбук MSI GS75, и его клавиатура ей очень нравится. Настолько, что ни одна из других клавиатур, которые мы пробовали, не смогла её заменить.

Я перепробовал немало вариантов. Одни отличались ходом клавиш, другие — усилием нажатия, расположением кнопок или просто тактильными ощущениями. Казалось бы, выбор современных клавиатур огромен, но подходящей так и не нашлось. В какой-то момент возникла мысль: а зачем вообще искать замену, если нужная клавиатура уже существует? Осталось только научить её работать отдельно от ноутбука.

Так начался небольшой домашний проект, который постепенно превратился в исследование клавиатурной матрицы, разработку двух ревизий печатной платы на STM32, написание собственной USB HID-прошивки и борьбу с фантомными нажатиями. Сейчас у меня уже есть работающий прототип: 102 клавиши, USB Type-C, поддержка Fn и мультимедийных сочетаний, режим NKRO и собственная система диагностики.

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

Читать далее
  •  

Я сделал экран для мониторинга моих квот LLM провайдеров

Начну с того, что еще недавно мои познания в схемотехнике балансировали на уровне непонимания различия между транзистором и резистором. Из всего арсенала, хоть как-то применимого к embedded, за душой был только Rust. Но когда на радаре замаячил так называемый встриваемый AI (машинное обучение и компьютерное зрение прямо на копеечных микроконтроллерах), - спортивный интерес взял верх. Не тратя недели на теорию, я просто доехал до радиорынка и вернулся с джентльменским набором первопроходца: ESP32, первым попавшимся экраном и энкодером. Амбиции по запуску нейросетей моментально разбились о суровую реальность первого вечера: как вообще заставить этот кусок текстолита ожить и вывести на дисплей хотя бы пару цифр?

Цифры при этом были вполне конкретные. У меня сразу несколько подписок на LLM, и у каждой свои лимиты: окно на пять часов, окно на неделю, месячный потолок. Сбрасываются они в разное время, живут на разных сайтах, а узнать остаток можно, только открыв нужную вкладку. Мне хотелось поднять глаза от клавиатуры и сразу увидеть, на что еще хватит квоты.

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

Читать далее
  •  
❌