• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

what is the best Arcade Spinner for Retropie v.4.8.2 on pi4?

Scheduled Pinned Locked Moved Help and Support
arcade spinner
16 Posts 6 Posters 1.8k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M
    mitu Global Moderator @giandeejay
    last edited by 16 Dec 2022, 18:42

    @giandeejay said in what is the best Arcade Spinner for Retropie v.4.8.2 on pi4?:

    Because Raspberry GPIO is most powerful of arduino and maybe there is a method to program it better..

    Not quite, the RPI GPIO doesn't feature an ADC, which I think it's needed to translate a spinner/analog joystick readings into a HID device.

    G 1 Reply Last reply 16 Dec 2022, 18:48 Reply Quote 0
    • G
      giandeejay @mitu
      last edited by 16 Dec 2022, 18:48

      @mitu ok...but what kind of protocol is used by spinner ? In market place there are very cheap adaptor called UART to USB connectors...maybe this hardware can recognise spinner when converted on raspberrypi usb port?
      Adaptor UART/IIC/SPI/Ttl/ISP to USB
      Or the problem is not so simple to solve as I think ?

      A 1 Reply Last reply 18 Dec 2022, 17:04 Reply Quote 0
      • M
        mitu Global Moderator
        last edited by 17 Dec 2022, 17:38

        @mitu ok...but what kind of protocol is used by spinner ?

        I don't think there's a standard. Some of them just send the potentiometer read value, others may send relative motion read-outs.

        In market place there are very cheap adaptor called UART to USB connectors...maybe this hardware can recognise spinner when converted on raspberrypi usb port?

        UART is usually serial, I don't think the spinner communicates that way.

        A 1 Reply Last reply 17 Dec 2022, 22:15 Reply Quote 0
        • A
          Ashpool @mitu
          last edited by Ashpool 17 Dec 2022, 22:15

          @mitu said in what is the best Arcade Spinner for Retropie v.4.8.2 on pi4?:

          Some of them just send the potentiometer read value,

          AFAIK potentiometers would be used for paddles, not spinners (who turns endless left/right) ;>

          @giandeejay the links provided within the 3rd one of my previous post seem to be a good start as a research on that topic: wikipedia: Incremental Encoder and the article on SeedStudio about Rotary Encoders.

          And maybe there is a way to use a variant of rotary encoders on the raspi: ThePiHut: How to use a rotary encoder with the raspberry pi ... (though that [mechanical stepcount] one used there is with 5 contacts vs. the propably [optical/magnetical (??))] wanted 4 (VCC/GND; Phase A/B) and I am not sure if it would be usable for an arcade-spinner (speed/flyweight to go where?/etc.)).

          M 1 Reply Last reply 18 Dec 2022, 06:34 Reply Quote 1
          • M
            mitu Global Moderator @Ashpool
            last edited by 18 Dec 2022, 06:34

            AFAIK potentiometers would be used for paddles, not spinners (who turns endless left/right) ;>

            You're right, I got them confused.

            1 Reply Last reply Reply Quote 0
            • A
              Ashpool @giandeejay
              last edited by 18 Dec 2022, 17:04

              @giandeejay Sigh :D Maybe it is easier than we have thought, though this may need some more RTFM I think (i.e. what kind of encoders exactly) ... citing the README from /boot/overlays (overlays are added within /boot/config.txt)

              
              Name:   rotary-encoder
              Info:   Overlay for GPIO connected rotary encoder.
              Load:   dtoverlay=rotary-encoder,<param>=<val>
              Params: pin_a                   GPIO connected to rotary encoder channel A
                                              (default 4).
                      pin_b                   GPIO connected to rotary encoder channel B
                                              (default 17).
                      relative_axis           register a relative axis rather than an
                                              absolute one. Relative axis will only
                                              generate +1/-1 events on the input device,
                                              hence no steps need to be passed.
                      linux_axis              the input subsystem axis to map to this
                                              rotary encoder. Defaults to 0 (ABS_X / REL_X)
                      rollover                Automatic rollover when the rotary value
                                              becomes greater than the specified steps or
                                              smaller than 0. For absolute axis only.
                      steps-per-period        Number of steps (stable states) per period.
                                              The values have the following meaning:
                                              1: Full-period mode (default)
                                              2: Half-period mode
                                              4: Quarter-period mode
                      steps                   Number of steps in a full turnaround of the
                                              encoder. Only relevant for absolute axis.
                                              Defaults to 24 which is a typical value for
                                              such devices.
                      wakeup                  Boolean, rotary encoder can wake up the
                                              system.
                      encoding                String, the method used to encode steps.
                                              Supported are "gray" (the default and more
                                              common) and "binary".
              
              
              A 1 Reply Last reply 19 Dec 2022, 01:03 Reply Quote 0
              • A
                Ashpool @Ashpool
                last edited by Ashpool 19 Dec 2022, 01:03

                @Ashpool said in what is the best Arcade Spinner for Retropie v.4.8.2 on pi4?:

                though this may need some more RTFM I think (i.e. what kind of encoders exactly)

                ... Ok, to be more precise - maybe not kind of encoder, but specifications of it. ... Whats about VCC? Is it providable via Raspi GPIOs? (24V/12V, etc. / are any resistors or other elements needed in the connection?)?
                From a few hits I got on german sides - up to what frequency is it usable, as most use-cases i've found are more on a radio-dial/step-by-step area -> so arkanoid could well be covered, but any game which needs/supports a whack-just turn, turn, turn... high-frequency spinner may be out of reach by what is offered within that overlay/raspi abillities... At least there must be a reason why people switch to arduino or other atmel based solutions as a HID interface... But I am still curious and interested in/towards possible answers ;)

                A 1 Reply Last reply 19 Dec 2022, 01:45 Reply Quote 0
                • A
                  appas @Ashpool
                  last edited by appas 19 Dec 2022, 01:45

                  I am wondering about this spinner. I would like to play some MAME Tempest with it. How would I configure it to work with RetroPie?

                  A 1 Reply Last reply 19 Dec 2022, 15:59 Reply Quote 0
                  • A
                    Ashpool @appas
                    last edited by 19 Dec 2022, 15:59

                    @appas That's a Controller with USB connection, and as such not related to this topic (even if the threads title may imply it). Read the Docs for mouse like devices and maybe this article about spinner turn counts and if there are any remaining questions, please open a separated topic for it.

                    G 1 Reply Last reply 22 Jan 2023, 19:44 Reply Quote 0
                    • G
                      giandeejay @Ashpool
                      last edited by giandeejay 22 Jan 2023, 19:44

                      @Ashpool hi to all, i have finally found a great solution for my Spinner and now I have a great Spinner Working on Retropie v4.8.2.
                      Hardware used:

                      • 1 Industrial Rotary encoders (7 dollars)
                      • 1 Alloy Wheel for rotary encoder 6mm
                        Cost 1 euro ( in Italy).
                      • 1 Arduino Pro Micro Atmega32u4 board 5volt powered (a "clone" version of Arduino Leonardo Board but most powerful than Leonardo and space saving, not a Sparkfun "red board", but a "blue board of Pro Micro" founded on Amazon). Cost 5 dollars
                      • 1 Raspberry Pi4 on my autocreated Bartop and Arcade Cabinet.
                        I have programmed this Arduino pro micro board using 2 libraries joystick.h and mouse.h and thanks to CraigB for the rest of source code doing "quadrature" for spinner...and the correct command line to preset spinner over Retropie adding it at /boot/cmdline.txt file.
                        (a Declaration of Spinner by Vendor ID and Product ID in Hex value, so retropie can recognise it)...

                      So, my Arduino pro micro board is connected by A/B channel of spinner but controlled by sketch software using interrupt (fastest and very accurate Reading than directly Reading from TXD / RXD pin channels, slow read).
                      So my industrial rotary encoder (600 point per rotation)is connected (4 Cables at all) on digital PIN 2 (A)and 3 (B) and pin GND and VCC PIN 5volts of Arduino Pro Micro board and Arduino pro micro is also connected to raspberry pi4 with a normal "micro usb cable" on 3rd USB port (others 2 usb ports are connected by 2 joystick and 10 buttons per player, on my Bartop).

                      So i have Programmed the pro micro with sketch by my pc with IDE software and after that i have connected it to raspberry and rotary encoder acting like a "man in the middle" device.
                      Arduino pro micro is already (natively) an HId device for every other pc/tablet/linux/mac/raspberry/ smart tv/ or everything else...

                      And when my spinner (rotary encoder+pro micro board + usb cable+alloy wheel) was connected To raspberry pi4 With Retropie 4.8.2 i have added it on retroarch like a mouse for player 1 and 2.
                      I have also enabled "mouse auto detection/connection" option in retroarch...And now my new "ardu- spinner " works very well !
                      On FBA emulator works very well also with OutRUN and ALL driving games like a good "steering wheel", the spinner works fine also on Arkanoid and similar games and so on...
                      Also in Mame2010 and Mame2003 my spinner works great.
                      And also on sega Supermodel3** games my spinner works very well ...

                      The most important thing before play with my "arduino based spinner" is to set the correct mouse index in retroarch> input> user 1 binds, for earlier version of retropie the documentation Is good , mouse index was a number , but from version 4.8.x mouse index is not (only) a number but a name of periphericals, infact my Arduino is viewed by retroarch like a mouse index named "Arduino Leonardo"...and Works very well.
                      So I have done:
                      The greatest spinner at lowest price...
                      Thank you very much

                      **I know normally Segasupermodel 3 was not included in retropie 4.8.2 but i have take a little modification on my retropie 4.8.2 like integration of Sega Supermodel3 (correcting all the bug on its original source code and recompiling it on pi4 without errors) and I also made a New integration of vulkan drivers in some emulators like lr-ppsspp and others thanks also to pikiss tools...

                      D 1 Reply Last reply 31 Dec 2023, 23:08 Reply Quote 1
                      • D
                        DIY-CraigB @giandeejay
                        last edited by 31 Dec 2023, 23:08

                        @giandeejay Good to find that someone found my github page how to build a spinner and also trackball using an AtMega32U4 MCU (MicroController Unit). I also did some Youtube demos of the devices. Original hack was JoeW but his build diverged from mine since 2019. I did multiple versions of code with and without buttons (joystick or mouse). Even a MiSTeR version with adjustable sensitivity. There were multiple build versions like on thingiverse. I know someone in Europe had multiple language translation of my version howto. I was even so popular the Chinese did a knot-off of my design at retroarcadecrafts and alibabba/aliexpress.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                        Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.

                          [[user:consent.lead]]
                          [[user:consent.not_received]]