How To: Inexpensive ($10 US) WiFi RGB Bulb that works with Home Assistant

Effects are on the list, but haven’t really put much thought into it (what effects would be good?)
Transitions are already available, which allows you to transition to a new colour (or other setting) smoothly rather immediately.

I bought this FTDI to flash my Sonoff.
Will this FTDI work for this light bulbs too?

Personally I use a different one, but I have seen others successfully using it.

1 Like

Yes, that is the one i’m using, too.
Keep in mind that you have to set the voltage jumper to 3.3v (to not fry the esp :slight_smile: )

1 Like

Thanks for the tip!

Just fired up the Arilux from Banggood, they are really dim. They don’t give enough light to swap out my 680 lumen Ikea leds.

As a sidenote, they have a nice coldwhite, but the warmwhite is a very unnatural look. This was tested with the app, I’m not sure the bulbs are worth flashing yet, but maybe the warmwhite will be better on AiLight firmware.

Bought these bulbs and the supplies and everything, but the places were you have to solder are super small… Already messed up one bulb, when I soldered the two points too close. Any tips for soldering these? And what kind of solder did you guys use? Thanks in advance! @stelgenhof

I experienced the same. Too small to solder properly, that’s why I’m using a jig now.
See Sacha’s wiki or this one (3d-printable version here)

AiLight Jig v2 is here! It has been a while and wanted to let you all know that I designed a new version of my AiLight Jig.

The first version was made out of plywood/MDF and although it worked great, it didn’t always stay fit in the light’s housing due to wood being susceptible to natural conditions. So I decided to make a 3D printed version that has:

  • better/tighter fit in the lightbulb avoiding the pogo pins to move around
  • increased height, so that the pogo pins sit in more straight (flip side is that they are harder to put in and get out :slight_smile: )
  • larger opening which makes it easier to check whether the pogo pins are aligned or not.

This indeed means I am making them again for people that are interested. You can get it on my Etsy store here: https://www.etsy.com/listing/552709814/ailight-jigadapter-for-the-ai-thinker

Cheers! Sacha

2 Likes

Hi everyone - I purchased 4 of these bulbs and took a crack at it yesterday. I must be seriously in another dimension because I can’t even get as far as compiling.

When I compile, I’m getting an Error on the Dev environment. Normally this stuff would make sense but the line errors are so confusing.

The last error line goes something like this…

image

Would you mind sharing also the other errors? This single line is too little to tell what the issue is.

Sure as soon as I get home I’ll post the rest.

Question though, am I supposed to do anything with GIT? Your wiki says to download GIT as well.

I just feel like I’m missing a step.

Yes, if you are compiling the firmware yourself, Git is needed as some dependent libraries are being pulled via Github. If you don’t like to compile the firmware, a prebuilt version is also available (on the Releases Page on Github).

Here the full output. Sorry there seems to be some gibberish in there I can’t filter out.

So with GIT - am I to run anything in it? I downloaded GIT on my PC, but that’s about it.

Project
AiLight-master 2
html
lib
src
_mqtt.ino
_ota.ino
_web.ino
_wifi.ino
config.h
html.gz.h
light.ino
main.h
main.ino
.gitignore
.travis.yml
AiLight_Rainbow.ino
bs-config.json
build.py
CHANGELOG.md
gulpfile.js
LICENSE
package.json
platformio.ini
README.md


1
   •
   •
2
   •
   •
