UPL_remote software

UPL_remote software

UPL_remote


  • New UPL_remote version 1.1 with built-in webserver for wireless remote control from phone/pad/browser

UPL_remote is the software that runs on a pc/laptop/rpi4 as a remote control for the UPL96ETL but with full graphical user interface for:


  • importing ID3v2.3.0 track metadata including cover image from USB stick to database on pc
  • present a graphical grid view for showing CDs on currently inserted USB stick
  • present a graphical grid view for showing CDs that are already imported from other USB sticks
  • selecting a CD and see all tracks of selected CD
  • select a track and start playing this track
  • control block to play, pause, stop, next CD, previous CD, shuffle mode, and advance or go back for currently playing track (click on track timeline)
  • search for any available metadata on CDs on current USB stick and on the other imported CDs that are not on current USB stick and click to goto the CD info
  • display all metadata available per track in a separate window by clicking on hidden tag icon when hovering track title just before the track-time with mouse pointer.
  • reload a USB stick into database so you can re-import any changes that you have made to that stick, e.g. change cover or add extra CDs.
  • click on CD cover in grid view to goto CD view of clicked CD, click on cover in CD view to go back to grid view
  • when browsing CDs, click the now-playing CD to goto CD view of CD that is currently playing or is selected
  • the PC used to run UPL_remote does not have to be connected to internet and can be used stand-alone, choose a silent pc/laptop or rpi4 (use headless with rdp remote screen).
  • currently supported operating systems for UPL_remote: OSX 64 bit, Windows8/10 64 bit, Linux 64 bit and PI OS on RPI4.
  • when user selects an action (play/pause/stop) one request packet is sent to UPL96ETL and one response packet is sent back to the pc/laptop from UPL96ETL, then there is radio-silence until next action.
  • when UPL96ETL auto continues to next track or CD one packet is sent to UPL_remote software, then there is radio-silence until the next track.
  • UPL_remote software can be closed and if USB connection is not disconnected (power supply) the UPL96ETL will continue to play (sequential, shuffle CD or shuffle track mode), at any time you (re)start UPL_remote software while UPL96ETL is playing, click the "now playing" icon to see current CD.
  • Version 1.1 now has a built-in webserver for wireless remote control from phone/pad/browser.

Creating your first USB stick with ID3v2.3.0 wav files


Before you start converting music to be used with the UPL96ETL and UPL_remote software it is advisable to first try to create a single USB test stick with one or two test CDs.

For this we will use kid3 Audio Tagger software: https://kid3.kde.org/

This software will run on Linux/Windows/OSX.

It allows you to create and check ID3v2.3.0 tagged wav files, you will probably use other software like XLD (OSX) or dbpoweramp (Windows) to batch convert tagged lossless audio files to wav + ID3v2.3.0 but kid3 can be a valuable tool to check if other batch conversion software does the job correctly.

You can also use Kid3 to convert other tag formats to the required ID3v2.3.0 format for use with the UPL96ETL.

If you rip your music from the CDs you bought (not copied/modified/re-edited/digital remastered) you will have a very reliable source for your wav files.

Depending on your rip software to convert your CDs to wav files, you might need to convert to or add ID3v2.3.0 metadata to the wav files.

With Kid3 you can select your ripped CD folder and get all official metadata from multiple sources (Discogs, Amazon, MusicBrainz, gnudb and other) put into the wav files automatically, including cover art !

Please try to use cover art in a sensible way, do not select huge jpg/png cover images in the metadata tags.

Most conversion software will allow you to scale images down to a sensible size, somewhere around 50KB to 100KB and 500x500 px should be fine for JPG.

Although PNG cover images are supported by ID3v2.3.0, they are usually 8-10 times bigger !

This will cause a significant slowdown of import of USB stick metadata.

Normally you can expect to read about 1 CD every 2 to 3 seconds.

With PNG this will be a lot slower as the UPL has much more data to send to the UPL_remote software.

USB stick requirements


