LED Controller SP501e и его родня

sadman41
Offline
Зарегистрирован: 19.10.2016

Уже сентябрь, пора готовиться к новогоднему безумию.

sadman41
Offline
Зарегистрирован: 19.10.2016
Не комментируйте этот пост, пожалуйста, я ещё не завершил редактирование.
 
Не первый год на моей ёлке висит гирлянда из адресных светодиодов. Подключается, как водится, к самопальной коробке, в которой трудится не покладая пинов ATmega328. Претензий у меня к ней нет, но давно хочется чего-то современного - например порулить спецэффектами со смартфона. Хотел уже было сменить контроллер на ESP32, но Aliexpress  сбил меня с пути праведного, подсунув в ленте товаров чудо китайской легонькой промышленности - LED-контроллер размером со спичечный коробок, предназначенный для управления адресными светодиодами через облачный сервис. Оно, конечно, ардуинщику не к чему, если бы не одно "но" - в комментариях покупатель написал, что перепрошил контроллер. 
 
Такой вариант нам подходит. Расследование показало, что устройство построено на базе ESP8285 и имеет выведенный на "пятаки" UART и GPIO0. Вобщем, сами понимаете - надо брать.
 
Сказано - сделано. Заказ - ожидание - получение - вскрытие - проверка.
 
Итак, наш новый друг - SP501e. Спецификации приводить не буду, так как они, в основном применимы к прошивке от FairyNest, но она мне лично не особо понравилась.
 
Выглядит он как-то так:
 
Вот, что, на мой взгляд, самопальщику полезно знать об аппаратной части: 
   1) Питание DC5V~24V. Но есть особенность - сколько на вход подали, столько на ленту/страйп и пошло. Блочок не будет снижать 24V до 5V, просто спалит вашу иллюминацию. Микроконтроллер питается через понижающую схему. Силовые соединения выполнены так себе, так что имеет смысл заводить на страйп питание минуя контроллер и забирая с него лишь DATA+GND. Либо сразу соединить входные и выходные VCC/GND на одном пятаке;
   2) Имеется штатный выход для подключения страйпа для светодиодов без тактирования (clockless) - через трехпиновый разъем JST (вроде так). Объединен со входом RX ESP8285;
   3) Извне доступна кнопка, висящая на выходе TX ESP8285;
   4) Внутри корпуса скрыты еще 5 выходов для RGBWC лент. RGB - это понятно, W и C, похоже, Warm и Cold. Не знаю, не специалист в этом. По маркировке управляющую выходом деталь определить не удалось, но методом тыка определено, что работают они относительно VCC, т.е. очень похоже на open-drain.
 
Возможный минус - это не очень современный чип ESP8285. Как я понял из описания на сайте - это ESP8266 с интегрированной флеш-памятью на 1мб (ESP8285N08 / ESP8285H08) или 2 мб (ESP8285H16).  В моём экземпляре обнаружился ESP8285H16, т.е. версия с 2мб. Прошивается он прямо из Arduino IDE, поддержка приходит со штатной установкой ESP8266 Arduino Core. Испытатал на FastLed's Blink Example - всё шьется, блинкает. До Serial-а дотянутся не получилось, поэтому отладку прошивки лучше производить на чем-то другом.
 
Итого - приобретая контроллер SP501e, вы получаете фабрично изготовленную платформу в форм-факторе, позволяющую всунуть её практически в любую самоделку. На мега-светильник флеш памяти точно должно хватить.
 
Ниже несколько картинок с распиновкой. Для прошивки, если нет POGO-pins, к пятакам в группе UART припаиваем проводки или фрагмент пинхидера со слегка подогнутыми контактами (шаг пятаков не 2.54мм), RX/TX/GND подключаем к USB-TTL-свистку, BOOT коротим на GND, затем на вход через barrel-jack штатно подаем питание и делаем Upload из Arduino IDE. 
 
 
Распиновка:
   * GPIO1- TX, Button;
   * GPIO3 - RX, Data;
   * GPIO2 - Red color;
   * GPIO4 - Green color;
   * GPIO12 - Blue color;
   * GPIO13 - Warm white color;
   * GPIO14 - Cold white color;
   * VCC (UART group) - 3.3V only   
   * VCC (LED group) - 5-24V, directly connected to DC input;
 
Фото покрупнее:
 
 
 
Судя по надписи на плате - существует целое семейство SP5xxE. Одного его брата я заказал, приедет - разберу.
 
Для совсем ленивых
 
Ленивые задницы типа меня могут сразу зашить в SP501e прошивку WLED. Я проверил - влетает как по-маслу. Волшебные слова такие: 
esptool.py --baud 115200 --port COM4 write_flash 0x0 WLED_0.12.0_ESP8266_21.bin

 

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Про мелкий ремонт...

Если ваш скилл по припаиванию превосходит скилл по отпаиванию, то может так произойти, что в группе UART случайно оторвется "пятачок" RX (они, как оказалось, не сильно прочные). Вследствие чего неожиданно перестает работать штатный выход DATA и контроллер, прошитый WLED-ом перестанет управлять светодиодами.

Для относительно полноценного восстановления работоспособности понадобится тонкий провод, жало типа I (второй раз в жизни понадобилось) и воздержание от употребления спиртных напитков в течении трех дней. Если все условия соблюдены, то делаем так:

  

Затем инструктируем WLED гнать дату в выход 14 (или иной, если припаялись к другому каналу с транзистором) и радуемся жизни. Хардварно прошить уже ничего не выйдет, конечно, если не паяться напрямую к чипу ESP, но во WLED есть OTA...

Если же в вашей прошивке OTA нет, то она навек заточена в камне. Селяви. Учитесь распаивать нормально или юзайте POGO-pins. 

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Запытан брат SP501E -SP511E.

