Обзор RAK611 (IoT Dash Button), ч. 1 — Схемотехника и первые впечатления

Заказал ради интереса модуль IoT кнопки, а-ля аналог Amazon Dash Button, но тут сразу 4 кнопки в одном корпусе и сердцем является уже знаковый модуль RAK473. Также мне это интересно ещё и по той причине, что устройство выполнено с встроенным аккумулятором, и интерес представляет реализация питания там (я уже делал портативное устройство на RTL8711AM, есть с чем сравнить).

К слову, внутри Amazon Dash Button оказывается довольно много всего вкусного:

  • STM32F205RG6 — управляющий МК;
  • ADMP441 — цифровой микрофон;
  • SST25VF016B — SPI флеш;
  • BCM943362 — WiFi.

Фото внутренностей:

B45-1

Вот тут можно посмотреть пример прошивки для неё, но там пока только мигание светодиодиком…

Ну да ладно, отвлеклись что-то, посмотрим же что у нас на руках. Приехала посылка ЕМС почтой и внутри пакета ожидали 2 коробки (что несколько неожиданно, заказывал только одну кнопку в корпусе вроде бы, кликабельно):

Первый взгляд

Открываем и смотрим что в коробке поменьше (кликабельно):

Это слайд-шоу требует JavaScript.

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

Плата с модулем отдельно (кликабельно):

Это слайд-шоу требует JavaScript.

Всё отмыто и припаяно хорошо, но вот внешний вид не сходится с тем, что на листке бумаги: помимо JTAG различий еще есть чип CP2102 — с другой стороны круто, раз на борту есть USB-UART для отладочного UART (по идее).

И плата CMSIS-DAP для прошивки, хотя по факту это просто Creator Pro без RAK473 (кликабельно):

Это слайд-шоу требует JavaScript.

Пайка и отмывка также хороша, около нераспаянного модуля только почему-то потемнение… как будто модуль RAK473 ранее был установлен и его перед отправкой просто выпаяли.

А в большой коробке без опознавательных знаков пришел корпус:

Это слайд-шоу требует JavaScript.

Качество изготовления (литья) — очень хорошее, прямо приятно держать в руках. В комплекте также идет двусторонняя наклейка, чтобы приклеить модуль, куда душе угодно\удобно. Тут, как по мне, не продуман только момент, если надо обновить прошивку — надо отдирать модуль от поверхности, куда приклеили, и разбирать (нижняя крышка на винтах держится), так что обязательно наличие OTA (прошивка по воздуху).

И первый промах:

B45-17

Плата пришла с напаянным разъёмом PBD-8 для прошивки, по идее для удобства, чтобы вставить штырьки и прошивать, но в тоже время этот разъём выше всего, что установлено на плате, раза в 2, и потому он мешает установке платы в корпус — его надо выпаивать (уже не говоря о том, что он запаян относительно шелкографии на другой стороне). Косяк.

Как по мне, тут хорошо бы подошел разъём углового типа, что то аналогичное тому, что установлено для аккумулятора, и если установить подобный разъём мордой вниз и сделать отверстие небольшое в корпусе, то это бы решило вопрос с разборкой корпуса для обновления прошивки, но внешний вид уже несколько попортило бы (так что с отверстием в корпусе — спорно), а вот просто установка малогабаритного углового\прямого разъёма + комплектация кабелем переходником для подключения SWD очень желательна.

Альтернативный вариант — на плате делаются SMD пады вот такого вида:

B45-18

И для прошивки используются специальные кабели-переходники с pogo pins, которые бывают с защёлками или без, как на фото ниже (только ключи\направляющие для быстрой прошивки):

B45-19

И в итоге прошивается плата просто прижиманием этого разъёма к падам:

B45-20

Я же выпаял разъём и припаял на проводах к PLS для подключения SWD + nRST линий. Получилось это как-то так:

B45-21.jpg

