[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-1-en-105":3,"doc-seo-392495-105":53,"doc-detail-392495-en":127},{"code":4,"msg":5,"data":6},0,"success",[7,14,19,24,29,34,39,44,49],{"id":8,"doc_module":9,"doc_module_name":10,"category_name":11,"show_sort_weight":12,"slug":13},11,1,"Template","Presentations",90,"presentations",{"id":15,"doc_module":9,"doc_module_name":10,"category_name":16,"show_sort_weight":17,"slug":18},12,"Resumes",80,"resumes",{"id":20,"doc_module":9,"doc_module_name":10,"category_name":21,"show_sort_weight":22,"slug":23},14,"Invoices",70,"invoices",{"id":25,"doc_module":9,"doc_module_name":10,"category_name":26,"show_sort_weight":27,"slug":28},15,"Posters",60,"posters",{"id":30,"doc_module":9,"doc_module_name":10,"category_name":31,"show_sort_weight":32,"slug":33},16,"Social Media",50,"social-media",{"id":35,"doc_module":9,"doc_module_name":10,"category_name":36,"show_sort_weight":37,"slug":38},17,"Forms",40,"forms",{"id":40,"doc_module":9,"doc_module_name":10,"category_name":41,"show_sort_weight":42,"slug":43},18,"Letters",30,"letters",{"id":45,"doc_module":9,"doc_module_name":10,"category_name":46,"show_sort_weight":47,"slug":48},21,"Paper Templates",5,"papers-templates",{"id":50,"doc_module":9,"doc_module_name":10,"category_name":51,"show_sort_weight":4,"slug":52},158,"General","general-158",{"code":4,"msg":54,"data":55},"ok",{"site_id":56,"language":57,"slug":58,"title":59,"keywords":60,"description":61,"schema_data":62,"social_meta":120,"head_meta":122,"extra_data":124,"updated_unix":126},105,"en","automatic-twitch-on-air-sign-tutorial","Automatic Twitch On-Air Sign - Tutorial","","Automatic Twitch On-Air Sign guide explains how to detect whether a specific Twitch channel is currently streaming using Twitch’s API. It outlines how a microcontroller can query the stream status, then activate NeoPixels (or simple LEDs) to signal “on air.” The document also covers adapting the approach by changing the API URL to target other streams, and discusses practical considerations for SSL and device choice using Feather ESP8266/WINC1500 options.",{"@graph":63,"@context":119},[64,80,102],{"@type":65,"itemListElement":66},"BreadcrumbList",[67,71,74,77],{"item":68,"name":69,"@type":70,"position":9},"https://docshare.wps.com","Home","ListItem",{"item":72,"name":10,"@type":70,"position":73},"https://docshare.wps.com/template/",2,{"item":75,"name":11,"@type":70,"position":76},"https://docshare.wps.com/template/presentations/",3,{"item":78,"name":59,"@type":70,"position":79},"https://docshare.wps.com/template/automatic-twitch-on-air-sign-tutorial/392495/",4,{"url":78,"name":59,"@type":81,"image":82,"author":87,"headline":59,"publisher":90,"fileFormat":93,"inLanguage":57,"description":61,"dateModified":94,"datePublished":95,"encodingFormat":93,"isAccessibleForFree":96,"interactionStatistic":97},"DigitalDocument",{"url":83,"@type":84,"width":85,"height":86},"https://docshare.wps.com/thumbnails/automatic-twitch-on-air-sign-tutorial/392495.png","ImageObject",442,249,{"name":88,"@type":89},"Well Done","Person",{"url":68,"name":91,"@type":92},"DocShare","Organization","application/pdf","2026-10-23","2026-09-25",true,{"@type":98,"interactionType":99,"userInteractionCount":101},"InteractionCounter",{"@type":100},"ViewAction",9,{"@type":103,"mainEntity":104},"FAQPage",[105,111,115],{"name":106,"@type":107,"acceptedAnswer":108},"What does the Automatic Twitch On-Air Sign project do?","Question",{"text":109,"@type":110},"It connects to the Twitch API to determine whether a user is currently streaming. If a live stream is active, it turns on NeoPixels (or LEDs) to display an “on air” indication.","Answer",{"name":112,"@type":107,"acceptedAnswer":113},"How do you check a different Twitch channel with this method?",{"text":114,"@type":110},"The guide explains that you can change the last part of the API URL to point to another stream. The same endpoint returns JSON status for the selected channel.",{"name":116,"@type":107,"acceptedAnswer":117},"Which hardware options does the tutorial recommend and why?",{"text":118,"@type":110},"It recommends using a Feather ESP8266 or WINC1500, with Feather M0 ATWINC1500 & ESP8266 working best. The need for an SSL connection to twitch.tv is highlighted, while avoiding OAuth/API keys is emphasized.","https://schema.org",{"og:url":78,"og:type":121,"og:title":59,"og:site_name":91,"og:description":61},"article",{"robots":123,"canonical":78},"index,follow",{"doc_id":125,"site_id":56},392495,1791740525,{"code":4,"msg":5,"data":128},{"doc_id":125,"user_id":129,"nickname":88,"user_avatar":130,"doc_module":9,"category_id":8,"category_name":11,"doc_title":59,"doc_description":61,"doc_content":131,"file_id":132,"file_url":133,"file_type":134,"file_size":135,"view_count":101,"is_deleted":4,"is_public":9,"is_downloadable":9,"audit_status":9,"page_count":35,"language":136,"language_code":57,"site_id":56,"html_lang":57,"table_of_contents":137,"faqs":138,"seo_title":139,"seo_description":61,"update_tm":140,"read_time":141},5909892210082,"https://ap-avatar.wpscdn.com/avatar/56001069da27c9f41e8?x-image-process=image/resize,m_fixed,w_180,h_180&k=1789614185077863061","Automatic Twitch On-Air Sign  \nCreated by lady ada  \n[https://learn.adafruit.com/automatic-twitch-on-air-sign](https://learn.adafruit.com/automatic-twitch-on-air-sign)  \nLast updated on 2024-06-03 01:53:16 PM EDT  \n©Adafruit Industries Page 1 of 17  \nTable of Contents  \nOverview 3  \n\n| • Previous projects\u003Cbr>Twitch API | 4 |\n| --- | --- |\n| Querying API | 6 |\n| Final Sketch | 11 |\n| • Sketch Explanation\u003Cbr>• Configuration\u003Cbr>• Setup\u003Cbr>• Loop\u003Cbr>Sign Assembly | 13 |\n\n©Adafruit Industries Page 2 of 17  \nOverview  \nTwitch has changed their API so this tutorial will no longer work as written  \nWe're doing a lot of streaming lately, and I wanted to make a sign that would let people know when we're on air.  \nAll this guide will do is connect to the Twitch API and determine if the user is currently streaming- if so, the Feather will turn on some NeoPixels (you can also just use LEDs if you like) to light up the sign.  \nYou can easily extend this to, instead of parsing for a live stream, display the stream name, number of viewers, game-being-played or anything else available from the Twitch API ([https://adafru.it/lTd](https://adafru.it/lTd))  \nI did this project as an IoT-Tuesday project and livestreamed it on Youtube, you can watch it here:  \n(It turns out the SSL failure on ESP8226 is a timeout not an encryption issue, so you can also do this project with an ESP8266!)  \nPrevious projects  \nWe did this once already with a raspberry Pi to be able to connect to YouTube or UStream's API but it really does require quite a bit of hacking ([https://adafru.it/lTf](https://adafru.it/lTf))  \n©Adafruit Industries Page 3 of 17  \nI wanted to make something simpler, all-in-one, using a Feather ESP8266 or WINC1500. In the end, the Feather M0 ATWINC1500 & ESP8266 worked best, since you need to have an SSL connection [to twitch.tv](to twitch.tv) but at least you dont need any OAuth or API keys!  \nTwitch API  \nLucky for us, instead of forcing us to use OAuth or API keys or sacrificing chickens, twitch makes it really easy to see what's going on with any stream. Yay!  \nAll you have to do is go to [https://api.twitch.tv/kraken/streams/adafruit](https://api.twitch.tv/kraken/streams/adafruit) ( [https://](https://)[ ](https://)[adafru.it/lTc](adafru.it/lTc)) and you'll be able to see the current status of the adafruit stream. Just change the last part of the url to see another stream  \nThe data will be a json package, in ascii text. For example, if the stream is active:  \n©Adafruit Industries Page 4 of 17  \n{\"stream\":{\"_id\":20082214992,\"game\":null,\"viewers\":  \n0,\"created_at\":\"2016-03-09T02:51:06Z\",\"video_height\":540,\"average_fps\":30,\"delay\": 0,\"is_playlist\":false,\"_links\":{\"self\":\" [https://api.twitch.tv/kraken/streams/](https://api.twitch.tv/kraken/streams/)[ ](https://api.twitch.tv/kraken/streams/)ladyada1337\"},\"preview\":{\"small\":\" [http://static-cdn.jtvnw. net/previews-ttv/](http://static-cdn.jtvnw. net/previews-ttv/)[ ](http://static-cdn.jtvnw. net/previews-ttv/)live_ user_ladyada1337-80x45.jpg\",\"medium\":\" [http://static-cdn.jtvnw. net/previews-ttv/](http://static-cdn.jtvnw. net/previews-ttv/)[ ](http://static-cdn.jtvnw. net/previews-ttv/)live_ user_ladyada1337-320x180.jpg\",\"large\":\" [http://static-cdn.jtvnw. net/previews](http://static-cdn.jtvnw. net/previews)ttv/live_ user_ladyada1337-640x360.jpg\",\"template\":\" [http://static-cdn.jtvnw. net/](http://static-cdn.jtvnw. net/)[ ](http://static-cdn.jtvnw. net/)[previews-ttv/live_user_ladyada1337-{width}x{height}.jpg](previews-ttv/live_user_ladyada1337-{width}x{height}.jpg) \" [}](}) ,\"channel\":  \n{\"mature\":null,\"status\":null,\"broadcaster_language\":null,\"display_ name\":\"ladyada1337\",\"game\":n 113575809,\"name\":\"ladyada1337\",\"created_at\":\"2016-01-23T00:38:01Z\",\"updated_at\":\"2016-03-09T02 [www.twitch.tv/ladyada1337](www.twitch.tv/ladyada1337) \",\"views\":11,\"followers\":0,\"_links\":{\"self\":\" [http://](http://)[ ](http://)[api.twitch.tv/kraken/channels/ladyada1337](api.twitch.tv/kraken/channels/ladyada1337) \",\"fo","cbCaii6bAWeIr9IL","https://ap.wps.com/l/cbCaii6bAWeIr9IL","pdf",1561207,"English","# Overview\n## Previous projects\n## Twitch API\n## Querying API\n## Final Sketch\n## Sketch Explanation\n## Configuration\n## Setup\n## Loop\n## Sign Assembly","[{\"question\":\"What does the Automatic Twitch On-Air Sign project do?\",\"answer\":\"It connects to the Twitch API to determine whether a user is currently streaming. If a live stream is active, it turns on NeoPixels (or LEDs) to display an “on air” indication.\"},{\"question\":\"How do you check a different Twitch channel with this method?\",\"answer\":\"The guide explains that you can change the last part of the API URL to point to another stream. The same endpoint returns JSON status for the selected channel.\"},{\"question\":\"Which hardware options does the tutorial recommend and why?\",\"answer\":\"It recommends using a Feather ESP8266 or WINC1500, with Feather M0 ATWINC1500 \\u0026 ESP8266 working best. The need for an SSL connection to twitch.tv is highlighted, while avoiding OAuth/API keys is emphasized.\"}]","Automatic Twitch On-Air Sign - Tutorial | PDF",1790370406,6]