По контроллеру - то же самое, ESP8285H16, шьётся так же и тем же, что и предыдущий вариант. На 5 мм шире и длиннее. Вобщем, не радикально.

Схемотехника, в целом похожа и VCC идет прямо на светодиодную ленту. Отсутствуют выходы на RBGWC ленту, но есть две дополнительные кнопки, микрофон и IR-приемник. Продаются два варианта - с одним JST-хвостом и с двумя. Мой вариант - с одним. В случае с двумя хвостами - выходы идентичны, припаяны параллельно. Наверняка такой вариант удобен в отношении разводки питания, если допустимо раскинуть два страйпа в стороны.

Распиновка:
   * GPIO1- TX;
   * GPIO3 - RX, Data;
   * GPIO5 - IR-reciever;
   * GPIO2 - Button "On/Off";
   * GPIO13 - Button "M";
   * GPIO14 - Button "S";
   * VCC (UART group) - 3.3V only   
   * VCC (LED group) - 5-24V, directly connected to DC input;
  
  Куда идет микрофон - достоверно не отследил. Компараторов на плате не вижу, так что, видимо, микрофон заводится на единственный вход ADC - TOUT (6-й вывод чипа). 
 
Фото:

Если кому интересно, то батарейка для пульта - CR2025 или CR2032. Сам он какой-то несерьезный...

UPD: импровизированные POGO-pins для тех, у кого их нет. Приготовьте заранее минимальную прошивку с Web-OTA (хотя бы из примеров ESP82266 core для Arduino IDE), прижмите пальцем к контактам на плате и быстро заливайте HEX-файл. Далее обновляйте прошивку через OTA. Не забывайте про питание 3,3V и необходимость перевода МК в режим прошивки - джампер как раз замыкает GND и GPIO0 (BOOT). 

sadman41
Offline
Зарегистрирован: 19.10.2016

H803WIFI - еще один вариант перешиваемого LED-контроллера. Он не из семейства SP5xxE, но, на мой взгляд, очень даже не плох. Возможно, что и получше предыдущих.

С предыдущими изделиями его роднит способ соединения - WiFi и всё та же сквозная схема питания лент - что подаём на вход, то получаем и на выходе.

Отличия:
- Используется микроконтроллер ESP8266 + 4Mb flash (против ESP8285 с 2MB);
- Есть два выхода под управление лентой;
- Установлены нормальные винтовые колодки для подключения лент проводом нужного сечения, а не тем, что навязывают в SP5XXE;
- Колодка выхода продумана отлично. Без извращений подключается не только начало ленты, но и ее конец по питанию;
- Дорожки VCC/GND с  другой стороны платы очень широкие, но если нет им доверия, то можно усилить их AWG18 - место для укладки имеется;
- На плате есть монтажные отверстия, позволяющие получить прямой доступ к двум GPIO;
- На обратной стороне платы распаяны два SMD-светодиода, присоединённые к другим двум GPIO;

Не понравилось сложность открытия корпуса, для чего были задействованы две кредитки и медиатор. Защелки на всех четырех сторонах крышки... Лучше заранее запастись пластиковой лопаткой.

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

Большие и жирные плюсы - это свободные GPIO, 4Mb флеша и два выхода на ленту, что позволяет или управлять тактируемыми светодиодами типа WS2801 или независимо двумя лентами.

Картинка не моя, но распиновка вроде совпадает с тем, что я протыкал:

   * GPIO1- TX, DAT;
   * GPIO14 - CLK;
   * GPIO0 - свободно;
   * GPIO2 - свободно;
   * VCC (UART group) - 3.3V only;
   * VCC (LED group) - 5-24V, directly connected to DC input.
 
На обратной стороне:
 
 
   * GPIO4 - катод D2, зеленый светодиод;
   * GPIO5 - катод D1, красный светодиод;
 
Обратите внимание, что светодиоды управляются минусом. Их аноды через резисторы (разного номинала - 330 Ом для D1 и 100 ом для D2) заведены на выход AMS1117, т.е. на +3.3V.
 
 
Для прошивки приколхозил кусок пинхидера, в который втыкается перемычка GPIO0-GND и заводятся провода от USB-TTL. Если устанавливать кнопку для управления, то, пожалуй, разумно было бы ее вместо этой перемычки ставить. Но, как говорится, умная мысля приходит опосля.
 
 
Через GPIO2 легко подключается IR-приемник. Проверено на пульте от SP511E. WLED его видит.
 
 
Вот, вобщем-то и всё, больше интересных бюджетных LED-контроллеров подходящих под самоделки, на Али мне не попадалось. 
 
 
b707
Offline
Зарегистрирован: 26.05.2017

хорошо бы еще ссылку

sadman41
Offline
Зарегистрирован: 19.10.2016

b707 пишет:

хорошо бы еще ссылку

В магазинной теме, чтобы не мусорить тут:  http://arduino.ru/forum/obshchii/interesnoe-na-aliexpress-i-ebay-chast2?...

b707
Offline
Зарегистрирован: 26.05.2017

спасибо, видел

tranz
Offline
Зарегистрирован: 01.02.2022

На гитхабе появилась прошивка для контроллера sp511e

https://github.com/scottrbailey/WLED-Utils/blob/gh-pages/sp511e_wled.md

sadman41
Offline
Зарегистрирован: 19.10.2016

Бету SoundReactive залил ещё в декабре. Работает, на микрофон реагирует, в быту функционал не стал востребованными. Слишком специфические музыкальные композиции нужны для него - с резкими стуками, бряками и пр.

tranz
Offline
Зарегистрирован: 01.02.2022

Да, есть нюанс: памяти хватает только на 266 светодиодов.