Categories
Uncategorized

A Real USB Knob and Virtual Knobs

Back in 2021 I built this USB controller featuring a rotary encoder that can turn endlessly in both directions. I sell the S1 Controller on Etsy.

Update: There are now two new versions: S1D Controller and S1A Controller.

If it’s programmed as a USB device it can act like a mouse scroll wheel, which I discovered some people love for controlling analog-style knobs on-screen. Typically someone will have a DAW with a bunch of dial in the interface where they can adjust them by putting their mouse pointer over one and then using the mouse scroll wheel. But some people really like the feel of turning an actual know… So we can do that!

With the S1 Controller you just put your mouse over a control and then turn the knob on the S1 Controller and the knob on-screen changes value. Along the way people would ask if the S1 Controller would work with their software, so I made this for people to test things: raster.github.io/knob

Basically if you can control that knob with your mouse scroll wheel, we can program the S1 Controller to work for you. It’s that simple. (I’m a huge fan of simple devices.)

The S1 Controller can also be programmed as a USB MIDI device. Some people use it to control specific parameters in their DAW. Typically we set the knob to output MIDI CC3 (from 0 to 127), and the button to send 127 on CC9. (But we can use any CC number, or noteOn/noteOff, etc. Anything MIDI really.)

I’ve been pleased that so many people have wanted a physical control for an on-screen UI element. As much as we love what computers can do for us and the capabilities they provide, it’s still nice that the analog world (or the desire to emulate it) hasn’t completely disappeared.

(Oh, the code for the virtual knob can be found here: github.com/raster/knob. It uses the JavaScript pure-knob from Andre Plötze)

Categories
Uncategorized

S3 Game Controller

Here’s another custom controller that was requested by someone. They were interested in the S1 Rotary Controller but wanted three knobs, and wanted potentiometers instead of encoders. No problem!

Update: There are now two new versions: S1D Controller and S1A Controller.

The main edit to the S1 was to widen the device to accommodate three knobs instead of one.

Here’s a photo of the device in use that I got from the customer. It’s attached to his larger game controller with some 3M double sided tape and it controls the X,Y,Z axes for the flight simulation game IL-2 Sturmovik.

Enjoy the renders below.

Categories
Uncategorized

1/2/3 USB Controller

Here’s the story on this one. A local tradeshow company bought some of my controllers about six years ago. Since that time I’ve worked with them on other projects where I was the client, and I’ve worked for them (in various capacities) on other occasions.

Back in December the owner got in touch with me to purchase a few controllers and I got them built and programmed that night, and delivered the next day. Tradeshow exhibits can change on a dime, so he then texted a day after that with a more custom request. We texted around 5pm and by 9pm I had a device built and programmed and ready to be dropped off the next morning so they could get it installed over the weekend.

It’s not the prettiest thing I’ve built lately, but speed of delivery was the primary goal with this one. I also took some photos and wrote up a small manual to describe the operation and installation of it. Below are some of the notes from the docs.

The 1/2/3 USB Input Device consists of three buttons (with wires) and one controller box with a USB cable connected to it.

Each button connects with wires to the solderless snap connectors on the box. All of the black wires go into the large connector, and then the yellow wire(s) from buttons 1, 2, and 3 each go into the corresponding numbered connector.

The snap connectors have orange levers that open to insert the wire, and then close to lock the wire in place. Make sure the wire is inserted all the way. Once you lock the lever in place give the wire a light tug. If it comes out it was not inserted all the way. Open the lever and try again.

If longer wires are needed just strip the ends so you have bare wire, and twist them securely onto the ends of the wires connected to the buttons and wrap with tape. Then strip the other end and insert into the solderless connectors.

Note: The wires connected to the buttons do not have polarity, but one is black and one is yellow to simplify making the connections to the box. As long as one wire from a button goes to ground, and the other goes to a numbered connection, it will work. Color coding was implemented so that making the connections is easier.

If a longer (or shorter) USB cable is desired, the enclosure can be opened and a new Micro USB cable can be swapped for the existing one. Note that strain relief was added to the USB cable to prevent damage to the controller board.

A few more notes: I just happened to have this plastic enclosure in the shop which was handy. It’s been sitting on a shelf for years and it saved me the trouble of building a custom enclosure. (I often 3D print or laser cut an enclosure, but this was enough of a rush job I didn’t want to spend time doing that.)

The connectors I used are not Wago connectors but “Glutoad” connectors. They are cheaper and not as good, but I had a bunch in the shop so I used them. I know the tradeshow company has used Wago connectors before so I figured this would be familiar to them.

I tend to write documentation like this not just for the client, but for myself. Chances are they might want another one in the future and the docs help me remember exactly what I built. In a previous life I built exhibits that needed to be supported for five years or more, so some documentation was always required. Reading the docs now I realize they are not great, but again, this was a rush project so I figures something was better than nothing.

Categories
Uncategorized

JoyToKey with USB Buttons

As you might know (or might not) I build custom USB (and MIDI) controllers. You can find them on Etsy.

Anyway, a (potential) customer got in touch with me and asked if we could make a button work with JoyToKey which is a Windows application that can map joystick input to key commands. It’s been a while since I programmed a joystick but it was fairly simple, and I had it all working in no time.

So add that to the list for future development if you ever need a button to emulate a joystick so it can send key commands. (Hey, we do what people ask!)

Here’s what JoyToKey looks like. The line highlighted in yellow is what happens when the button is pressed.When released it goes back to not being highlighted. Cheers!

Categories
Uncategorized

S1 Rotary USB Controller

You may already know that I’ve been building (and selling) USB controllers for the last 9 years or so. Most of them have been for photobooths, tradeshows, exhibits, museums, etc. Well, the pandemic blew things up, in a bad way, with no events happening, so I’ve tried to keep going, and occasionally do custom development, and then turn custom things into products, so here’s the S1 Controller.

It consists of a rotary encoder, meaning it can turn forever in either direction, with a built-in button. Just like the scroll wheel on your mouse! So, what can it do? Well, what do you want it to do? The first one I built was for an audio nerd who didn’t like spinning the scroll wheel on his mouse and then clicking the left mouse button to set the dials in their audio software, so this gives a real-world analog to turning knobs and setting values. I can appreciate that!

It could also be programmed as a volume control and play/pause button, or some other custom thing. I never really know what people will come up with, but 99% of the time I can program what they want. Maybe you want one of these? If you do, you can grab one from Etsy. (Update! Lots of people have wanted these for MIDI related applications, and that works too. If you need a special MIDI controller, we can do that.)

Update: There are now two new versions: S1D Controller and S1A Controller.