Gotek HxC + LCD + Rotary Encoder idea

Post Reply
teevee
Posts: 134
Joined: Sun Nov 03, 2013 7:21 pm

Gotek HxC + LCD + Rotary Encoder idea

Post by teevee »

Dear community,
I got a fast thought, which I want to share.

Question:
• Would it be possible to use a “rotary encoder” to rotate up/down between a marked digit number?
• How about wiring and resistors for this idea?
• Would this require any changes on the floppy firmware?
Idea:
In this case the fixed knobs on the Gotek drive could be used to mark the 1st, 2nd or 3rd digit and the rotatory to change the number. The rotary encoder is made so you can “push it” as an additional extra knob.
The benefit in this case could be the convenient of less “manually clicks” up/down.
Hardware part list:

Info: Arduino KY-040
Source: Link
Schematic/info: Link
Image

Info: Gotek Floppy drive
Image

Info: LCD
Source 1: Link
Source 2: Link
Image

Any comments, thoughts or ideas etc.?

Ramucho
Posts: 37
Joined: Mon Jun 20, 2016 9:36 pm

Re: Gotek HxC + LCD + Rotary Encoder idea

Post by Ramucho »

+1

I was thinking about it :)

af0l
Posts: 10
Joined: Sun Mar 27, 2016 12:46 pm

Re: Gotek HxC + LCD + Rotary Encoder idea

Post by af0l »

I think Nokia used an interface like that first on their monitors... Look where that got them :)

Otherwise, a swell idea, especially since I have just drilled 3 button holes into a bunch of my gotek "controllers" :)

teevee
Posts: 134
Joined: Sun Nov 03, 2013 7:21 pm

Re: Gotek HxC + LCD + Rotary Encoder idea

Post by teevee »

af0l wrote:I think Nokia used an interface like that first on their monitors... Look where that got them :)

Otherwise, a swell idea, especially since I have just drilled 3 button holes into a bunch of my gotek "controllers" :)
I asked Jeff pr mail and he confirmed that this is not possible. FYI!

teevee
Posts: 134
Joined: Sun Nov 03, 2013 7:21 pm

Re: Gotek HxC + LCD + Rotary Encoder idea

Post by teevee »

teevee wrote:
Wed Aug 03, 2016 11:54 am
af0l wrote:I think Nokia used an interface like that first on their monitors... Look where that got them :)

Otherwise, a swell idea, especially since I have just drilled 3 button holes into a bunch of my gotek "controllers" :)
I asked Jeff pr mail and he confirmed that this is not possible. FYI!
Hmmm.... I found this video below, where a end user states that he his using a rotary encoder with Gotek HxC.

Im im still in love with this idea due to that the normal Gotek knobs are sloppy....

https://www.youtube.com/watch?v=qPlM89FstU8

more info here:
https://www.richardloxley.com/2017/04/2 ... y-encoder/

and here:
http://eab.abime.net/showpost.php?p=118 ... tcount=496
Last edited by teevee on Wed Sep 27, 2017 12:10 am, edited 1 time in total.

Jeff
Site Admin
Posts: 7299
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Gotek HxC + LCD + Rotary Encoder idea

Post by Jeff »

Will see how i can insert this into the firmware user interface, but i have some doubts about the real advantages of this solution vs the buttons.
How many turns will you have to do to browse into 500/1000 files ?

teevee
Posts: 134
Joined: Sun Nov 03, 2013 7:21 pm

Re: Gotek HxC + LCD + Rotary Encoder idea

Post by teevee »

Jeff wrote:
Tue Sep 26, 2017 9:27 pm
Will see how i can insert this into the firmware user interface, but i have some doubts about the real advantages of this solution vs the buttons.
How many turns will you have to do to browse into 500/1000 files ?
I normally keep it down to 10 disks pr. USB stick., but I can imagine that some end-users have much more.

I don’t know how many turns, you need to get around that range of files, but this is also why I mentioned this idea above:
In this case the fixed knobs on the Gotek drive could be used to mark the 1st, 2nd or 3rd digit and the rotatory to change the number.

Jeff
Site Admin
Posts: 7299
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Gotek HxC + LCD + Rotary Encoder idea

Post by Jeff »

teevee wrote:
Wed Sep 27, 2017 12:18 am
Jeff wrote:
Tue Sep 26, 2017 9:27 pm
Will see how i can insert this into the firmware user interface, but i have some doubts about the real advantages of this solution vs the buttons.
How many turns will you have to do to browse into 500/1000 files ?
I normally keep it down to 10 disks pr. USB stick., but I can imagine that some end-users have much more.

