Uncle Magic's Liquid Turntable

Uncle Magic's Liquid Turntable: User Guide#

A motorized platter that turns in time with your music and glows in any colour you choose. Tell it the tempo (from your show software, or by tapping a button), and the platter turns at a speed that matches the beat while a ring of LEDs lights it. Everything can be driven from the knobs on the panel, from a phone or laptop, or from show-control software.

Document status. Written from the design and the firmware built on 2026-10-03. The controls and numbers below are what the firmware is built to do. They have not yet been checked on a fully assembled unit, so expect to adjust a few details (for example, how the platter feels when it starts and stops) once one is running. For how the unit is built, see the Hardware Overview.

1. Quick start#

  1. Check the connections, with the power off. The motor cable, the LED ring cable and the panel controls are plugged in, and the network cable is connected (or you have Wi-Fi set up, see section 8).
  2. Switch on. The unit starts stopped: the platter does not move and the LEDs show the starting colour solid (red at full brightness unless you changed it). This is normal.
  3. Start the platter. Turn the main knob clockwise a few clicks. The platter begins to turn and speeds up smoothly. (Or press Start on the phone page, below.)
  4. Give it a tempo. Tap the TAP button in time with the music four times or so. The platter settles to a speed that matches your taps. (If your show software is already sending tempo, the platter follows that and you don't need to tap.)
  5. Pick a colour. Turn the HUE knob to choose a colour, SAT for how rich it is, and VAL for how bright.
  6. Stop. Press the main knob. The platter slows to a stop.

To control it from a phone, open http://liquidturntable.local/live in a browser on the same network. If that address doesn't work, see section 6.

2. The panel#

ControlTurnPress
Main knob (speed)Changes speed. Each click is 1% of full tempo speed. Turning past zero reverses the platter.Stops the platter.
HUE knobChanges colour. 120 clicks make one full trip round the colour wheel.Resets to red.
SAT knobChanges how rich the colour is (0% = white, 100% = full colour), 1% per click.Toggles white. The first press makes the light white; the next press puts the colour back as it was.
VAL knobChanges brightness, 1% per click.Resets to 100%.
TAP buttonSets the tempo by tapping (see section 4).

The panel also has spare connections for four more knobs. They are not used by the current firmware.

3. Running the platter#

How fast does it go?#

The platter turns one revolution every 12 beats. So the tempo sets the speed:

Tempo (BPM)Time for one revolutionPlatter speed
6012 s5 RPM
908 s7.5 RPM
1206 s10 RPM
1405.1 s11.7 RPM
1704.2 s14.2 RPM
204 and above3.5 s17 RPM (the limit)

Above about 204 BPM the platter can't keep up with the beat. It stays at its top speed of 17 RPM, and the phone page shows a warning.

The speed knob#

The main knob sets how much of that tempo speed you want, from 0% to 100% either way:

Smooth starts, stops and changes#

The platter is heavy, so every change of speed is eased in: starting, stopping, changing tempo, turning the knob, and reversing. From a standstill to 10 RPM takes about a second, and a stop from top speed takes about a second and a half. A reversal slows down, turns round and speeds up again without the motor ever switching off.

Reverse direction (setting)#

If "clockwise" turns the platter the wrong way, tick Reverse motor direction on the settings page (see section 6). This is remembered.

4. Tempo: how the platter knows the beat#

The unit takes its tempo from the first of these that is available:

  1. Show software over the network (OSC /bpm). The normal way to run a show.
  2. A tempo-controller feed (such as the tempo slider in Resolume). Used if the first is missing.
  3. Tapping. Used when neither of the above is sending.

Tempo only changes the speed. It never starts or stops the platter: that is always your decision, with the knob or the phone page.

Tap tempo#

Tap the TAP button, or press Tap on the phone page, in time with the music.

On the phone page, the line under the tempo tells you where it is coming from: from OSC /bpm, from OSC tempo controller, or local (tap / set).

Starting tempo#

When the unit switches on it uses a starting tempo (120 BPM until you change it on the settings page) until it hears something better.

5. Lighting#

The LED ring shows one colour, set by the HUE, SAT and VAL knobs, by the sliders on the phone page, or by show software. The unit sends the colour to the lighting controller inside (running the open-source WLED software) as soon as it changes, and repeats it every few seconds.

6. Controlling it from a phone or computer#

The unit has a small web server. You need a phone, tablet or computer on the same network.

Finding it#

Try these in order:

  1. Open http://liquidturntable.local/. This works on Windows 10 and later, Macs, iPhones and iPads, and Linux. Some Android phones don't support it.
  2. Look in your router's list of connected devices for liquidturntable and open that address (for example http://192.168.1.50/).
  3. As a last resort, connect a USB cable to the controller board and read its log: it prints "ETH got IP" or "Wi-Fi got IP" followed by the address.

The live page (/live)#

Open http://liquidturntable.local/live. It is made for a phone and refreshes about once a second.

ItemWhat it does
Tempo (big number)The current BPM, with where it came from underneath.
Platter lineActual speed in RPM, the speed setting as a percentage, and the direction.
StartSets the speed to 100% (the platter eases up to it).
StopStops the platter.
Slower / FasterChanges the speed by 5%. These never cross zero, so they won't reverse the platter.
ReverseReverses direction (slows, turns round, speeds up).
TapSame as the TAP button.
BPM box + Set BPMTypes in a tempo (20 to 500). It holds until a show-software tempo arrives.
Hue / Saturation / Brightness slidersSet the colour.
Colour temperature sliderWarms or cools the whole light, 2000 to 10000 K (6500 = no change). Like the other colour controls, it holds until the unit is restarted, when it returns to the setting on the settings page.
Bottom lineThe Ethernet and Wi-Fi addresses and the Wi-Fi signal strength.

The documents on the unit#

This guide and the hardware overview are stored in the unit itself, so they are there when you have no internet. Open the User guide or Hardware link at the top of the settings page (or go to http://liquidturntable.local/docs/USER_GUIDE.html). They are the same documents, in dark colours, and ask for the same password as the other pages.

The settings page (/)#

Open http://liquidturntable.local/. The top shows the current tempo, direction, colour, firmware version and addresses. The page is dark, with tabs across the top: Status, Network, Show (OSC and the lighting controller), Colour, Motor and Security. The tabs are all one form: Save & Reboot, always at the bottom, stores every tab at once and restarts the unit (give it about 10 seconds). The smooth-motion slider on the Motor tab is the exception: it applies and saves as you move it.

SettingWhat it is for
HostnameThe unit's name on the network (liquidturntable unless you change it). Letters, digits and hyphens only. See several turntables.
Static IP, Gateway, Subnet maskLeave at 0.0.0.0 to get an address automatically (recommended).
Wi-Fi network name and passwordA network to join, tried before the built-in ones. See section 8. Tick Open network for one with no password.
OSC listen portWhere show software sends tempo and colour. Default 3335.
Use JSON over serialLeave ticked: the lighting controller is on the board. Untick only to drive a separate, networked WLED device, then enter its address.
Starting colourThe colour and brightness the light shows at switch-on. Pick any colour; a darker shade starts dimmer, white means no colour, black starts with the light off. The knobs, buttons and phone page change it from there.
Colour temperatureThe switch-on setting. Warms or cools everything the light shows. 6500 is neutral (no change), lower is warmer (candle is about 2000, tungsten lamps 2700 to 3200), higher is cooler and bluer, up to 10000.
Starting BPMTempo used at switch-on.
Max speedTop platter speed, in steps per second (1,813 is about 17 RPM). Most people never change this.
Reverse motor directionFlips which way the platter turns.
New passwordSee below.
Smooth-motion floor (slider under the form)The slowest speed the platter will turn at. Drag it to feel the difference; it changes straight away and is saved when you let go. Lower is smoother at very slow speeds.

Password#

The pages are open to anyone on the network until you set a password. Set one on first use: user name admin, at least 8 characters. After that every page asks for it. Firmware updates are disabled until a password is set.

Other pages: /log shows the unit's recent activity (useful when something is wrong). A bar at the top stays in view as you scroll: Live switches the automatic refresh on and off (turn it off to read or copy a line without the page moving), Clear empties the log, and Save .txt downloads it as a text file. And /update is for firmware updates.

7. Show-control software (OSC)#

The unit listens for OSC messages on UDP port 3335 (changeable), on Ethernet and Wi-Fi at the same time. Numbers may be sent as floats or integers.

AddressValueEffect
/bpm20 to 500Sets the tempo. The preferred source.
/composition/tempocontroller/tempo0.0 to 1.0Resolume's tempo slider, mapped to 20 to 500 BPM. Used when /bpm is not arriving.
/scaleEncoder0.0 to 1.0 (wraps)Acts like turning the main knob. Every 0.0125 is one click.
/scaleZeroanythingStops the platter.
/directionChangeanythingReverses direction. Ignores repeats within a quarter of a second.
/hue0.0 to 1.0Colour (wraps round).
/saturation0.0 to 1.0Colour richness.
/value0.0 to 1.0Brightness.
/colourtemp (or /colortemp)2000 to 10000Colour temperature in kelvin: 6500 is neutral, lower is warmer and more orange, higher is cooler and bluer.

The unit also sends two messages, as a broadcast to port 3336 on the local network, so other equipment can react to the tap button:

AddressValueWhen
/tap1Every time the TAP button (or the phone page's Tap) is pressed.
/tapbpmtempoWhenever tapping sets a new tempo.

How "stale" is decided: a /bpm feed that stops for 60 seconds is dropped in favour of the tempo controller; a tempo-controller feed that stops for 1 second is dropped in favour of tapping. When a feed is dropped, the last tempo stays in force until something new arrives. The first /scaleEncoder message after switch-on only records where your control is; it doesn't move the platter.

8. Network setup#

Ethernet is the most dependable link and is used for show work. Plug the unit into your network or router and it asks for an address automatically (DHCP).

Wi-Fi is optional. The unit tries these networks in this order, giving each up to 15 seconds:

  1. The network set on the settings page, if any.
  2. The networks built into the firmware (set by whoever built it).

If none can be found or joined, it waits 15 seconds and starts again from the top, so the preferred network is picked up as soon as it appears. The log (/log) shows each attempt and why it failed (for example "network not seen" or "wrong password"). Wi-Fi works well within a room; for timing-critical tempo, Ethernet is steadier.

Several turntables on one network#

Every unit is called liquidturntable until you change it, so the first one answers at http://liquidturntable.local/. When a second unit starts, it asks the network whether that name is taken. If so it quietly uses liquidturntable-1, the next one liquidturntable-2, and so on. You can see which name a unit is using at the top of its settings page and of the phone page, and in the log.

Names are first come, first served, so which unit gets which number depends on which was switched on first. To give each turntable a fixed name, open its settings page, type a different Hostname (for example stage-left and stage-right), and press Save & Reboot. Do this once per unit, connecting to them one at a time if need be (by their addresses).

A fixed address. If you want one, set it on the settings page, or (better) reserve an address for liquidturntable in your router.

If you can't reach the unit at all (a wrong fixed address, or a forgotten password): switch the unit off, hold down the TAP button, switch on, and keep holding for 5 seconds. This clears the password and puts Ethernet back on automatic addressing. Other settings are kept.

9. Power and safety#

The unit needs two external DC supplies, plugged into the power connector:

Switching on and off

Hazards and precautions

Fuses. The board has two replaceable car-style blade fuses, labelled on the board: F1, 2.5 A (motor and electronics) and F3, 15 A (LED ring). Fit the rating printed beside each. Both take the standard (ATO) size, so the board can't stop you putting them in the wrong way round: check the labels.

10. Care and maintenance#

11. Troubleshooting#

ProblemThings to try
Nothing happens at switch-onCheck both supplies and the fuses (F1 and F3). Check the power connector is fully home.
The platter doesn't moveIt starts stopped: turn the main knob up, or press Start on the phone page. Check the speed on the phone page isn't 0%. Check the motor cable.
Platter turns the wrong wayTick Reverse motor direction on the settings page.
Platter doesn't follow the tempoLook at the source line on the phone page. Above about 204 BPM the platter is at its speed limit. At speed below 100% the platter runs slower than the beat on purpose.
Motor buzzes but doesn't turnCheck that the motor cable is plugged in properly, and that the motor really is wired A+, A−, B+, B− in order (see the Hardware Overview).
Tap button does nothing to the tempoShow software is sending a tempo, which takes priority. The tap is still sent out as a network message.
The ring stays darkCheck the 5 V supply and fuse F3. Brightness may be at 0%. See the WLED notes in the appendix.
The ring flashes white at switch-onIn WLED, turn off "Turn LEDs on after power up".
Colours don't changeThe lighting controller may not have started, or its settings are wrong (appendix). Check /log for "WLED".
Colour keeps going backYou changed it in WLED's own page. The unit puts its colour back within 10 seconds. Change it from the unit instead.
Two turntables and the wrong one answersEach unit has its own name (liquidturntable, liquidturntable-1, ...), shown at the top of its phone page. Give each a fixed hostname on its settings page.
Can't open the web pagesTry the other forms of the address (section 6). Make sure your phone or computer is on the same network. Then try the TAP-button reset in section 8.
Wi-Fi won't connectOpen /log over Ethernet and read the Wi-Fi lines. "Network not seen" means out of range or the wrong name; "AUTH_FAIL" means a wrong password.
Forgot the passwordUse the TAP-button reset in section 8.
Firmware update refusedA password must be set first. Use the .bin file, not the .merged.bin.

12. Specifications#

Tempo range20 to 500 BPM
Platter1 revolution per 12 beats; top speed 17 RPM (adjustable); slowest speed about 0.6 RPM
Speed setting0 to 100% of tempo speed in either direction, 1% per click
MotorNEMA 17 bipolar stepper, driven at 800 mA per phase, 1/32 steps
Lighting178 RGB LEDs (SK6812), colour set by hue, saturation and brightness
NetworkEthernet 10/100, plus optional Wi-Fi (2.4 GHz); web pages on port 80, OSC on UDP 3335
Name on the networkliquidturntable by default (liquidturntable.local); changeable; numbered automatically if taken
Power in24 V DC (1 A or more) and 5 V DC (up to about 11 A)
FusesF1 2.5 A and F3 15 A, standard (ATO) blade type
Controls4 rotary knobs with push buttons, 1 tap button

Appendix: one-time WLED setup#

The lighting controller runs the free WLED software. Whoever builds or installs the unit should set this up once. (The full details are in the project README.)