Shima Knob
A float value dressed up like a synth
- float_val
- int_val
Shima Knob is a float primitive that looks like hardware. It renders a rotatable knob with an LED, a readout, and a color you pick, and it outputs that value as both a FLOAT and an INT. Underneath all the chrome it is exactly a primitive node - the KB's node-plumbing doc calls this family "one source, many consumers" - which is to say: it holds a number so that one value can fan out to five sockets without retyping it.
The reason you'd pick this over ComfyUI's built-in PrimitiveFloat is purely ergonomic. In a graph full of samplers and ControlNets, a labeled knob reads faster than a plain number box, and Shima leans into that with the whole "panel/PCB" aesthetic across the pack. If you're building template or island workflows and you want your CFG, strength, or denoise values to look like a control surface, that's the appeal. If you don't care about looks, this is a heavier dependency for a job the core does natively.
What to set
- value - the number itself. Default 0.0, stepping at 0.001 so it can hold fine-grained strengths.
- min_val / max_val - the knob's travel range, default 0 to 1. They define the widget's swing; they don't clamp anything on the backend, so be aware of that gap between what the knob implies and what the node enforces.
- step - how much the knob moves per click/drag tick.
- led_color / readout_color - yes, it's a colored LED. Defaults are a tasteful
#ffaa00amber. Make it green if you want, nobody's stopping you. - scale - a display size multiplier for the widget, not a value multiplier.
- show_readout - whether the numeric readout text is visible.
Outputs are float_val and int_val, the second being the rounded integer of the same value - handy when one consumer wants a float (a strength) and another wants an int (a seed or step count) and you don't want two separate primitives to keep in sync.
Install
Standard for the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf
then restart, or use ComfyUI Manager → search "Shima". No model downloads.
The honest take
A couple of caveats worth stating plainly. First, the backend execute just passes the value through - scale, min/max, and step are all frontend styling, so don't assume scale multiplies anything. Second, the visual knob leans on the pack's custom JS; if you're on the Nodes 2.0 frontend and the knob renders as a boring box, that's a known class of breakage across legacy-canvas packs, and the workaround is the classic renderer. And third - be honest about whether you need this. If you're not in love with the aesthetic, the built-in float primitive plus a note node gets you the same value with zero extra dependencies. Reach for Shima Knob when the dashboard look genuinely helps you read your graph, not because a knob sounds cooler.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| value | FLOAT | 0.000 | — |
| min_valopt | FLOAT | 0.0 | — |
| max_valopt | FLOAT | 1.0 | — |
| stepopt | FLOAT | 0.010 | — |
| led_coloropt | STRING | #ffaa00 | — |
| scaleopt | FLOAT | 1.00.1–10 | — |
| show_readoutopt | BOOLEAN | true | — |
| readout_coloropt | STRING | #ffaa00 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| float_val | FLOAT | — |
| int_val | INT | — |