При подключении USB выявил следующий недостаток по конструктиву опять же — вот так светится статусный светодиод заряда аккумулятора со стороны платы в не очень освещённой комнате (только свет из окна):

B45-22.jpg

Вот то зелёное свечение сверху — это оно. Через корпус не просвечивает и установлен на плате ближе к USB разъёму, чем к краю, у которого есть полупрозрачные вставки. А вот так это выглядит при нормальном комнатном освещении:

B45-23

Совсем не видно (только в полутьме его видно в целом нормально). Опять косяк, причём довольно легко поправимый на уровне разводки печатной платы — просто светодиод надо передвинуть к краю, у которого стоит светодиод статуса «2».

И напоследок — вишенка на торте конструктивных недоработок:

B45-24

Корпус не закрывается. :) То ли ревизии v1.2 плата толще, чем прошлые, то ли изначально неверно сам корпус нарисовали, но по факту без аккумулятора (загвоздка и не в нём) корпус не закрывается плотно, он постоянно отскакивает с какой либо стороны. Проблема в следующих стоечках-упорах:

B45-25

Они выше, чем надо, и, упираясь в печатную плату (которая к слову довольно туго вставляется в защёлки для неё, возможно-таки действительно высоту печатной платы прогадали в новой версии…), просто не дают крышке быть на своём месте. Решение — напильником аккуратно убрать 0,5-1 мм высоты на каждой из пяти стоечек-упоров (отметил красным). Досадно как-то вышло.

Схемотехника

На странице документов доступна PDF-схема, но она для ревизии платы v1.1. Глянем на неё, часть с модулем (кликабельно):

Тут только подтяжки JTAG да отключаемый от аккумулятора делитель на резисторах на входе АЦП для измерения напряжения аккумулятора. Ничего примечательного, радует только подход к АЦП части, что её сделали отключаемой от аккумулятора и тем самым снизили саморазряд девайса.

Остальная часть с периферией и питанием (кликабельно):

Тут уже поинтереснее. Отмечу по пунктам интересные моменты:

  • На схеме отсутствует USB-UART микросхема, которая есть на новой ревизии платы, а LOG_UART выведен на контрольные точки;
  • Для питания модуля использована загадочная микросхема AM2408B, на которую я не нашел документацию, но судя по схеме включения — это Step Down (понижающий) до +3,3 В, входное напряжение, как написано на схеме, от +3,4 до 5,5 В, отчего потенциал аккумулятора будет использован не полностью, как в случае применения SEPIC DC-DC;
  • Включение DC-DC происходит подачей высокого уровня на вход EN посредством нажатия на любую кнопку, а уже нажатие на кнопку регистрируется через отдельные транзисторные инверторы (что, как по мне, нерационально, можно было поставить маломощный MOSFET-P на EN вход, а кнопками замыкать его затвор на землю, что также упрощает детектирование нажатия со стороны SoC, т. к. кнопки можно подключить через диоды, только сдвоенные — один к затвору, другой диод к пину IO, что значительно сократило бы количество компонентов на плате);
  • Контроллер заряда аккумулятора тоже используется китайский, хоть и уже более известный — TP4057, ничего особенного, но при изготовлении своего устройства лучше же применить что то более известное, к примеру MCP73831T.

В наличии же плата более новой ревизии, и интересно посмотреть, чем она отличается от v1.1. Я нарисовал приблизительную схему (отличие в типах некоторых элементов, типе контроллера заряда аккумулятора и DC-DC, китайские микросхемы мне лень рисовать, всё равно не пригодятся, поэтому поставил более известные и применяемые ;D ). Схема v1.2 неофициальная (кликабельно), нумерация условная, т. к. на плате её нет:

Схема в PDF — RAK611_Schematic_v1.2_MOD
Перечень элементов в Exel — RAK611_BOM_v1.2_MOD

