Tutorial:  Building an IOT ESP32 Solar Powered WiFi Night Light – Part 2

Tutorial: Building an IOT ESP32 Solar Powered WiFi Night Light – Part 2

Parts List and what each Part Does in the Project!

Here is your chance to build a solar powered  WiFi remote control ESP32 based nightlight for use outdoors.   The full Solar Powered Nightlight kit comes with mounting pylons and a water proof enclosure.

This is a great beginners Kit!

This is an easy to build kit with no soldering required.

The Solar Powered Night Light is WiFi controllable using the REST interface built into the software.  For example:

Sending the command inn a browser (of course, using your IP# for your Solar Night Light):

you will get (assuming you have the right IP Address)

{"variables": {"solarVoltage": 1.52, "batteryVoltage": 4.14, "solarCurrent": 0.00, "batteryCurrent": 2.40, "loadCurrent": 1.20, "loadVoltage": 4.97, "currentLEDMode": 0, "darkLight": 0, "Version": "005"}, "id": "", "name": "SDL_ESP32_BC24_SOLARNL", "hardware": "esp32", "connected": true}

Look at all that information! Data! This tells us a lot about the solar power system and what is going on with the system! Not only it is cool to look at, it makes a great science project too.

This is a five part tutorial series:


The Kit contains the powerful ESP32 dual core processor mounted on the BC24 24 RGBW Programmable LED board with Grove Connectors!   No Soldering!

You can see and buy the entire kit here.

The Parts List and Descriptions

All these parts below are included in the full project kit (available here).  Parts included ( with the SwitchDoc Labs SKU):

NOTE:  The 3D Solar Panel Stand is not included in the kit.  However, you can download the 3D Print files from the SwitchDoc Labs Solar Panel Night Light Kit product page to print your own.

We also sell a 3D Print of the Solar Panel holders for those without a 3D Printer.

3D Print for BC24 Solar Powered Night Light Kit

NOTE:  A LiPo battery is NOT included due to shipping restrictions.  We suggest a 6600mAh battery with a JST2 connector such as:


Smaller batteries will work too.

2000mAh – https://www.adafruit.com/product/2011

2200mAh – https://www.adafruit.com/product/1781

4400mAh – https://www.adafruit.com/product/354

The larger the battery, the longer the system will run after being charged.   It will also last longer during cloudy conditions.  However, if you aren’t charging the big battery all the way during the day, it doesn’t matter very much.


Parts Pictures and Descriptions for the Solar Powered WiFi Night Light

The following pictures shows all of the parts in the BC24 Ultimate WiFi Night Light Kit.    Note the letters by each part.   We will refer to these part letters in the next part of this tutorial.

Part List and Identification

A – BC24 – This part contains the ESP32 processor, grove connectors and 24 Pixel RGBW LEDs (NeoPixel compatible).

B – SunAirPlus – This is the solar panel charger controller.  It also contains an INA3221 which allows us to monitor  all sorts of interesting things about the solar power system.  It detects Solar Panel Voltage/Current, Battery Voltage/Current, and the BC24 Voltage/Current.


C – Solar Panels (two) 330mA / 6V  – Two inexpensive solar power panels capable of generating 2W of power. 

D – Multi Solar Panel Connector Board (includes 20cm female to female JST-PH 2 cable)  – This is a diode protected connector board designed to connect up to 4 Solar Panels.This allows you to connect up to 4 solar panels with no soldering.

E – USB A to Micro Cable – Used to connect the SunAirPlus board to the BC24.


F – 1 Box of M3 120 PC Spacers – Used to mount various boards inside the mounting enclosure.


G – 1 Grove Cable – Female Header to Grove Connector – Used to connect the BC24 ESP32 to the SunAirPlus board to gather data from the I2C INA3221 on the SunAirPlus Board


H – Weather Proof Enclosure – 172mm X 172mm X 76mm – A clear fronted Waterproof, UV Resistant outdoor enclosure for your project.




Coming Next?

In the next article, we do the step by step assembly




%d bloggers like this: