Spotify app for M5Paper

  • Application to monitor and control a Spotify client using the M5Paper.
    Note: This is not itself a Spotify client, it cannot stream Spotify through the M5Paper.

    Three screen layouts available, show below.
    Initial Spotify authentication through a built-on webserver, then refresh token saved to EEPROM and should function independently.

    Polls Spotify to update data at one of two compile-time configurable rates, depending on whether there is currently an active Spotify device found or not. Shuts down after configurable interval with no active client found if running on battery.

    You need to create a (free) developer account and client app with Spotify, and approve access of this application to your Spotify account.

    Requested scopes are:

    • user-read-private
    • user-read-currently-playing
    • user-read-recently-played
    • user-read-playback-state
    • user-modify-playback-state

    Code available at
    Based on original M5Spot project by Cosmic Mac available at

    Icons by icons8.

    Landscape, big art
    Landscape, small art
    Portrait, big art

  • This looks amazing, just what I need. Thanks!

    Does it support multiple accounts or just one?

  • @bwubs Just one, which you have to specify when compiling the app.

  • I finally have some time to look into putting this on my m5paper, but i'm unable to compile it. I'm getting the following error message:

    fatal error: WiFiMulti.h: No such file or directory

    Do you have any idea whats going wrong? I've tried searching the web for WiFiMulti, but I cannot find the library it's part of.


  • @bwubs This is part of the arduino-esp32 package:, you should have that installed already.

  • I have been trying to get this project up and running for a few days. I had to change the definition of the version in the code and then I was able to flash the code successfully via the Arduino IDE.
    Now I have problems with the refresh token. Has anyone used the code again? Were there any adjustments in the API that I overlooked?
    I think this project is totally cool, but I can't get it to run properly. Would be grateful for any help.
    Kind regards