Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Diamond Box AIRBAR 20000. Бесплатная отладочная плата ARM Cortex-M0

Дата публикации: 21-07-2026 23:26:15


Электроника в наше время стала недорога.
Вот уже и электронные сигареты средней паршивости ценовой категории на 32-битных МК делают.
Под катом — отчет о вскрытии подопытного и рекомендации по экспериментам.
Добро пожаловать!
Читать далее


Основное содержимое страницы с новостью.

Электроника в наше время стала недорога.
Вот уже и электронные сигареты средней

паршивости

ценовой категории на 32-битных МК делают.
Под катом — отчет о вскрытии подопытного и рекомендации по экспериментам.
Добро пожаловать!

Девайс сделан необычно цельным.
Я его долго крутил в руках, пытаясь сообразить, как оно собрано. Корпус довольно неплох, пилить его ножовкой не хотелось бы.
Сбоку — маленький семисегментный индикатор, снизу — разъем USB-C и переключатель режимов накурки.
И пара щелей. Отлично, точка проникновения установлена — приступаем к взлому методом брутфорса. Ну в смысле — втыкаем в щель лезвие ножа, чтобы фронтальную панель корпуса выгнуло.
После этого панель можно поддеть за уголок и отклеить. Переворачиваем девайс на обратную сторону и повторяем операцию:
Теперь берем простую советскую плоскую отвертку и вжимаем внутрь защелки в прорезях возле дна корпуса. После этого дно корпуса вместе с электронной частью устройства и нагревателем можно вытащить наружу:
Контейнер с губкой для жидкости при этом остаётся в корпусе — держится исключительно на трении и при необходимости вытаскивается пинцетом/плоскогубцами.
Плата девайса расположена в «корыте», прикрыта пластмассовой пластинкой и закреплена вместе с ней парой мелких саморезов.
Удаляем саморезы и пластинку, открывая вид на саму плату. Она обильно покрыта компаундом для защиты от протечек — электроника тут довольно навороченная и от попадания жидкости может начать вести себя неадекватно,

к примеру запустив режим самоуничтожения прямо в кармане владельца

.

Аккуратно вытянем плату наружу — к ней припаян шлейф мини-дисплея, причем с нижней стороны.
Сам дисплей собран в корпусе, похожем на стеклянный, и приклеен к «корыту».
Собственно, вот так выглядит извлеченная наружу электронная часть:
Индикатор имеет 6 выводов при не менее чем 25 сегментах, следовательно управляется методом чарлиплексинга. Светится белым цветом, по некоторым данным это OLED:
Аккумулятор имеет заявленную емкость чуть менее 1 Ач:
Защитный компаунд легко снимается иголкой, давая возможность прочитать маркировку элементов на плате:
Маленький квадратик сверху — контроллер зарядки литиевых аккумуляторов BC91801 от Semihigh. Умеет заряжать током до 1А и обращаться с глубоко разряженными ячейками.
Квадратик чуть побольше снизу — микроконтроллер Puya PY32C642, самый дешевый ARM — примерно по 5 центов за штуку. За эти деньги(а в нашем случае — вообще без денег) пользователь получает 32-битное ядро Cortex-M0+ с рабочей частотой 24MHz, 24 кбайт Flash-памяти и 3 кбайт ОЗУ. Из периферии — до 18 выводов GPIO, 10-канальный 12-битный АЦП на 1MSPS, 2 16-битных таймера и пару компараторов. Привычных всем UART, SPI и I2C не завезли — программируется МК через SWD интерфейс. Зато этот интерфейс выведен на удобные для пайки и заботливо подписанные пятачки на нижней стороне платы:
Контроллер очень похож на обсуждавшийся у нас тут примерно год назад PY32F002A — чуть меньше памяти, зато сильно порезанная периферия.
Родной программатор для контроллеров Puya стоит каких-то невменяемых денег, но заменяется слегка доработанным ST-Link V2, перешитым в J-Link.

Пример программы для «помигать светодиодом»:

int main(void)
{
  HAL_Init();                                 
  APP_LedConfig();

  while (1)
  {
    HAL_Delay(500);                            
    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_8); //переключем состояние анода одного сегмента
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12,0); //катод постоянно подключен к минусу
    
  }
}

static void APP_LedConfig(void) //тут конфигурируем порты
{
  GPIO_InitTypeDef GPIO_InitStruct;

  __HAL_RCC_GPIOA_CLK_ENABLE();

  GPIO_InitStruct.Pin = GPIO_PIN_8; //заполняем структуру конфигурации для 8 выхода
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;

  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); //передаем структуру
 
  GPIO_InitStruct.Pin = GPIO_PIN_12; //заполняем структуру конфигурации для 12 выхода
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;

  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); //передаем структуру
}

void APP_ErrorHandler(void)
{
  while (1);
}

#ifdef  USE_FULL_ASSERT

void assert_failed(uint8_t *file, uint32_t line)
{
  while (1)
  {
  }
}
#endif /* USE_FULL_ASSERT */

Вот тут выложена документация на этот МК и некоторые другие от Puya.
Вот тут пример реверсинга другого вейпа на таком же МК.
Ещё для интересующихся темой:Опыты с платой на PY32F002A, проект на её основе, тема на форуме по PY32F002A, шаблоны программирования.
Что из этого можно сделать? Например, драйвер для светодиодного фонарика — питание начиная с 1,7 В и умение в глубокий сон тому способствует. Различные светодиодные гирлянды и часы(а вот тут придется делать I2C/SPI программно). При должной степени упорства

и упоротости

— даже целый web-сервер.

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
11. Делаем 3D принтер своей мечты. Собираем раму014.3213-08-2026
2Простая быстрая зарядка для Makita 2х10 А08.0404-08-2026
3Таинственный производитель чипов запустит корпусирование микросхем под Москвой01024-07-2026
4Таинственный производитель чипов запустит корпусирование микросхем под Москвой012.6124-07-2026
5Минобрнауки России: ученые МИФИ раскрыли механизм превращения двумерного алмаза в полупроводник010.2113-08-2026
62. Делаем 3D принтер своей мечты. Ставим голову и подвижные части.08.7315-08-2026
7Docker on RISC-V: From Release to Production in 6 Days017.8528-04-2026
8Доработка дешёвых велосипедных педалей08.415-08-2026
9Мишустин: на поддержку микроэлектроники предполагается выделить около 100 млрд рублей0006-07-2021

Классификация: Наука. Схожих патентов: 0. Схожих новостей: 9. Тональность: 0. Информативность: 13.99. Источник: mysku.ru.