Увидел я тут недавно на китайской распродаже пауэрбанк. И не сказать, что специально искал - попался в рекомендациях. Наверное, глаз зацепился на дурацкую надпись 200000 mAh.
"Ну, это же китайцы. Видимо, это китайские миллиампер-часы. Дописали лишний нолик, даже если там реальных 20000 mAh - овчинка стоит выделки"
И цена-то такая "вкусная" - около 800 рублей! И бренд известный - Lenovo!
У меня телефон — Poco X6 Pro, батарея 5000 mAh.
Я в голове быстро прикинул: 20000 / 5000 = 4. Четыре зарядки. Даже если с потерями — ну три. Годиться, берем. Заказал.
Через три недели -- приехало это чудо. Осматриваем:
Про Lenovo - ни слова. Нигде.
Выбор разъемов - годный. Два USB, один Type-C и даже один micro-USB. Кнопка проверки процента заряда.
Ну-да, ну-да. 200К mAh. Охотно верю.
Чтож, включаем, заряжаем до 100%. Довольно хорошо заряжается от быстрой зарядки телефона. Бодренько. Чуть меньше получаса (47% -> 100%). Достойое время!. Подключаю телефон. Вуяля - "Быстрая зарядка". Неужели годный? (нет)
Сижу довольный, смотрю, как он заряжается. Прямо чувствую, как сэкономил. Телефон зарядился. Беру PowerBank, жму кнопку… 25%
Прекрасно. Все-таки мир не рухнул - обманули. Получается, вместо 200000 и даже вместо 20000 там всего ... порядка 6600mAh.
Пишу продавцу
Пишу максимально культурно:
вот фото - это не Lenovo и нет там заявленной ёмкости.
Ответ приходит быстро:
“Отправьте товар обратно”
Я открываю калькулятор доставки. Отправка — 2500 рублей. PowerBank — 800. И вот тут у меня появляется философский вопрос: “А в чём мой профит?”
Чтож, дождался вмешательства Aliexpress. В итоге вернули 100% стоимости без отправки обратно. Бесплатный пауэрбанк - отлично.
Но не тут то было ...
Проходит неделя пользования. Оно дохнет. Не заряжается и не заряжает телефон. Чтож .. "инженер я или кто" -- подумал я. Вскрываем пациента.
Открываю. Первое, что вижу — аккумулятор. На нём написано:
10000 mAh, 3.7V
Эм. А где еще мои 10000?. А если вспомнить упаковку, “А где ещё 190000???” :D
Вспоминаем математику.
10000 mAh × 3.7V = 37000 mWh (37 Wh -- написано на аккумуляторе). 37000 / 5V = 7400 mAh.
Даже совпало с экспериментом на телефоне!
Ладно. Почему же оно умерло? Разглядываем плату. Резисторы, конденсаторы, разъемы, пара транзисторов, экранчик и чип. Включаем зарядку, используя источник с ограничением по току. Трогаем плату - греется чип.
“Ну всё, шах и мат, попался!”
Смотрим как его зовут: IP5356. IP5356 — это очень популярный чип “всё-в-одном” для power bank. Кстати, есть множество готовых плат для изготовления своих Power-Bank'ов на основе этого чипа. Итак, Коротко по сути:
управляет аккумулятором (заряд/разряд)
содержит DC-DC (повышает/понижает напряжение)
поддерживает быструю зарядку (PD, QC и др.)
Стандартный набор защит перенапряжение / недонапряжение, перегрузка, короткое замыкание, перегрев, защита батареи (overcharge / discharge).
Отключаю аккумулятор, снимаю чип феном, ставлю новый, включаю, и... не работает. Стадия отрицания. Повторяю процедуру - то же самое. Экран не горит, при зарядке - греется. Лаадно, снимаем чип и исследуем плату.
Тыкаемся омметном между питанием и землей - почти КЗ. Прозваниваю транзисторы - живые. Начинаю по-одному снимать конденсаторы.
И... вуаля! Пробитый керамический конденсатор! Стоимость ремонта - 1 рубль, купил в ближайшем радиоманазине, посмотрев по даташиту, какой должен стоять для IP5356.
Мораль
Если на коробке написано 200000 mAh — это не ошибка, это -- вайб китая.
Бесплатный PowerBank — это не подарок. Это квест
Если что-то греется — это не значит, что оно виновато
Всегда проверяй обвязку. ВСЕГДА
Самая дорогая деталь в ремонте — это время ожидания с али
Я Андрей, и я наконец-то созрел до того, чтобы перестать читать Пикабу… и начать писать.
Долго сидел в режиме «пассивного потребления контента», но в какой-то момент понял: у меня накопилось достаточно историй, наблюдений и граблей, чтобы тоже что-то принести в эту ленту.
Так что давайте знакомиться.
Часть 1. Техническая
(или «Как я подружился с железом и иногда оно побеждает»)
Я инженер-программист, занимаюсь встраиваемыми системами (embedded, но по душевному состоянию Senior FPGA developer, хоть это и далековато от микроконтроллеров...).
Если по-простому — я тот человек, который заставляет маленькие железки делать нужные вещи. Иногда даже так, как задумано. И иногда даже полезные.
Это мир, где код напрямую трогает «железо», и за каждую строчку приходится отвечать:
памяти мало
процессор не прощает
тайминги важны
а отладка иногда превращается в шаманство с осциллографом или логическим анализатором.
Здесь нельзя просто «написать и забыть». Здесь ты либо понимаешь, что происходит, либо долго смотришь на устройство и думаешь, почему оно живёт своей жизнью.
О чём буду писать:
интересные (и иногда странные) проекты
расчлененку различных устройств (а что там унутре?)
реальные проблемы и как я их решал
идеи и варианты реализации
типичные грабли начинающих embedded-разработчиков
ну и просто мысли про всю эту IT/embedded-движуху
"А не купить ли" - интересные товары, найденные на просторах интернета
Часть 2. Спортивная
(или «Зачем я добровольно бегаю больше 10 км»)
Второй мой большой интерес — бег.
Если в embedded всё строится на логике, то бег — это почти всегда про переговоры с самим собой:
Причина моего провала очевидна: я мало тренировался. И кроме того, я мало тренировался. И ещё — я мало тренировался. Это если так, вкратце
Я не профессиональный спортсмен — обычный любитель, который внезапно решил "пора бежать".
Бегаю несколько лет, участвую в стартах на разных дистанциях (5, 10, 21.1, 42.2 и более километров), иногда ставлю личные рекорды, иногда просто выхожу «проветрить голову» на 10–15 км.
Иногда под дождём. Иногда в снег и метель. Иногда зря. Но - всегда стараюсь выполнить тренерский план.
Если интересно, буду делиться:
как начать бегать с нуля и не бросить
что происходит в голове на длинных дистанциях
как совмещать сидячую работу инженера и активность
обзоры кроссовок, гаджетов и питания (с занудным инженерным подходом, да)
В общем, здесь будет смесь: Микроконтроллеры, баги, бег, немного боли и немного радости.
Если вам откликается хоть одна из этих тем — оставайтесь, должно быть интересно.
Первая отечественная игровая консоль на процессоре, который полностью разработан и производится в России. Цена устройства - 6.300 рублей.
Компания Микрон выпустила в свободную продажу отладочную плату (девкит) игровой консоли MikBoy. Устройство предназначено для школьников, студентов и просто энтузиастов.
MikBoy построен на базе полностью российского микроконтроллера MIK32 "Амур" (К1948ВК015/018), который базируется на российской имплементации RISC-V от компании Yadro - Syntacore SCR1.
Процессор MikBoy разработан, отлажен и производится в России на собственных мощностях компании "Микрон".
Максимальная тактовая частота процессора - 32МГц. Помимо SCR1, на одном кристалле расположился кварцевый резонатор, LDO, 16КБ ОЗУ, 8КБ EEPROM, а также 256-битная OTP-зона. Поскольку 8КБ EEPROM может быть маловато для игр, в процессоре предусмотрен XIP SPI Flash контроллер, который позволит подключить флэху объёмом до 8 мегабайт.
В качестве дисплея используется 1.8" TFT-TN матрица с параллельным MIPI DBI интерфейсом (контроллер ILITek/Solomon Tech) и разрешением 128x160
В консоли присутствует внешний ЦАП для звука с усилителем мощности и 3.5мм джеком, 5 аппаратных кнопок, слот для карт расширения, чарджер литиевых аккумуляторов и программатор на базе CH347T. В качестве органов управления представлено 5 кнопок - DPAD и две дополнительные.
По производительности консоль близка к телефонам начала нулевых годов - уровня Samsung C100/X100, а также Motorola E398 и C350 (клок ниже чем максимальный у Neptune LTE, но ядро современнее и теоретически должно быть быстрее ARM7TDMI). Единственный слабый, по моему мнению, момент - отсутствие возможности расширения RAM.
Основная аудитория - обучающиеся микроэлектронике и программированию, а также энтузиасты и любители портировать Doom на всё подряд. Приобрести консоль можно здесь.
Я уже написал пацанам в посте на Хабре, если выйдут на связь - сделаем коллабу и в обмен на две-три консоли я напишу для них статью и сделаю видос😎 Горжусь ребятами которые не просто переклеили шилдик, а сами разработали процессор с нуля (в паре с пацанами из Yadro), отладили, начали массовое производство и еще и почти Consumer-grade гаджет на нем запилили. Настоящие слоники и двигатели технического прогресса в России :)
Привет всем, кто читает. Пред история была проста, как три копейки. Разработал я значится мини метеостанцию под ESP32, чтобы удаленно видеть температуру и прочие параметры при моем отсутствии на дачном участке (кстати меня данное устройство спасло от головной боли и больших финансовых потерь, однажды выключили свет на улице в мороз из-за аварии на более 3-х часов, далее я увидел что температура начала падать, пождал еще пару часов, увидел что температура не поднимается, срочно выехал на такси в свой участок, а котёл сволочь в ошибке из-за падения давления и естественно он не запустился, три минуты восстановления, и я был счастлив так как понимал к чему это могло привести). В итоге получился девайс с огромным потенциалом, в общем устройство может передавать данные измеренной телеметрии по WiFi на удаленный проплаченный сервер MQTT который находится в РФ (Москва) (причины просты, при блокировках сети всё работает без проблем и нет посредников), и пришло осознание, что данное устройство легко может работать в соло или стать системой Hive Mind Sensor Node (сенсорный узел) для сотни таких же) и самое главное оно дешевое)!
Давно хотел написать, но как-то не хватало времени.
Я - тимлид из мира embedded. Годы в RTOS и MISRA. Heisenbugs, которые проявляются только при -35 °C и определённой фазе луны. Сертификации, traceability, где каждая строчка кода может стоить жизни или миллионов. Длинные циклы - 5-10 лет от идеи до EOL. Ответственность реальная, физическая.
А теперь я присматриваюсь к web-сервисам. SaaS, full-stack команды, Next.js + tRPC + Drizzle + Vercel + AI-агенты в промпте. И… о боже, что это за мир? 😭
Move fast and break things как официальная религия
В embedded: если сломаешь - может сломаться самолёт / кардиостимулятор / конвейер на заводе.
В web: если сломаешь - откат за 5 минут, 404 на главной - это плохо, но не конец света.
Команды гордятся velocity и DORA-метриками, а не тем, что система не упадёт через 12 лет в sleep-режиме с потреблением 8 мкА. И хотя Сэм Альтман заменил Move fast and break things на Move fast with stable infrastructure, но до некоторых это еще не дошло.
Боль лида: заставлять людей думать о worst-case, когда им важнее ship в эту пятницу.
Tool churn как национальный спорт
В embedded: toolchain меняется раз в 5-7 лет. Ты знаешь свой STVD / IAR / Keil / GCC как родного.
«Мы мигрировали на новый стек и стало в 3 раза быстрее!» - без бенчмарков, без p99, без учёта CDN.
Боль лида: каждые полгода объяснять, почему не стоит переписывать фронт «потому что модно», когда продукт и так работает.
Buzzwords вместо цифр
«Blazing fast», «revolutionary DX», «edge-first experience», «AI-powered future»... Вот это вот все.
В embedded ты приходишь с графиком потребления, latency worst-case, coverage 98.7%.
В web часто: «feels snappier», «users love the animation».
Боль лида: просить метрики, а в ответ - скриншот Lighthouse 98/100 (на localhost с пустой БД).
Резюме как коллекция наклеек
LinkedIn / резюме веб-разработчика:
Next.js 15 App Router Server Actions
tRPC + Zod + Prisma + Drizzle ORM
Tailwind + shadcn/ui + Radix + Framer Motion
Vercel + Turborepo + Bun + AI code review
Резюме в embedded:
STVD + Cosmic
Опыт портирования на 7 разных MCU
Оптимизация до 4 КБ RAM
Сертификация ISO 26262 ASIL-D
Боль лида: понять, кто реально может решить проблему, а кто просто хорошо гуглит хайповые комбинации.
Качество = good enough for MVP
В embedded: качество - это не выбор, это физический закон.
В web: «Мы в проде A/B-тестируем», «если упадёт - добавим feature flag».
Переписывание фронта каждые 1.5-2 года без видимой бизнес-ценности - норма. Боль лида: внутренний конфликт «это же можно было сделать надёжно с первого раза, зачем теперь страдать?».
Личный бренд важнее кода
Twitter/X, DEV.to, TikTok - там продают не код, а личность.
«Я принёс Zustand в команду - теперь DX на 10× лучше».
В embedded ты известен по баг-репортам, которые починил, а не по твитам.
Боль лида: видеть, как junior получает офферы за хайповые посты, а не за реальные достижения.
Отсутствие долгосрочной ответственности
В embedded: ты пишешь код, который будет жить 10-15 лет.
В web: продукт могут закрыть через 18 месяцев, команда разбежится, код выбросят.
Боль лида: привычка думать на 10 лет вперёд сталкивается с «да ладно, потом перепишем».
Почему так больно?
Embedded - это инженерия + физика + ответственность за жизни/деньги/безопасность.
Web (особенно consumer/SaaS) - это шоу-бизнес + маркетинг + программирование.
Ты приходишь со сварочной маской и гаечным ключом в мир, где все в ярких кроссовках и снимают сторис с кофе.
Но... есть и свет в конце тоннеля.
Многие B2B/SaaS с высокими требованиями к надёжности (финтех, healthtech, enterprise) специально ищут людей из embedded / systems на роли staff / lead / architect. Потому что мы приносим именно то, чего там катастрофически не хватает: дисциплину, скептицизм, long-term thinking, умение считать реальные метрики.
Так что если переживу этот культурный шок - возможно, стану тем самым «embedded guy», который заставит веб-команду думать о p99 и rollback plan'ах.
Я работал над небольшим инструментом под названием polluSensWeb. Он изначально создавался для моего собственного отладки и тестирования, но в итоге я стал использовать его достаточно часто, чтобы привести в порядок и поделиться с другими.
Это браузерный UART-ридер для датчиков качества воздуха, таких как PM2.5, VOC, CO2 и подобных. Никакой установки не требуется. Вы подключаете USB–UART адаптер, открываете страницу и начинаете считывать и строить графики данных. Инструмент обрабатывает сырые бинарные кадры, включая проверку контрольной суммы, и отображает значения в реальном времени. Всё работает локально в браузере и не требует подключения к интернету, кроме отправки вебхуков.
Датчики описываются с помощью JSON-конфигураций, которые задают структуру кадров, смещения полей и тип контрольной суммы. Это позволяет легко добавлять поддержку новых датчиков без написания отдельного драйвера. На данный момент поддерживается 25 датчиков, в основном популярные модули для измерения PM и газов.
Вы легко можете сравнивать работу разных датчиков до их интеграции в свой проект.
Недавно я добавил опциональную поддержку вебхуков, чтобы разобранные данные датчиков можно было пересылать в другие системы. Типичные сценарии использования — локальные решения вроде Node-RED или Home Assistant, а также сетевые сообщества, такие как SensorCommunity или Narodmon, которые принимают HTTP-загрузки. Это позволяет обойтись без запуска серверной части или вспомогательных скриптов для передачи данных.
Это практический инструмент, предназначенный для отладки и проверки корректности работы протоколов датчиков. Он в основном существует потому, что мне надоели закрытые интерфейсы производителей, проприетарное ПО и разовые скрипты, лишь чтобы увидеть, что датчик реально передаёт по UART.
Если у вас есть другой датчик с UART-интерфейсом и USB–UART конвертер, я с радостью помогу с JSON-конфигурацией для него, чтобы вы могли попробовать — оставьте комментарий.
Будучи творческим человеком и техногиком, я обожаю при первой возможности апгрейдить своё оборудование. Время от времени я мониторю маркетплейсы в поисках чего-то новенького и в этот раз я наткнулся на настоящий мультитул для Embedded-разработчика — контроллер I2C/SPI/UART/JTAG в одной коробочке и всё это всего за 1.000 рублей... Конечно я не смог пройти мимо этой штучки и в рамках сегодняшней статьи хочу рассказать что оно из себя представляет и как с ним работать. Жду вас под катом!
❯ Что за устройство?
На самом деле такой формат статей для меня «в новинку», до этого я ни разу не делал обзоров на оборудование. Да и мой инструментарий слишком зауряден, чтобы делать ещё одну статью уровня «почему Quciko T12 лучше любой 900M станции» или «почему Вам не стоит покупать компрессорный люкей в 2025 году». Однако обзоров на сегодняшний гаджет я не нашёл, несмотря на его огромную пользу как для Embedded-разработчиков и инженеров, так и мастеров по ремонту смартфонов, планшетов и ноутбуков.
Во время подготовки статьи о том, как я написал BIOS для игровой консоли от Waveshare, в рекомендациях мне попадались другие товары от этого производителя — в том числе и сегодняшний гаджет. Меня сразу привлекла возможность переключения 3v3->5v логики и обширный набор поддерживаемых шин. В официальной вики были описаны следующие характеристики:
Шины: 1x SPI с двумя чип-селектами (можно подключить до двух устройств на одну шину), 1x I2C, 1x JTAG (полноценный, с ресетом!) и 2x UART с дополнительными линиями CTS/RTS для совместимости с классическими COM-портами.
Используемый контроллер: WCH CH347. Некоторым читателям чип может показаться знакомым по аналогии с классическим CH341A.
Питание: 5В, 3.3В, потребление ~65мА на VBus. Есть самовосстанавливающийся предохранитель на «входе».
Waveshare — достаточно известный бренд, под которым реализуются одноплатные компьютеры, «бутербродная» периферия для них и инструменты.
Я сразу смекнул, что смогу использовать гаджет как для восстановления программно-убитых устройств по типу КПК, так и для отладки своих собственных самоделок, благо набор шин к этому располагает. Устройство приехало ко мне примерно через месяц, в небольшом пакетике и брендовой коробочке, в которую входило само устройство, кабель USB Type-B (ну почему не Type-C?), Dupont-провода в IDC-коннекторе для всех шин, а также небольшой мануал. Нареканий к доставке кроме скорости не возникло.
Сам гаджет представляет из себя компактную металлическую коробочку с «ушками» для удобного крепления на столе или стене. Сверху расположена шпаргалка по распиновке и режимам работы CH347, а также светодиодные индикаторы для UART.
Разбирается гаджет очень просто: достаточно лишь открутить несколько винтов с обеих боковых пластин устройства и перед нами открывается вид на плату. Схемотехника здесь простейшая: самовосстанавливающийся предохранитель, линейный регулятор AMS1117, который питает контроллер и нагрузку на VCC (до ~600мА), сам CH347, а также набор ключей для согласования режимов работы. CH347 — это не просто ASIC, а вполне себе полноценный микроконтроллер, прошивку которого можно обновить, правда SDK для использования CH347 как МК производитель не предоставляет.
После подключения гаджет радостно зажег индикатор PWR, подтвердив свою работоспособность, а значит пришло время протестировать возможные варианты использования!
❯ UART
С UART всё просто и понятно: нам достаточно лишь выбрать желаемый режим работы (M0 — двухканальный UART, остальные режимы — UART + I2C/SPI или UART + JTAG) с помощью тумблера и подключить/припаять Dupont'ы к соответствующим пинам на плате. UART здесь достаточно быстрый: при двухканальном режиме работы, на UART0 можно добиться до 9Мб/с (мегабод), а на UART1 — до 7.5Мб/с.
Провода в разъёмы установлены не бездумно — у них есть цветовая маркировка и логика помимо «красный — VCC, чёрный — GND».
В качестве теста я решил снять лог загрузки со своего проекта самодельной игровой консоли. Для работы с UART я привык использовать Putty: сначала я припаял RX/TX и массу, затем запустил Putty и выбрал COM-порт, соответствующий первому каналу, установил бодрейт в 115200 и включил консоль:
Всё работает! В целом, гаджет можно использовать и для прошивки более сложных устройств: например многие смартфоны и кнопочные телефоны всё ещё имеют альтернативный режим прошивки через UART, а ретро-телефоны Samsung и LG так вообще не имеют альтернатив — если нет специального JIG, то остаётся лишь вызванивать RX/TX с разъёма и подпаиваться напрямую к UART процессора!
❯ SPI/I2C
С SPI и I2C уже всё чуточку интереснее. Дело в том, что как вы уже могли понять — чип использует свой собственный проприетарный протокол для организации моста между программой на ПК и шиной данных. Для работы с этим протоколом производитель предоставляет уже готовую библиотеку для Windows начиная с 2000, так что возможно у чипа есть перспективы для оживления легаси пром. оборудования. Для Linux же есть альтернативные драйвера, которые пробрасывают CH347 как обычные spidev и i2c-dev устройства.
Драйвер можно скачать здесь
Для проверки коммуникации можно использовать специальную тестовую программу из SDK, которая позволяет отправлять произвольные данные и даже прошивать флэшки 25 'ой и EEPROM'ки 24'ой серии.
Давайте же попробуем написать что-нибудь полезное! Например, подключим к гаджету 1.8-дюймовый дисплей и что-нибудь на него выведем.
С разводкой дисплея проблем не возникает: SDO к MOSI, SCK к CLK, VCC к VCC и BL (питание подсветки), однако для управления DBI-дисплеями необходимы ещё две дополнительные линии: D/C (линия, определяющая как интерпретировать байт на входе), а также RESET для аппаратного сброса контроллера. И с этим проблем тоже не возникает: у контроллера есть как минимум четыре свободных GPIO, два из которых мы с вами и будем использовать для управления линиями дисплея — GPIO6 (CTS на UART1) и GPIO7 (RTS на UART).
Далее я начал изучать PDF-ку с документацией сомнительного качества и писать код инициализации. Начинается всё с получения контекста устройства с помощью функции CH347OpenDevice, которая принимает в себя индекс нужного контроллера в системе и возвращает непонятный идентификатор (вероятно WinUSB?). Интересно то, что в остальном API используется не идентификатор, а как раз тот самый индекс, который в большинстве случаев будет 0. Далее мы получаем информацию об устройстве и сверяем режим работы, если он отличается от нужного — выбрасываем исключение:
/* Initialize CH347 */ deviceHandle = CH347OpenDevice(deviceIndex); if (!deviceHandle) thrownew std::runtime_error("Failed to open CH347 device");
Далее настраиваем SPI-контроллер. На выбор есть все три существующих режима, настройки полярности и возможность вручную дергать один из двух доступных ChipSelect'ов, а также тайминги. Частота работы определяется предустановленным набором делителей — 60МГц, 30МГц, 15МГц и т.п. Не забываем настроить таймаут каждой USB-транзакции:
if (!CH347SPI_Init(deviceIndex, &cfg)) thrownew std::runtime_error("Failed to initialize SPI");
И инициализируем дисплей. Здесь есть важный момент: функция CH347GPIO_Set устанавливает состояние всего GPIO-контроллера в чипе и поэтому принимает в себя три битовые маски с конфигурацией каждого пина. Функции GPIO стандартные — вход/выход, плюс обработка прерываний с помощью специального callback'а:
Теперь можно запустить программу и посмотреть на результат. Если вы увидели шум (или мусор) на экране — значит вы всё делаете правильно и контроллер успешно проинициализирован.
На фото можно заметить перемычку между CS и массой, однако не все контроллеры дисплеев толерантны к постоянному низкому уровню на CS. На моей практике контроллеры ILI отказывались проходить инициализацию, если не разграничивать каждую транзакцию с помощью CS.
Теперь можно что-нибудь вывести. Подготавливаем изображение, преобразовав в 16-битный массив пикселей, переводим контроллер в режим записи в VRAM, отправляем изображение:
Потенциальных применений у такого гаджета много: можно сделать красивые анимированные часы, мониторинг датчиков, показ уведомлений или дублировать окно с основного ПК. А ведь когда-то ради такого покупали LPT-провода, дисплеи от Сименсов и вручную превращали параллельную шину в последовательную...
❯ Заключение
Вот такой интересный гаджет выпустила компания Waveshare — и, что радует, по очень приятной цене! Ссылку по понятным причинам прилагать не буду, но при желании вы сможете его найти на всех трёх крупных маркетплейсах. Кроме того, можно купить Breakout-плату с тем же самым чипом за ~500 рублей, но там не будет таких удобных переключателей и Dupont'ов.
К сожалению, теста JTAG в статье не будет. У меня пока нет готовых к работе необычных гаджетов, где можно было бы протестировать OpenOCD... однако мой HTC Dream всё ещё ждёт свою прошивку модема!
А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
Если вам понравилась статья...
И у вас появилось желание что-то мне задонатить (например прикольный гаджет) - пишите мне в телегу или в комментариях :) Без вашей помощи статьи бы не выходили! А ещё у меня есть Boosty.
Что думаете о таком преобразователе?
Что думаете об обзорах на оборудование? Есть смысл рассказывать о всяких ништяках, что я иногда покупаю для работы?