If you’re like me, and you listen to music on a Yamaha R-N602 network receiver via Qobuz, you will appreciate that the R-N602 can stream directly without needing a phone or tablet as an intermediary. Qobuz, with its detailed remastering, delivers the kind of sound quality that I prefer over other streaming services.
However, there’s a minor drawback: the R-N602’s display doesn’t show any track information—just a generic “Qobuz” label. I decided to fix this with a small, adaptable project using an Arduino R4 Wi-Fi and an LCD shield to display the track, artist, and album information in real-time.
Project Overview
The concept is straightforward: the Arduino connects to the same Wi-Fi as the R-N602, retrieves the currently playing track information from the receiver, and then displays it on a 2×16 LCD screen.
Here’s how it works:
1. Interfacing with the R-N602: The Yamaha receiver serves a web page in JSON format, containing details about the current track. By connecting to this page, the Arduino can extract the artist, track title, and album name.
2. Displaying the Info: The artist and album are initially shown one per line on the LCD. Then, the track name appears across both lines. If the information is longer than the screen’s width, it scrolls once to show the full text before switching to a truncated display.
3. Continuous Updates: The code loops to refresh the display periodically, keeping it in sync with the receiver’s current playback status.
Setting Up the Project
Here’s what you’ll need:
• An Arduino R4 WiFi and a compatible 2×16 LCD shield. I used these because they were to hand.
• To install some libraries needed by the project—WiFiS3, ArduinoHttpClient, ArduinoJson and LiquidCrystal.
• Access to your WiFi credentials, which are saved in a separate arduino_secrets.h file. Here’s how that file should look:
#define SECRET_SSID “Your Wifi SSID”
#define SECRET_PASS “Your Wifi Password”
Code and Demo
You can find the complete code for this project at yamaha-song.ino.zip. To see it in action, check out the demo video here: IMG_2071.mp4.
You’ll need to edit the code to put in your Yamaha’s IP address.
This project, while initially intended to add track info display to my setup, could be adapted for other similar use cases.
Improvements on the Horizon
There’s always room for some tweaks. Here are a few ideas I’ve been considering:
• Split track lines at a word: Ensuring clean breaks in text can make track info easier to read.
• Handle non-ASCII characters: tracks and albums often include accented characters—like “Florence sur les Champs-Élysées”—and properly supporting these would make them much more legible.
• Instant track info updates: As soon as a track changes, the displayed details should switch immediately, keeping everything in sync. This doesn’t look easy.
I’m leaning towards prioritizing non-ASCII character handling first. Many of the albums I enjoy feature accented characters, and ensuring they’re displayed correctly feels like a good improvement.
Enjoy tinkering, and happy listening!