Please don't use cheap USB sticks, they often take ages to write files to stick, and sometimes are just not fast enough for the UPL96ETL to read. 44.1/16 files might have drop-outs, and high-res files might not play at all.

Please use a higher grade, e.g. Kingston DTSE9 G2 32/64/128 GB, upto 100MB/s read speed.

The USB stick needs to be formatted as FAT32, normally the USB-stick will already be formatted as FAT32, we recommend not to re-format the stick to FAT32 again.

EX-FAT is NOT supported.

Note: some USB sticks like Sandisk will not work with initial UPL firmware and needs to be updated to newer version.

USB stick folder structure


Note: this folder structure is required, if this structure is not used then the UPL96ETL will NOT work.

Note: the first 4 chars from the USB stick label are used as unique USB stick identifier so don't give sticks the same label !

The UPL96ETL supports 99 CDs with max. 99 tracks per CD on a single USB stick.

Both CD and track REQUIRE 2 digit notation, so 01, 02, 03 etc.

Split multiple CDs/SET in to separate CDs, the original tracks are still available in meta-data (e.g. TPOS).

In the root there can be max. 01..99 CD folders.

In each CD folder there can be max. 01..99 tracks wav files.

Both CDs and Tracks must start with 2 digits but after that you can use album name track name artist or any other text, note: this text will not be used by the UPL96ETL.

Only the first 2 digits for both cd/track are used to play track or extract metadata from tracks by the UPL96ETL

Example CD/Track layout on USB stick, first 4 chars of label could be used to categorize USB sticks, e.g. JZ for "JAZZ" or BL for "BLUES", the first 4 chars of each USB stick have to be unique !

USB stick label: JZ01

01 Casssandra Wilson - Another Country

01 Red Guitar.wav

02 No More Blues.wav

03 O Sole Mio.wav

04 Deep Blue.wav

05 Almost Twelve.wav

06 Passion.wav

07 When Will I See You Again.wav

08 Another Country.wav

02 Jenny Evans - Nuages

01 Mad About The Boy.wav

02 Remember Me.wav

03 Nuages.wav

04 Our Revels Now Are Ended.wav

05 Within You, Without You.wav

06 Flow My Tears.wav

07 I'm Alone After All.wav

08 The Feeling Of You.wav

09 Veris Leta Facies.wav

10 No Love Without Tears.wav

11 What Joy.wav

Install the UPL_remote software


Install the UPL_remote software using the links to the software on the bottom of this page.

Only install the UPL_remote software using these links and don't load them from any other url !

For OSX unzip the software and move the upl_remote software to Applications and start from there.

For Linux double-click the AppImage to start (you might have to set executable attribute to AppImage file).

For Windows run the Setup file and install.

For PI-OS RPI4 uncompress file into the pi user folder and use the upl_remote desktop shortcut to create an executable desktop icon.

Connect the UPL96ETL to the computer/laptop to be used as remote control for the UPL96ETL using USB cable, do not insert (test) stick yet !

The UPL96ETL uses the CP2102N communications chip. For Windows and OSX you will need to install a driver, Linux/PI OS (RPI4) should contain driver as standard.

Download driver here: https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

#For OSX, Linux and PI OS (RPI4) you can select comm port by name in the UPL_remote software.

OSX: /dev/tty.SLAB_USBtoUART

Linux: /dev/ttyUSB0 but you need to set permissions to get access to port. For Ubuntu/Linux: sudo adduser $USER dialout and reboot, for AppImage on favorites bar you will probably need to install the AppImage launcher and assign icon manually. Download UPL_remote app icon here: https://www.ecdesigns.nl/icon.png

For Windows you need to lookup the COM port after installing the driver.

Use the device manager and select Ports (COM & LPT) and locate "Silicon Labs CP210x USB to UART Bridge (COM4)"

You should check which COM port is used for the CP210x, e.g. COM4.

When you install the UPL_remote software it will startup with de settings page as there are no imported CDs available.

All metadata is stored in a database named "upl96etl.db" in your home directory and will be created automatically.

Initially there is no Hardware/Firmware version visible in the Settings section.

