CraigB-spinner / Arcade-Spinner

Arcade Spinner version 2 - based off earlier Spinner version
GNU General Public License v3.0
8 stars 1 forks source link

Can I drive Egstarts2 spinner ? #2

Open Giandj opened 1 year ago

Giandj commented 1 year ago

Hi CraigB I have some questions: I have an Egstarts2 spinner (normally compatibile only with arcade 1up 12 in 1 board...over 85 euro in Italy...too expansive). This Is the board: https://www.amazon.com/Arcade1Up-12-1-Interface-Board/dp/B07NKJ3SKH/ref=sr_1_2?keywords=grs+12-in-1&qid=1574973218&sr=8-2

I have also an arduino Pro Micro.. So the question is Can I use this "Spinner with no buttons" code To program my Arduino pro micro to connect as an Hid Device egstarts2 spinner on my raspberry Pi4 with retropie 4.8.2 and play with arkanoid? Or Egstarts2 spinner will be not recognized by your program code (I intend to use your Code "Spinner without buttons" because on my arcade 10 buttons are already present on it, and I don't need extra buttons mapped over spinner)... Another question; the Arduino "pro micro" on Arduino IDE software is programmabile with "leonardo board" or with "micro" board ? Is it normal that after writing your program My Arduino "pro micro" has 3 led red always ON ?

Thank you

Giandj commented 1 year ago

Hi Craig I have tried your arcade spinner without buttons code with an Arduino Pro Micro 5v , my Arduino is viewed By IDE sw like "Leonardo" and not like "pro micro" board...(infact is impossible to compile program If I set different arduino board on IDE different of Leonardo)... why ??? I don't Know who is the producer of my board (my "pro micro" is a blue board not a red like sparkforfun board)... I have also used Egstarts (working with 3.3V by external power) spinner with pro micro connecting pin 2 and 3 for rotation left or right...but the spinner works only in ONE Direction right X axis (x++)...tested on my pc... if i invert pin 2 and 3 works only on left X axis (x--)... What is the mistake? So if i move clockwise or anticlockwise the spinner moves only in 1 sense...not left and right but only left or only right...

Giandj commented 1 year ago

Hi CraigB finally I have tried Mister.ino code written by you, and now my spinner works very well...!!! My arduino was a clone of "pro micro" (but it isn't a "sparkfun" red pro micro board...the productor of my board is hidden or unknown) So after many and many test to configure (What?) Board in IDE software I finally programmed like Arduino Leonardo ...my pro micro 5v 16mhz Atmega32u4 blu board (identical to pro micro red board selled by sparkfun .com) is total compatibile in IDE with Leonardo and programmer must be set in IDE software like "Atmega32U4 as ISP" Otherwise isn't programmable... (If I try to use sparkfun driver Isn't programmable)...instead setting it like "leonardo" works well... A question: I also tried to connect EGstart2 Spinner (normally compatibile with Arcade 1up 12 in 1 board)...but this spinner won't works...with the same pro micro board And Mister.ino... I have also set 512 Pulse per rotation on this spinner but nothing happens why ? Have You an Idea ? In your spinner.ino or MistEr.ino code I cannot Undarstand at what speed or what frequency Pin 2 and Pin 3 are listened by intetrupt... maybe the Egstarts2 spinner is too low ? Or maybe is because Egstarts2 spinner works with 3.3v ? instead my working (with Mister.ino) rotary encoder works with 5v ... I don't know...

CraigB-spinner commented 1 year ago

Sorry, usually monitor my second YouTube comments, didn't see message until today. I posted my code in fall of 2020 from summer/fall of 2019 build of Spinner and Trackball. The spinner was a four month project, while the trackball was a three month project.

Pro Micro boards, the inventor Sparkfun made a smaller version of Arduino Micro with fewer pins. Arduino Srl worked will Adafruit to make the Arduino Micro and Adafruit made their version, ItsyBitsy, and of course China has dozens of clones. I used a Chinese clone from universal-solder.ca which is better quality clone of Sparkfun's board. The bootloader Universal Solder uses emulates Sparkfun's bootloader. I have purchased lower quality Chinese Pro Micro clones that use Leonardo's bootloader. You must setup Arduino IDE to communicate to the specific bootloader to work, like calling your kid's name. It is all a learning experience with micro chip shortages due to over demand and maxed out manufacturing capacity.

Most devices work on 5V except MCUs that are 3.3V and will require level converters or pop goes your MCU. I almost bought the wrong voltage Pro Micro when first shopping for the spinner project. You can also have voltage drop-outs from 5V down to 3V and the MCU can not tell the difference between a Hi and Lo. I had this issue when doing my trackball project with added RGB (7 colour) lighting under the ball. Use good quality USB cables for high current flow and not just 500mA standard 2.0. My mouse would stutter in a windows screen.

My MCU has 2 Leds lit, Power and Tx (blinks with movement); Rx (is off unless downloading code).

The one-way spinner could be a software typo. I have 4-5 versions of the software but all should work similar for movement; however, there are directive options that turn code usage on and off when compiling and different code could be compiled by mistake with the typo. The other issue can be your 3.3V statement and improper levels but this would be consistent across code versions. Both pins 2 and 3 must produce quadrature signals into the MCU or there would be no movement.

EGstart2 Spinner ??? GRS (Glen's Retro Show) made by ThunderSticks makes two versions Arcade-1up and Button hole standard USB. The original Arcade-1up design must output a serial UART protocol like old RS-232 serial mouses. The revised Spinner (TS-BSP-02) uses USB protocol. Neither will need my code as the MCU is pre-programmed and built-in. GRS does not provide software updates but all new boards with a MCU including fixed firmware, that is the reason for version 1 and 2 kits (TS-USP-01/02). The Arcade-1up 12-in-1 board is requires with original spinner to convert (using another MCU) to another protocol, assuming the special Arcade-1up 12-in-1 machine uses USB (or PS/2?). EGstart is a Chinese cloner and quality control is of lower standards, hence, cost reduction. My Pro Micro and software will work with any Quadrature rotary encoder 200/360/600/1200/etc from Ultimarc, Groovy Game Gear, or Chinese discount rotary encoder.

CraigB-spinner commented 1 year ago

Retested Spinner_No-Button.ino and it works fine; did a quick update to allow D16 or D17 to flip x/y axis, so I could complete the test. My box only has a single touch button installed, it is normally configured to temporary simulate four buttons as a joystick D-pad. RetroPie requires a joystick for navigation.

CraigB-spinner commented 1 year ago

I found the EG Start spinner on AliExpress. The picture of the backside of the circuit board, Q1 & Q2 look to be tied to R3 & R4 and MCU pins. You need to trace the source and drain of both MOSFETs. I believe this is where the quadrature input can be found. Likely will need Level Converter Bi-Directional Shifter for Arduino board. If you are not handy then use the EG Start spinner on a compatiable Arcade-1up game and purchase a Chinese Optical Rotary Encoder with two phase, 600 P/R, 5-24V. They cost anywhere from $10-30 and guitar knobs can be used in a crunch.