Представьте: маленький брелок лежит в кармане. На нём — мордочка кота из популярного мема. Нажимаешь кнопку на затылке — и в центре головы загорается круг из двенадцати ярких SMD-светодиодов. Два огонька начинают бегать по кругу с коротким хвостом. Ещё одно нажатие — и запускается спиннер: три луча вращаются по часовой стрелке, потом три круга против. Третий режим — маятник, три светодиода плавно качаются взад-вперёд, как загипнотизированный взгляд. Четвёртое нажатие — и всё гаснет.


Всё это работает на самом дешёвом микроконтроллере ATtiny13. Четыре пина управляют двенадцатью светодиодами через Charlieplexing. Никаких Arduino и сдвиговых регистров.

Хотелось двух вещей сразу:

  • Во-первых, сделать кастомную плату необычной формы — не очередной прямоугольник.

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

С чего всё началось

Идея с котом пришла быстро. Есть известный мем с «думающим» котом, где размышление изображается эффектом загрузки на лбу. Я подумал: а что, если вместо линий сделать круг из светодиодов? Получится и забавно, и технично. Помимо этого, форма головы кота сама просится на PCB — уши, морда, всё уже нарисовано природой и мемами.

Питание и железо

Самое важное требование — работать от обычной батарейки 3 В. Поэтому сразу решил: никаких 5-вольтовых наворотов. ATtiny13 идеально подошёл. Пинов мало, но мне и не нужно много: 12 светодиодов + одна кнопка.

Тут же родилась мысль про Charlieplexing. Четыре пина могут управлять двенадцатью светодиодами (n × (n-1) = 12). Именно то, что нужно. Я уже давно знаком с этой техникой, подробно расписывал её в старом Дзен-канале (тот забанили). Сейчас завёл новый — там пока два подписчика, но я потихоньку пишу . Если интересно, подписывайтесь на мой новый ДЗЕН.

Схема
Схема

Тест микроконтроллеров

Я сделал отдельную тестовую плату: вставляешь микросхему, прошиваешь и сразу видно по светодиоду-индикатору, получилось или нет. Очень удобно, когда делаешь партию.

Программирую 100 микроконтроллеров
Программирую 100 микроконтроллеров

Самое сложное — нарисовать кота

Рисовать голову кота, опираясь на мем, оказалось неожиданно тяжело. Я потратил несколько часов в редакторе, исправил много ошибок, пока мордочка не стала «той самой».

На передней стороне разместил 12 светодиодов ровным кругом на уровне лба. На задней: ATtiny13, четыре резистора, конденсатор, кнопку, держатель батарейки и еще оставил место под свой логотип.

Платы пришли… с сюрпризом

Заказал и ждал почти месяц. Первая партия пришла с номером заказа прямо на лицевой стороне, который китайцы забыли убрать. Я написал, они извинились и бесплатно прислали исправленные платы. Бракованные оставил себе — теперь это память о первом запуске.

Организационные мелочи

Дальше была рутина, без которой набор не собрать: докупил оптом светодиоды, резисторы, конденсаторы, батарейки, упаковку, термоусадку, цепочки. Написал инструкцию по сборке и запустил на Авито.

Почему такой котик должен быть у каждого, кто любит электронику

  • Живой пример Charlieplexing (одна из самых красивых техник в embedded).

  • Отличный тренажёр SMD-пайки.

  • Готовый подарок и образовательный набор.

Заключение

Три недели работы, несколько бессонных ночей, косяк с номером заказа на первой партии и один очень довольный светящийся кот.

Если хотите повторить проект — наборы доступны на Авито.

Пишите в комментариях, какие режимы ещё стоит добавить коту. И подписывайтесь на мой Дзен-канал!