We will use these 2 fields to check for successful connection to the UPL96ETL.

Now choose a comm port using the Serial ports dropdown.

This is used to select the UPL96ETL comm port from the available comm ports.

Note: the "-" is normal state of dropdown box but the selected comm port is visible at Serial port name:

This port is stored in the database so you should only have to select the port once.

Press the Reload button after you have selected your comm port.

This should fill-in the Hardware and Firmware versions, if so then communication with UPL96ETL is ok.

If this fails, try to disconnect/reconnect UPL96ETL and try again.

If this still fails try to re-install driver and check if port is available.

If the UPL_remote software is connected to UPL96ETL there will be a message "Insert USB stick to use or to import" in the Messages section of the settings page.

Now you can insert the (test) USB stick you prepared as outlined above.

The message should now change in "Downloading new USB stick: JZ01"

Now the import of the inserted USB stick should begin.

If all goes well you should end-up with a CD cover grid of the CD/CDs on the USB Stick.

grid view

Using the UPL_remote software


The UPL_remote software is kept as simple as possible and can be used to play CDs (wav+id3v2.3.0) on the USB stick inserted into the UPL96ETL, show cover-art and check extra id3 data per track.

All known (imported) CDs that are not on the inserted USB stick can still be viewed (cover now has red diagonal line across cover art to indicate that CD is not on inserted USB stick) and metadata per track can still be displayed.

Searching works on complete database of al known tracks using all ID3v2.3.0 metadata available.

The result is split in two parts, the green results are on the USB stick that is inserted in the UPL96ETL, the red results are on the other USB sticks (not in UPL96ETL).

Click on the results to goto the found CD in CD view.

To show track metadata in CD view hover mouse just before the track time on the right, a tag icon will show, click to view the track metadata.

grid view

Download USB stick again to database


When importing USB-sticks you might discover missing cover-art, or maybe later on you want to add or remove some CDs to/from a USB stick, for this you will need to click the "Download .... again" button on the settings page.

#If you need to remove a stick (e.g. you lost a stick) you can create a new stick and rename label to stick you want to remove from database, then insert this stick into the UPL and click on the "Delete .... from database" button on the settings page.

Playing CDs


grid view

In CD view with the control block below the active/now playing CD you can start/pause/stop track, choose next track, choose previous track, choose next CD, choose previous CD, and choose shuffle mode (none -black-, CDs -green-, all tracks on all CDs -blue-). While in shuffle mode you can use the next track button and then the play button to skip to the next shuffled track.

The control block also shows a track time as a time line.

You can click anywhere on the time line to continue playing from that position.

Easy way to skip track is click near end of track, next track will be played.

When you are browsing through the CDs that are on the stick (CD View) you can hover with mouse over track number and click play icon to start playing this track.

When the UPL_remote software has focus, and you are in the CD view screen, then you can also use the space bar to play/pause current track.

All imported CD/track info is stored in the upl96etl.db database in your home folder.

If you want to move player to another PC, you could try to copy the database to the other PC to retain all metadata. The selected communication port is also stored in the database. You might have to set the communication port again if UPL96ETL will not connect.

Also, if you need to re-import all USB sticks again for some reason, you could delete the upl96etl.db.

A new empty db will be created when you start the UPL_remote software again, and you will need to re-select comm port.

Search in metadata


grid view

Use the search icon in the top left corner of the screen to find CDs that contain specific metadata.

You can search on normal metadata like ablum title, album artist and track name.

Depending on how many metadata was inserted into the wav file you might also be able to search for things like year, genre, commercial info, artist website, catalog number, involved people list etc.

After selecting search wait for the cursor to appear in the search field. Then type the text to search for and press Enter.

If metadata was found the results will be shown, the green results are found on stick that is currently in the player. The red results are found in the database but are not on the inserted stick.

Click on any result to goto the CD that contains the metadata. If it is from the green results you can directly play the CD.

Built-in webserver


The webserver can be used to wirelessly control the UPL96ETL from a phone/pad/browser.

