Adaptive Technology- Rotary to Button

Thread Starter

RandomSTEM

Joined Apr 3, 2024
2
My project involves the children's toy, the Yoto.

I have full permission from the company to modify, but they don't have the bandwidth to experiment. Here's the FCC documents. I can take further pictures if wanted. https://fccid.io/2AS6W-PRPLUS00125

My goal is to take the right hand button, which controls the song selection, and change it to arcade buttons which can be put on a child's wheelchair. It's on a JST plug which simplifies things. I did see the earlier thread about someone's sterio but with the JST it feels different enough to reopen the conversation. Also, open to other ideas.

My son loves his Yoto and has a friend at his PT center. The little boy loves music just as much as my son but is unable to make any significant movement with his hands besides simple slapping down.

The Yoto is simple enough, but it's still too hard for him.

Ideally I'd like to simply unplug the rotary JST and plug in my own, home-made 3 arcade button experiment. That said, I don't want to ruin anything. My hope is to create a JST cable to the buttons that could be sent out an embiggened part of the existing speaker 'relief' hole in the back. This would mean that should a disabled child no longer need it the item would not be destroyed.

I'm a maker, but I only learn things when I need to out of necessity. Not because I don't want to learn but because I've got a million demands on my time. I'm a teacher, a mom and a person who hates to see kids miss out. Please be patient with me, all my tech stuff I've learned is self taught. I took one earth science course in college and somehow got pushed into Cobol once. I've been able to grow from there and learn how to program, used things from ubuntu to Linux and even help kids with basic block coding for First Lego League. I've built a TonUino from scratch. I can learn, but my band with is low and Im trying. I understand basic circuitry and I've learned how to solder really, really great so that much I know I can manage.
 
For replacing rotary switch to button you can use a Johnson Counter (a.k.a cmos 4017). Every button press generates a clk pulse and switch the logic High on next output. One 4017 has 10 outputs, btw. You can use more of these ICs in cascade if more outputs are demanded.
 
Last edited:

Ya’akov

Joined Jan 27, 2019
9,233
Welcome to AAC.

This actually looks like a relatively simple modification. The most difficult part is not having a schematic means you will have to do some probing around to figure out just what’s going on.

In theory, my approach is to create an adapter cable that fits between the cable from the controls and the PCB. It should include a third connector that would be used for the alternative controls. The cable would connect the alternative controls to the same locations the existing controls connect.

Here‘s what I expect to find: the two rotary/pushbutton controls have the pushbutton section wired so that they connect something to particular pins on a microcontroller (µC or MCU). That something is either \(V_{SUPPLY}\) or 0V (circuit ground) so that pressing the button wither pulls the µC pin high or low, respectively.

By connecting the alternative controls in parallel with the existing switches, either one will operate the device without changing the operation. I would use a small connector that can handle the (probably) 3 wires needed. Cheapest and most readily available is probably a 3.5” TRS (Tip Ring Sleeve) type—the same as used on headphones. There are many other possibilities if ruggedness or other concerns makes that one unsuitable, but adding a connector would make things much more flexible: just plug in the accessible controls when they are needed and remove them when they aren’t.

My only concern at this point is your comment:
My goal is to take the right hand button, which controls the song selection, and change it to arcade buttons which can be put on a child's wheelchair.
The manual seems to say that pressing the right or left controls changes the song—forward and backward. Nonetheless this doesn’t really change anything material. Unless they are doing something unexpectedly funky to get the switch closure(s) from the controls, the man-in-the-middle parallel hijacking of the switches seems the best way to go.

Practically speaking, you’ll need a JST connector assortment of the right type—male and female wire-to-wire connector housings and pins, along with a crimping tool. The pins in JST connectors take a little practice to crimp, but they are cheap to practice on.

Alternatively, depending on connector pitch (a glance at the internal photos suggests ~2mm, but that could be 2.54m or something else) you may find a kit with pre-crimped wires and housings that let you just plug them in. This can save some time and frustration but you will still have to make some of your own leads that include two wires on a pin. You can do this by crimping or possibly by carefully soldering to the strain relief portion of the pre-crimped wire.

If you need more help as you proceed, don’t hesitate to ask.
 

Irving

Joined Jan 30, 2016
3,979
Looking at the internal photos I'm surmising thats a custom rotary switch. It has 4 connections, a common ground and 3 switches. One is the pushbutton and the other two are the A/B quadrature output. Most similar switches have 5-wires and a +ve power input with onboard pull-up resistors and filter capacitors. Since space here is constrained I suspect they've gone with a custom design and offloaded the other components to the main board.

It easy to confim this - unplug the switch and, using a continuity tester, look for 2pins that give continuity when the button is pressed. Choose one of those as G and see if you get intermittent continuity to one of the remaining pins. If so the G pin is the common connection, if not try the other 'non-G' pin from the first test - that should give the desired result.

Now - how to convert 2 switches to A/B quadrature? Actually quite simple - more in a short while once I've drawn it up....
 

Thread Starter

RandomSTEM

Joined Apr 3, 2024
2
Just an FYI. I’m reading everything but I’m in the part of the country that got a surprise snowstorm and have no electricity at the moment. I’m super fascinated and grateful . More detailed responses when I can open one up and get better photos
 

Irving

Joined Jan 30, 2016
3,979
As promised - here is the 2 push button to quadrature encoding logic:

U1a & b make a simple RC clock which drives U2 & U3 to give the A/B quadrature encoded pulse. The 'dir' signal determines if a leads b (forward) or lags it (reverse). A quick (<.5sec) press on either pushbutton PB1 (forward) and PB2 (reverse) are latched by U5a and U5b respectively to provide the 'go' and 'dir' signals to the quadrature generator, which runs for 1 cycle and generates a stop pulse (U4a, U1c & d). If PB1 or PB2 are held down for more than 0.7sec approx a continuous stream of a/b pulses is produced. The transistors Q1 and Q2 connect to the ground, A and B pins of the rotary switch, which can safely be used in parallel if desired. The only other connection required is a source of voltage for Vcc, around 3 - 5v, from the device or from a separate Lipo or LiFe cell which will run for ages as total consumption is around 200uA.

1712592932332.png

But if that's too complicated, here is the even simpler version... An 8-pin ATTiny85 microcontroller programmed to provide the same logic as shown above

1712595832746.png
 

Irving

Joined Jan 30, 2016
3,979
Used the idea of converting a rotary encoder to push-buttons in a STEM tutorial (14/15y age group) and this is what the group came up with, initially on an Arduino Uno, then ported to an ATtiny85..

 
Top