I don’t know how many turns, you need to get around that range of files, but this is also why I mentioned this idea above:
In this case the fixed knobs on the Gotek drive could be used to mark the 1st, 2nd or 3rd digit and the rotatory to change the number.
Anyway i will and must keep the actual buttons functions : Finally few hxc firmware users are using additional lcd / buzzer / button or other mods. So the nominal configuration is the Gotek "as it is" and any additional mod mustn't have any impact on the normal Gotek usage.

I have to choose carefully the inputs gpios for the rotary because they are few of them free now. (And i prefer to keep the 5v tolerant inputs for something else).

Richard Loxley
Posts: 1
Joined: Fri Sep 29, 2017 4:14 pm

Re: Gotek HxC + LCD + Rotary Encoder idea

Post by Richard Loxley »

teevee wrote:
Wed Aug 03, 2016 11:54 am
Hmmm.... I found this video below, where a end user states that he his using a rotary encoder with Gotek HxC.

Im im still in love with this idea due to that the normal Gotek knobs are sloppy....

https://www.youtube.com/watch?v=qPlM89FstU8

more info here:
https://www.richardloxley.com/2017/04/2 ... y-encoder/
Hi everyone, I'm Richard, who made the above experimental rotary encoder mod for the Gotek/HxC hardware.

As you can see from my blog post, it is possible to control the Gotek indirectly via an Arduino, but it's not perfect. That's because it has to simulate button presses on the Gotek, and the delays in the firmware (to stop incorrectly reading the buttons) means you can't scroll particularly fast through the list before the hardware fails to keep up with the rotations.

I implemented a work-around, which is that when you scroll beyond a particular point, it goes into continuous scroll mode (by effectively holding down the button) until you stop spinning.

It works, but it's not ideal, as it loses the primary advantage of a rotary encoder, namely that the exact rotation corresponds to an exact amount of movement through the list. Normally when you use a UI with a rotary encoder, your muscle memory very quickly learns how much to twitch your hand to get the amount of movement you want!

So all in, an interesting experiment, and I'm glad I did it (because the other part of my project also used a rotary encoder as the user interface, so it was nice to be consistent). But whether it's worth doing for other people is a matter of opinion!

If you want to follow along, and adapt what I did, I've put my (mostly finished) code up on GitHub here: https://github.com/richardloxley/RetroMatic2000 The README there also has a index into my blog posts where I describe the build of the entire project.

Going forward, I think the ideal solution would be to implement rotary encoder code in the Gotek firmware itself. Then you could spin the wheel as fast as you like, and get to an exact point based on the rotation.

Jeff asked how many turns to browse 500/1000 files. Well the encoder I used (which is pretty typical) registers 20 clicks per rotation. So 500 files would require 25 rotations. I just timed myself, and rotating the knob between thumb and forefinger I got one rotation per second. With a large knob, and rotating it with a fingertip on the surface, I got two rotations per second. So about 12.5 seconds to scroll through 500 files. In comparison, using the buttons, I timed the continuous scroll mode at about 170ms per item, or 1 minute 25 seconds to scroll through 500 files.

In practice I don't think you'd want folders that big. But the encoder does allow scrolling at 3-6 times faster speed than the buttons, so there is an advantage there for those that want to use large folders.

The practical issues for adding it to the Gotek firmware are whether you have enough inputs for the encoders as well as an LCD, and whether the chip supports sufficient interrupts for the encoders and whatever else it needs to do. I'm not familiar enough with that architecture to comment.

It would be great to see support in the actual firmware. If I'd been aware of the open source version linked to above when I did my project, I'd probably have tried that, and added the rotary encoder code to that myself!

Good luck to anyone having a go with such work :-) If I can be of any assistance by explaining my code, etc, do get in touch. (I'm not really actively reading this forum at the moment, so feel free to email me via my blog.)

Jeff
Site Admin
Posts: 7299
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Gotek HxC + LCD + Rotary Encoder idea

Post by Jeff »

What you are you doing with the hxc/gotek ? (i mean for what are you using it ?)

fyi Rotary support is almost ready into the firmware.

And keep in mind that some people have a lot more than 1000 files in the folders. Yes they are insane ;)

Jeff
Site Admin
Posts: 7299
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Gotek HxC + LCD + Rotary Encoder idea

Post by Jeff »

Rotary support added :
30 September 2017: Firmware STM32 USB HxCFloppyEmulator v3.0.29.1a

- Write pipeline issue fixed.

- Fix : IMG/IMA/DSK and ST files are now visible in normal/direct browsing mode.

- Rotary support added. Connections points : Clock -> J7 pin 2,Direction -> J7 pin 1.

This version passed the 10 Hours intensive Read/Write tests successfully.
(R/W HD Density @ 500Kbits/s on HFE & IMG files).
http://hxc2001.com/download/floppy_driv ... rmware.zip

Post Reply