[{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/708/original/IMG_4988.jpg?1742574926","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch1\u003eOverview\u003c/h1\u003e\n\u003cp\u003eWith all the newest features of Adafruit IO, WipperSnapper firmware, and the new Blockly Actions, you can create really complex projects without writing a single line of code. I've been working on a couple versions of smart lights to notify me of different things using NeoPixels. This project will focus on a super easy smart ambient lighting system that you can stick to the back of your computer monitor.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"alert","content":"\u003cp\u003eBlockly Actions on Adafruit IO is still under active development. We are doing a slow launch, and it may take a bit here before it is available to you.\u003c/p\u003e","metadata":{"class":"element alert-element build-alert alert-info","markdown":"Blockly Actions on Adafruit IO is still under active development. We are doing a slow launch, and it may take a bit here before it is available to you.","alert_type":"info"}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/709/original/adafruit_products_5645-02.jpg?1742578444","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch1\u003eComponents\u003c/h1\u003e\n\u003cp\u003eUsing just a few Adafruit components is all you need to create a really simple, but pretty powerful little notification system. We are gonna use a QT Py ESP32-S2 WiFi Dev Board to talk to Adafruit IO, a NeoPixel BFF for the QT Py, and finally a short NeoPixel strip with a JST connector pre-attached (so you can connect right up to the BFF board.\u003c/p\u003e\n\u003cp\u003eThe only soldering you will need to do is to attach the boards together. You can solder the boards together with the included pins, or pick up some female headers so you can detach the boards and use them on any future projects.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/5645","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/5325","metadata":{}},{"element_type":"product","content":"https://www.adafruit.com/product/3919","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch1\u003eDevice Setup\u003c/h1\u003e\n\u003cp\u003eGetting this all connected to Adafruit IO is super easy. Just go to Devices on Adafruit IO and click the New Device button. Find your QT Py, and follow the instructions to get the WipperSnapper firmware installed on your board.\u003c/p\u003e\n\u003cp\u003eOnce connected, you can go into the device, and click the New Component button. Search for and select NeoPixel. Then you really just need to assign A3 as the NeoPixel pin, and set the number of pixels to 30.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/725/original/New_NeoPixel_Component.jpg?1742916957","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003ch1\u003eTesting\u003c/h1\u003e\n\u003cp\u003eYou should now be able to play around with the colors. Choose different preset colors, adjust the brightness, use the color picker to see how it adjusts the color of the NeoPixels instantly. You can also use the color picker here to choose some good red/yellow/green colors that you like for notification colors. We will use these hex values in blockly to automatically set the LED colors.\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/726/original/NeoPixel_Testing.jpg?1742917229","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n        \u003ch1\u003eBlockly Setup\u003c/h1\u003e\n\u003cp\u003eNow you can use Blockly actions to automate the notification lights to whatever you want. To start with, I just want some nice, easy-on-the-eyes, ambient red lights that automatically in the evening. Doing this in Blockly actions is super easy. I just need to use the time trigger to have it set NeoPixel strip to red at 8pm ever evening.\u003c/p\u003e\n      \n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/744/original/2025-04-04_11-59-00.jpg?1743786336","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n        \u003cp\u003eIn the same way, we will then automatically turn off our ambient lighting at midnight.\u003c/p\u003e\n      \n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/745/original/2025-04-04_12-06-16-Off.jpg?1743786427","metadata":{}},{"element_type":"alert","content":"\u003cp\u003eThe time zone for the schedule trigger is set in your \u003ca href=\"https://accounts.adafruit.com/settings/profile\"\u003eAdafruit Account\u003c/a\u003e\u003c/p\u003e","metadata":{"class":"element alert-element build-alert alert-info","markdown":"The time zone for the schedule trigger is set in your [Adafruit Account] (https://accounts.adafruit.com/settings/profile)","alert_type":"info"}},{"element_type":"text","content":"\n        \u003ch1\u003eBlockly Advanced Setup\u003c/h1\u003e\n\u003cp\u003eYou can also do much more complex operations with your new ambient light. In my case, I have an air quality sensor I set up that sends data to Adafruit IO already. I am going to use the Air Quality Index number to set the lights. If the air quality in my house is good, I will set the lights to green, yellow if they are above above 0, and red when the reach a dangerous level.\u003c/p\u003e\n      ","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/001/727/original/Blockly_Setup.jpg?1742917479","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eHere you can see that any time my AQI feed gets new data, it checks to see if the AQI value is above certain levels. In this case, if it is greater than 35, turn on the red light. If it is greater than 12, turn on the yellow light. Otherwise just turn it to green to let me know that the air quality in the house is good.\u003c/p\u003e\n\u003cp\u003eNow, all I did was take some double sided foam tape and tape the strip to the back of my monitor so it reflects on the back wall. I plugged the QT Py into an extra USB port in the back of my monitor for power.\u003c/p\u003e\n\u003cp\u003eThis is just one example of the power of Blockly. I hope to have more examples out as we slowly roll out Blockly to more testers. Stay tuned!\u003c/p\u003e\n      \n\n\n\n\n\n\n","metadata":{}}]