� ��@�@hP�@K@�$@���?��@�@���_���?�@J@LJ@a`��+@�0@�/@��`�|`�� ����)O8O!��*#K?D����R�a!��)(()/(()?8�/�������0
��� ����)�(�"�)2�(B�����BF.(�"))%)o)2�(�����2"�#(�")(o)?"O(?1��'3"O(?1��'�(?1��'3"O(?1��'�"�"O2 #0  t��(8*#)�8?H(����B2F (8*#)(e")"8'������(_=�����@
���a�a�a�a���)�9�I�-�(�  �b(�  B�/!��)?(?")O(?� �-%���� 
��(?ma`-%з�� Ц(?�" $A�" �--)_8�(?*#2(?  ` #)(�)(�)/(/8?������B"8_(H?q���B2
8_(/H?v���BB8(?*#)8/(?*#)/8(? #�)(V�!�!�!�!���P
������a'�a&� "�  )"�E��K/��҅&L^���|�)/"o"�~Y��(/fR"�cU��"�pS��<�Q��P��(?8OB/���)M��("�0H���F��(̂|�)/"/"o(/fD"�l?��"�d=���;��(?��)"�e7��<�5��("�02���0��(�b!,�1+�� B#1*�04 � 2b�������)O9_Io�(_e29_""O"��)�8O!� 
C@#�"O2( #��B@#� 0t #0  t"O"  "O(O�")O"��8O!� #0)O( !A)(V�(o29oV"�(O���0
���  q�a�)|�8B�|E��q�a� 
��� ����)O,)(O)/)�a(�"8/*#8�C1��:4� 89(e")8('3�(O���)?(O(  ̒(O2""/'F����0
���  ����)O(O1��9"/���=(O2b,)(O)/)�a(�2!��*#8�3H/:48� 9(e")8('3�����0
����1�!��� 9!��� 9�1�
�v%08x
h�@h�@-������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

3.8 s
platformio run
In file included from .piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:27:0:
/Users/nimeshpanchal/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip/include/lwip/tcp.h:318:18: error:   initializing argument 2 of 'void tcp_recv(tcp_pcb*, tcp_recv_fn)' [-fpermissive]
void             tcp_recv    (struct tcp_pcb *pcb, tcp_recv_fn recv) ICACHE_FLASH_ATTR;
^
.piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:169:28: error: invalid conversion from 'long int (*)(void*, tcp_pcb*, uint16_t) {aka long int (*)(void*, tcp_pcb*, short unsigned int)}' to 'tcp_sent_fn {aka signed char (*)(
void*, tcp_pcb*, short unsigned int)}' [-fpermissive]
tcp_sent(_pcb, &_s_sent);

