It is done! The final version of the hardware sits on my living room wall in a nice wooden frame. The software works, too! Apart from the fact that SoundCloud don’t give out new API keys to developers of apps everything works perfectly. It just means that I have to search for a new random API key myself and save it to my Arduino Programm running on the WeMos. Also I had to tweak the php script running on my webserver. Remember that the Arduino gets the actual number to display from this php script because it doesn’t have sufficient memory to calculate it on-board. So php does the “heavy lifting” for it. SoundCloud API has some wonderful quirks to work around. The list of tracks it returns for a given user has 50 entries max. If a user has more tracks, you must use a paginated variant of the API call. This way you get multiple answers. But: in the chunks of 50 tracks some of the tracks can occur in two different chunks. So you have to check if you encountered a given track ID before, and only if not save that track’s play_count.
Download the php and Arduino files:
Still there remains a discrepancy between the plays my script calculates and the plays shown in the official SoundCloud “Pulse” App. This is due in to some hidden (non-public but scheduled for release) tracks that have a few plays which are not returned by the API call.
Hurra!, all is good now: