iPod style wifi remote that uses ESPHome and Home Assistant to integrate with your smart home
- Controls music playback from Spotify and Sonos on local speakers
- Works as a remote for Roku TVs
- Toggles lights, runs custom scenes and scripts
- Shows the status of your smart home sensors
Supports many different hardware configurations:
- M5Stack Fire (no additional hardware)
- M5Stick C (no additional hardware)
- Lilygo T-Display T4 (no additional hardware, scrollwheel coming soon)
- Lilygo T-Display TTGO with Adafruit ANO Scrollwheel
Uses custom external components https://github.com/landonr/esphome-components
- Home assistant media player
- Speakers
- Sonos
- Spotify
- Screens
- Roku
- Kodi
- Samsung
- Android TV
- Speakers
- Light control, switch control
- Custom media sources
- Spotify recent playlists
- Sonos favorites
- Custom playlists
- Custom YouTube video lists
- Get Started - Learn how to build your own remote
- Discord - support / chat with the community and the team
t-display demo | m5stack fire demo | lilygo T4 demo |
---|---|---|
- Scroll through list and press center to select
- With a scrollwheel the top button goes back
- On M5Stack going up past the top of the list will go back
- A scroll bar appears if list extends past the screen.
- Screen returns to now playing after display sleeps
- Display sleeps after 10s of idle. Device sleeps after 2h of idle 💤
- Font size and UI size is adjustable in yaml 🔨
- Simple yaml configuration. all of the complicated code is included in other files 🛠
- Header is always shown at the top with info about the current state
Play / pause, next track, previous track, toggle shuffle and mute | Scroll for volume (with scroll wheel) |
---|---|
Manage speaker group | Change source from Spotify playlists and Sonos Favorites |
---|---|
-
Remote directional buttons up, down, left, right, select (with scroll wheel)
-
Scroll for volume (with scroll wheel)
-
Power, back, home, pause in second menu
-
Change source from tv source list
-
Optional soundbar support
-
Change current media player (tv or speaker) from home menu
- On boot the current media player is the first speaker found playing music or the tv
Toggle lights on and off | View sensors from Home Assistant | Run scenes and scripts |
---|---|---|
Lilygo T-Display Controls | Lilygo wiring |
---|---|
- Scroll to navigate in list menus and for volume on Now Playing Menu
- Charges with usb-c
- 1100 mah battery
- On average 3 days of battery life depending on use
- Adafruit ANO Directional Navigation and Scroll Wheel Rotary Encoder https://www.adafruit.com/product/5001
- Adafruit ANO Rotary Navigation Encoder Breakout PCB https://www.adafruit.com/product/5221
- 1100mah lipo https://leeselectronic.com/en/product/88345-battery-rechargeable-li-poly-37v-1100mah-jst-zh.html
- https://www.mouser.ca/ProductDetail/M5Stack/K007-V26?qs=TCDPyi3sCW1MGXwu64XB7w%3D%3D
- Uses the 3 buttons for navigation
- Simpler UI
- Uses internal RGB light for booting sequence and while on
M5Stack Fire Controls | M5Stack Fire Boot sequence |
---|---|
- https://www.aliexpress.com/item/32854502767.html
- Uses the 3 buttons for navigation
- Simpler UI
- Scrollwheel and battery planned
Lilygo T4 Controls |
---|
- Hackaday https://hackaday.com/2022/09/08/scroll-through-esphome-with-ipod-style-click-wheel/
- Hackster https://www.hackster.io/news/ipod-style-esphome-remote-3ca38edab2b4
- Reddit post https://www.reddit.com/r/homeassistant/comments/x59dcp/i_built_an_ipod_style_esphome_remote_for_home/
- Self Hosted - Episode 80 - Solving Whole Home Audio (around 30:00) https://selfhosted.show/80
- esphome https://esphome.io/
- iosevka font https://github.com/be5invis/Iosevka
- @ssieb's IP5306 esphome component https://github.com/ssieb/custom_components/tree/master/components/ip5306
- playlist queue count
- sonos night sound / speech boost
- graphs
- media album art (needs esphome/esphome#4710)
- weather screen
- home / room screen
- temp display
- rgb / temp lights
- media player
- hvac
- switches
- sliders
- settings menu
- esphome custom components
- rotary and button control code
- tdisplay battery / charging
- grid ui
- add sensors for player state
- current screen
- active player
- dark mode
- set state from service
- change player
- dark mode
PCBWay sponsors 3D Printing and PCB assembly costs on this project during the prototyping phase!
If you are interested in their awesome fabrication services please check them out. They offer
3D prototyping, PCB design and assembly, as well as CNC metal fabrication. Costs are reasonable and the quality is as good as it gets. Thank you PCBWay for sponsoring us and other fun projects!
cargo sponsors our website!
They make it super easy to keep things pretty and up to date! It’s honestly so much easier than managing our own site, highly recommended!