{"id":442,"date":"2025-07-15T18:55:04","date_gmt":"2025-07-15T17:55:04","guid":{"rendered":"https:\/\/hobbies.wielenga.co.uk\/?p=442"},"modified":"2025-07-15T18:57:51","modified_gmt":"2025-07-15T17:57:51","slug":"schreibfaul1s-esp32-s3-miniwebradio-with-5-way-control-buttons","status":"publish","type":"post","link":"https:\/\/hobbies.wielenga.co.uk\/index.php\/2025\/07\/15\/schreibfaul1s-esp32-s3-miniwebradio-with-5-way-control-buttons\/","title":{"rendered":"Schreibfaul1&#8217;s ESP32-S3-MiniWebRadio with 5 way Control Buttons"},"content":{"rendered":"<p dir=\"auto\"><img decoding=\"async\" class=\"size-medium wp-image-443 alignnone lazyload\" data-src=\"https:\/\/hobbies.wielenga.co.uk\/wp-content\/uploads\/2025\/07\/miniweb-300x157.jpg\" alt=\"\" width=\"300\" height=\"157\" data-srcset=\"https:\/\/hobbies.wielenga.co.uk\/wp-content\/uploads\/2025\/07\/miniweb-300x157.jpg 300w, https:\/\/hobbies.wielenga.co.uk\/wp-content\/uploads\/2025\/07\/miniweb-1024x537.jpg 1024w, https:\/\/hobbies.wielenga.co.uk\/wp-content\/uploads\/2025\/07\/miniweb-768x403.jpg 768w, https:\/\/hobbies.wielenga.co.uk\/wp-content\/uploads\/2025\/07\/miniweb-1536x805.jpg 1536w, https:\/\/hobbies.wielenga.co.uk\/wp-content\/uploads\/2025\/07\/miniweb.jpg 1600w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/157;\" \/><\/p>\n<p dir=\"auto\">Schreibfaul1 created one of the best, if not <em>the<\/em> best, web radios. The only downside for me was the lack of button control.<\/p>\n<p dir=\"auto\">The only change I made was adding button control by duplicating the code used for the remote control. The <strong>left, right, up, down, and OK buttons<\/strong> essentially mimic the infrared remote control&#8217;s inputs. It&#8217;s probably not the cleanest integration, but it works for me \u2014 and <strong>might inspire more code-savvy folks to implement it properly.<\/strong><\/p>\n<p dir=\"auto\">Due to the limited number of available GPIOs, this may only work with TFT controller less than &#8216;7&#8217;<\/p>\n<p dir=\"auto\"><strong>All credit goes to Schreibfaul1 and others who contributed to this fantastic web radio project.<\/strong><\/p>\n<p dir=\"auto\">The controls can be implemented using individual buttons or a joystick-style 5-way button.(more compact)<\/p>\n<p dir=\"auto\"><img decoding=\"async\" class=\"alignnone wp-image-444 lazyload\" data-src=\"https:\/\/hobbies.wielenga.co.uk\/wp-content\/uploads\/2025\/07\/SW-TM-5WN-300x300.jpg\" alt=\"\" width=\"193\" height=\"193\" data-srcset=\"https:\/\/hobbies.wielenga.co.uk\/wp-content\/uploads\/2025\/07\/SW-TM-5WN-300x300.jpg 300w, https:\/\/hobbies.wielenga.co.uk\/wp-content\/uploads\/2025\/07\/SW-TM-5WN-150x150.jpg 150w, https:\/\/hobbies.wielenga.co.uk\/wp-content\/uploads\/2025\/07\/SW-TM-5WN-768x768.jpg 768w, https:\/\/hobbies.wielenga.co.uk\/wp-content\/uploads\/2025\/07\/SW-TM-5WN.jpg 1000w\" data-sizes=\"(max-width: 193px) 100vw, 193px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 193px; --smush-placeholder-aspect-ratio: 193\/193;\" \/><\/p>\n<p dir=\"auto\"><a href=\"https:\/\/github.com\/japywheel\/japywheel-ESP32-MiniWebRadio-with-buttons?tab=readme-ov-file\" target=\"_blank\" rel=\"noopener\">The project can be found on my GitHub here<\/a><\/p>\n<p dir=\"auto\">\n","protected":false},"excerpt":{"rendered":"<p>Schreibfaul1 created one of the best, if not the best, web radios. The only downside for me was the lack of button control. The only change I made was adding button control by duplicating the code used for the remote control. The left, right, up, down, and OK buttons essentially mimic the infrared remote control&#8217;s&hellip; <br \/> <a class=\"button small blue\" href=\"https:\/\/hobbies.wielenga.co.uk\/index.php\/2025\/07\/15\/schreibfaul1s-esp32-s3-miniwebradio-with-5-way-control-buttons\/\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":443,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-442","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-single-board-computing-sbc"],"_links":{"self":[{"href":"https:\/\/hobbies.wielenga.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hobbies.wielenga.co.uk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hobbies.wielenga.co.uk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hobbies.wielenga.co.uk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hobbies.wielenga.co.uk\/index.php\/wp-json\/wp\/v2\/comments?post=442"}],"version-history":[{"count":3,"href":"https:\/\/hobbies.wielenga.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/442\/revisions"}],"predecessor-version":[{"id":446,"href":"https:\/\/hobbies.wielenga.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/442\/revisions\/446"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hobbies.wielenga.co.uk\/index.php\/wp-json\/wp\/v2\/media\/443"}],"wp:attachment":[{"href":"https:\/\/hobbies.wielenga.co.uk\/index.php\/wp-json\/wp\/v2\/media?parent=442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hobbies.wielenga.co.uk\/index.php\/wp-json\/wp\/v2\/categories?post=442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hobbies.wielenga.co.uk\/index.php\/wp-json\/wp\/v2\/tags?post=442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}