^
In file included from .piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:27:0:
/Users/nimeshpanchal/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip/include/lwip/tcp.h:319:18: error:   initializing argument 2 of 'void tcp_sent(tcp_pcb*, tcp_sent_fn)' [-fpermissive]
void             tcp_sent    (struct tcp_pcb *pcb, tcp_sent_fn sent)ICACHE_FLASH_ATTR;
^
.piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:170:28: error: invalid conversion from 'void (*)(void*, long int)' to 'tcp_err_fn {aka void (*)(void*, signed char)}' [-fpermissive]
tcp_err(_pcb, &_s_error);
^
In file included from .piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:27:0:
/Users/nimeshpanchal/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip/include/lwip/tcp.h:321:18: error:   initializing argument 2 of 'void tcp_err(tcp_pcb*, tcp_err_fn)' [-fpermissive]
void             tcp_err     (struct tcp_pcb *pcb, tcp_err_fn err)ICACHE_FLASH_ATTR;
^
.piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:171:31: error: invalid conversion from 'long int (*)(void*, tcp_pcb*)' to 'tcp_poll_fn {aka signed char (*)(void*, tcp_pcb*)}' [-fpermissive]
tcp_poll(_pcb, &_s_poll, 1);
^
In file included from .piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:27:0:
/Users/nimeshpanchal/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip/include/lwip/tcp.h:320:18: error:   initializing argument 2 of 'void tcp_poll(tcp_pcb*, tcp_poll_fn, u8_t)' [-fpermissive]
void             tcp_poll    (struct tcp_pcb *pcb, tcp_poll_fn poll, u8_t interval)ICACHE_FLASH_ATTR;
^
.piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp: In member function 'long int AsyncClient::_connected(void*, long int)':
.piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:292:28: error: invalid conversion from 'long int (*)(void*, tcp_pcb*, pbuf*, long int)' to 'tcp_recv_fn {aka signed char (*)(void*, tcp_pcb*, pbuf*, signed char)}' [-fpermiss
ive]
tcp_recv(_pcb, &_s_recv);
^
In file included from .piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:27:0:
/Users/nimeshpanchal/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip/include/lwip/tcp.h:318:18: error:   initializing argument 2 of 'void tcp_recv(tcp_pcb*, tcp_recv_fn)' [-fpermissive]
void             tcp_recv    (struct tcp_pcb *pcb, tcp_recv_fn recv) ICACHE_FLASH_ATTR;
^
.piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:293:28: error: invalid conversion from 'long int (*)(void*, tcp_pcb*, uint16_t) {aka long int (*)(void*, tcp_pcb*, short unsigned int)}' to 'tcp_sent_fn {aka signed char (*)(
void*, tcp_pcb*, short unsigned int)}' [-fpermissive]
tcp_sent(_pcb, &_s_sent);
^
In file included from .piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:27:0:
/Users/nimeshpanchal/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip/include/lwip/tcp.h:319:18: error:   initializing argument 2 of 'void tcp_sent(tcp_pcb*, tcp_sent_fn)' [-fpermissive]
void             tcp_sent    (struct tcp_pcb *pcb, tcp_sent_fn sent)ICACHE_FLASH_ATTR;
^
.piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:294:31: error: invalid conversion from 'long int (*)(void*, tcp_pcb*)' to 'tcp_poll_fn {aka signed char (*)(void*, tcp_pcb*)}' [-fpermissive]
tcp_poll(_pcb, &_s_poll, 1);
^
In file included from .piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:27:0:
/Users/nimeshpanchal/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip/include/lwip/tcp.h:320:18: error:   initializing argument 2 of 'void tcp_poll(tcp_pcb*, tcp_poll_fn, u8_t)' [-fpermissive]
void             tcp_poll    (struct tcp_pcb *pcb, tcp_poll_fn poll, u8_t interval)ICACHE_FLASH_ATTR;
^
.piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp: In member function 'void AsyncServer::begin()':
.piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:848:30: error: invalid conversion from 'long int (*)(void*, tcp_pcb*, long int)' to 'tcp_accept_fn {aka signed char (*)(void*, tcp_pcb*, signed char)}' [-fpermissive]
tcp_accept(_pcb, &_s_accept);
^
In file included from .piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:27:0:
/Users/nimeshpanchal/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip/include/lwip/tcp.h:317:18: error:   initializing argument 2 of 'void tcp_accept(tcp_pcb*, tcp_accept_fn)' [-fpermissive]
void             tcp_accept  (struct tcp_pcb *pcb, tcp_accept_fn accept) ICACHE_FLASH_ATTR;
^
*** [.pioenvs/dev/lib/ESPAsyncTCP_ID305/ESPAsyncTCP.o] Error 1
========================== [ERROR] Took 3.34 seconds ==========================
 
================================== [SUMMARY] ==================================
Environment dev-ota     [SKIP]
Environment prod        [SKIP]
Environment prod-ota    [SKIP]
Environment dev         [ERROR]
========================== [ERROR] Took 3.34 seconds ==========================
 
Linter
Severity 	Provider 	Description	Line

Oh, I haven’t seen this before… How did you compile? Can you show me what command you issued or steps you took?

So I “believe” I followed the WIKI exactly as described.

Downloaded the ZIP, extracted and made changes to the config and platform files.

Withing PlatformIO, I clicked the “Build” option, and this is what I get. I tried on both a MAC and PC with same results.

I see. Never seen this before so let me try and see if I can replicate.

I can replicate the issue. Unfortunately there seems to be an issue with the ESPAsyncTCP library in combination with the new PlatformIO SDK version (2.1). Need to check what the proper fix for this is.

Ok. I hope we can find a fix. Let me know if you need me to do any further testing.

Any word on similar 9W bulbs? As a side note, how is the brightness on the Sonoff B1? Considering adding another 3 lights to my setup but need them to be bright.