Repository navigation
Card setup
The companion is configured from a microSD card. You write one text file on any computer, put the card in the slot, power the device; it reads the file on every boot, keeps what it read in its own flash, and writes a report back to the card. No console, no app, no keyboard on the screen.
- A microSD card of 32 GB or less, formatted FAT32. Cards of that size are FAT32 as sold, so a new one needs nothing. A larger card arrives as exFAT, which the device cannot read, and must be formatted FAT32 first; Windows' own formatter refuses that above 32 GB, so a smaller card is the easy path.
- A card reader on your computer, or a phone that mounts the card.
- The template file
sdcard/volumio.txtfrom the repository (raw: open it, "Save as", keep the namevolumio.txt).
-
Put the card in the reader. It shows as a drive (Windows: a letter such as
E:; macOS: under Locations in Finder; Linux: under/mediaor/run/media). -
Copy
volumio.txtto the root of the card: the top level, not inside a folder. -
Open it in a text editor (Windows: Notepad; macOS: TextEdit, in plain-text mode, Format > Make Plain Text; Linux: any editor) and fill in at least these three lines:
wifi_ssid = Your Network wifi_password = your password player = http://192.168.1.50:3000The player's address is its IP address, as shown in Volumio under Settings > Network, with
http://before and:3000after. Names ending in.localdo not work here: the device has no mDNS resolver. A fourth line,name = kitchen-panel, names the device in your router's device list; without it the device isespressif. Everything else in the file is optional; the template explains each line. -
Save. Eject the card properly (Windows: "Safely remove"; macOS: the eject arrow; Linux: unmount), then take it out.
-
Put the card in the device's slot and power the device. The screen lights within a few seconds, shows the network it joined and its address, and once the player answers, the face.
-
To see what the device made of the card, put it back in the reader and open
status.txtnext tovolumio.txt. It names the device and its firmware, every key it applied, every line it did not understand (with the line number), and whether the network was joined and at which address. It never contains the password.
The card can stay in the device or come out: the settings live in the device's flash once read. A card left in is read again on every boot, so editing it is how you change a setting; a card taken out leaves things as they were.
One key = value per line. Lines starting with # are comments. Everything after the first = is the value, spaces at both ends trimmed; there are no comments after a value, because # is a legal character in a password. A value wrapped in double quotes keeps its leading or trailing spaces. An empty value (rotation =) puts that setting back to its default. The file is UTF-8 and either Windows or Unix line endings are fine, as is the byte-order mark some Windows editors add.
| Key | Value | Default |
|---|---|---|
wifi_ssid |
The network's name | none: the device runs without a network |
wifi_password |
The network's password; empty or absent for an open network | none |
name |
The device's name on your network, as your router's device list shows it: letters, digits and hyphens, up to 30, no spaces | espressif |
player |
http://ADDRESS:3000 |
http://volumio.local:3000, which the device cannot resolve: set it |
rotation |
0, 90, 180, 270 degrees clockwise |
0 |
theme |
ink, dusk, studio, night
|
ink |
text_portrait, text_landscape
|
status text size, normal or large
|
normal |
gap_portrait, gap_landscape
|
bar gap, tight, default, roomy
|
default |
strip_portrait, strip_landscape
|
the strip, progress, stream, off
|
progress |
poll_ms |
how often to ask the player for its state, milliseconds | 500 |
debounce_ms |
the least time between two taps, milliseconds | 50 |
Keys are case-insensitive (WIFI_SSID works). A key the device does not know is reported in status.txt and ignored; so is a line without =.
status.txt will say which network it joined and at which address, and the screen says the same. If it says the network could not be joined, check the name and password for a typo, and that the network is 2.4 or 5 GHz Wi-Fi (both are fine) rather than something the device cannot do, such as a captive portal or an enterprise login. The password is only ever read from the card and kept in the device; once status.txt reports a join, you may delete the wifi_password line from volumio.txt if you prefer the card not to carry it.
The simulator reads the same file, companion-sim --card volumio.txt, and prints the same complaints about unknown keys and malformed lines. It is how the format is tested before it meets a card.
Volumio ESP Companion is free and open source, designed, built and maintained by one developer in his own time. If it has earned a place beside your player:
Provided as-is under the MIT licence; sponsorship is a thank-you, not a purchase: it buys no priority, no features and no support agreement.