You can enable the webserver in the settings screen. Use the checkbox to enable/disable the webserver. This setting will be stored in the database and is also used when UPL_remote is started again.

The url to use on your phone/pad/browser should be displayed after IP: e.g. 192.168.178.84:8000 in the settings screen.

Note that your PC might ask permisson to use the 8000 port, for Windows you need to open port 8000. This port is often used for web access. Also note that the webserver uses http only and should not be used outside your local subnet.

Your pad/phone/browser that runs the browser based remote software provided by the UPL_remote webserver has to be on same subnet and use http e.g. http://192.168.178.84:8000

Although the web based remote software will be updated automatically when there is a change in UPL_remote software (e.g. new cd or track) it might sometimes be necessary to reload page e.g. when connection has been lost.

Operation of the web based remote software is similar to the PC based version.

The web based remote software only shows the CDs that are on the USB stick currently inserted into the UPL96ETL. Use the top left icon to browse CDs.

grid view

Use the top middle icon to show the now playing cd.

Use the round "UP/DOWN" icon to show currently playing track

grid view

Or show all tracks (you will probably have to scroll to see control buttons).

grid view

Using the top right search icon you can search the database for all CDs, even the ones that are not on the stick currently inserted in the UPL96ETL.

grid view

Clicking on the green results will directly show the cd, the red results can be used to find USB stick name that contains search results.

On a pad/phone you can make a browser based app full screen by pinning/storing shortcut on homepage.

Then use the shortcut to start browser based app in fullscreen. When you need to reload page (e.g. after lost connection) you can restart the browser based app by closing the app and then re-launch the browser baser app again using the shortcut.

Changes in UPL_remote software 1.1.0


Changes from 1.0.0 to 1.1.0

  • Introduced two new buttons in settings screen to directly download stick again (refresh) or to directly delete stick from database
  • Modified the now playing screen to show artist of now playing song (compilation CDs)
  • Introduced new checkbox to enable/disable the new built-in webserver, the webserver serves the web application to mobile devices by providing html, js and css to mobile device (or Firefox, Chrome and Safari browser). The web app runs locally in the (mobile) browser but requests data and updates for now playing track from the UPL_remote application. The communication uses both normal requests to UPL_remote and long pull requests that enable bi-directional communication between webserver and client (web app).
  • UPL_remote now also supports RPI4 running latest PI-OS. We also tested RPI3 but communication seems to be limited to 921600 baud while UPL_remote uses 3000000 baud, this resulted in doubeled loading time for downloading USB-stick info into the database. Also the preformance of the app was a bit sluggish but usable (including web server). To use UPL_remote on an RPI3 anyway you would need to use a different U96ETL firmware + different UPL_remote both with slower communication. If interested in this setup please let us know.
  • UPL_remote now uses Jimp instead of Sharp for generating graphics (covers). Covers are now pre-generated when downloading USB stick to database. The pre-generated covers can now be directly displayed from the database without conversion.
  • USB-sticks without ID3v2.3.0 tagging but with the required folder structure containing wav files can now be imported, covers will show the empty CD cover and CDs and tracks only show the CD and track numbers.

Links to UPL_remote software download


Apple: https://www.ecdesigns.nl/upl_remote-osx-x64-1.1.0.zip

Linux: https://www.ecdesigns.nl/upl_remote-linux-x64-1.1.0.zip

Windows: https://www.ecdesigns.nl/upl_remote-win32-x64-1.1.0.zip

RPI4 PI OS: https://www.ecdesigns.nl/upl_remote-linux-armv7l-1.1.0.tar.gz

Links to UPL96ETL firmware update software


Apple: https://www.ecdesigns.nl/stm32loader-osx-x64.zip

Linux: https://www.ecdesigns.nl/stm32loader-linux-x64.zip

Windows: https://www.ecdesigns.nl/stm32loader-win32-x64.zip

Link to latest firmware


Latest firmware: UPL-108

Download the latest firmware zip file, extract this file and use the included readme.txt instructions to update the UPL96ETL firmware.