Подключение кнопок, светодиодов и PWR_EN с прошлой ревизии не изменилось. На схеме только сделал пометку про подключение SWD пинов и общее расположение кнопок\светодиодов на девайсе. У CP2102 сделал примечание, куда реально должны быть подключены пины UART для функционирования LOG_UART, т.к. на новой ревизии платы НЕТ контрольных точек для LOG_UART, а смысла в CP2102, подключенном к другим пинам, мало.

Включаем

Подключаем аккумулятор, еще и USB можно подключить для полноты проверки. Нажимаем на любую кнопку в течение 0,5 — 1 сек. — по кругу засветились светодиоды, вроде всё нормально судя по инструкции:

B45-29.PNG

И на этом всё… как только не пробовал, в режим конфигурации не входит, выключить можно только вытащив аккумулятор.

Глянем, чего же он в LOG пишет (не зря же порезали дорожки к CP2102 и подпаяли их к LOG_UART):

=========================================================

ROM Version: 0.3
Build ToolChain Version: gcc version 4.8.3 (Realtek ASDK-4.8.3p1 Build 2003)

=========================================================
Check boot type form eFuse
SPI Initial
Image1 length: 0x3a88, Image Addr: 0x10000bc8
Image1 Validate OK, Going jump to Image1
BOOT from Flash:YES
SPI calibration
Find the avaiable window
Baud:3; auto_length:0; Delay start:0; Delay end:63
[SPIF Err]SpicNVMCalStore: The flash memory(@0x9080 = 0x0) is not able to be write, Erase it first!!

===== Enter Image 1 ====
SPI calibration
Find the avaiable window
Baud:2; auto_length:21; Delay start:0; Delay end:63
[SPIF Err]SpicNVMCalStore: The flash memory(@0x90b0 = 0x0) is not able to be write, Erase it first!!

SDR Controller Init
Test 0: No match addr 0xc9d38 => 0xf != 0xc
Test 0: No match addr 0x1f7c10 => 0x5 != 0xa
OTA addr 0x0 INVALID
load NEW fw 0
Flash Image2:Addr 0xb000, Len 188480, Load to SRAM 0x10006000
Image3 length: 0x107fe, Image3 Addr: 0x30000000
Img2 Sign: RTKWin, InfaStart @ 0x10006049

===== Enter Image 2 ====
Attempting to connect to SSID: RAK-24
interface 0 is initialized
interface 1 is initialized

Initializing WIFI ...
WIFI initialized

RTL8195A[Driver]: set ssid [RAK-24]
Attempting to connect to SSID: RAK-24

RTL8195A[Driver]: set ssid [RAK-24]
Attempting to connect to SSID: RAK-24

RTL8195A[Driver]: set ssid [RAK-24]
Attempting to connect to SSID: RAK-24

Судя по всему, плата пришла прошитая скетчем из Ардуино… :) Постоянно пытается подключится к RAK-24 и ни на какие нажатия кнопок не реагирует. Поэтому проверить работу стоковой прошивки не получилось, надо писать что-то своё, этим займемся в следующей статье.

Вывод

Задумка и внешний вид (корпус) — зачётные, такую вещь приятно держать и удобно использовать для мелкой автоматизации дома или в офисе. Реализация же как то подкачала, как и в схемотехнике есть спорные моменты, так и в конструктиве. Также досадно, что нет актуальной документации, бинарника прошивки для восстановления и сам девайс пришел с какой-то не тестовой прошивкой, которая не соответствует инструкции пользования.

В итоге устройство в таком виде можно использовать только, если вы готовы поковыряться в нём, написать свою прошивку (в этом плане Ардуино от RAK Wireless вам очень поможет, если не хотите запариваться, т. к. всё основное там уже давно есть) и мелкие недочёты.

На этом всё, спасибо, что прочитали! ;)

Ссылки

  • RAK WIKI — общее описание, примеры и немного документации;
  • Document Download — страница с документацией и мануалами, на модуль RAK473 отдельно;
  • RAK Shop — не реферальная ссылка на магазин RAK на площадке AliExpress;
  • RAK611 — не реферальная ссылка на этот девайс.
Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s