arpruss Posted April 7, 2020 Share Posted April 7, 2020 (edited) It would be super-easy to make a Stelladaptor clone with the STM32F103CxT6 that I used for my paddle project. The total cost (without a case) would be about $4 ($2 STM32F103C8T6 board + $2 DB9 adapter), and pretty much the only assembly that would be required would be to solder connections between the DB9 adapter and the STM, solder six setup pins on the STM (adding one extra resistor would help with USB compatibility), and upload bootloader and firmware. One might even get away without soldering by using a breadboard. I haven't made the firmware for this as I don't actually have any Atari hardware, but it wouldn't take more than an hour or two. I don't know if there is much interest, though. Edited April 7, 2020 by arpruss 2 Quote Link to comment Share on other sites More sharing options...
scotty Posted April 16, 2020 Share Posted April 16, 2020 Ive already got like 9 devices or so that do 9-pin to USB.... Great idea, but a little late to the game (for me) my friend. Quote Link to comment Share on other sites More sharing options...
mr_me Posted April 16, 2020 Share Posted April 16, 2020 On 4/6/2020 at 8:41 PM, arpruss said: It would be super-easy to make a Stelladaptor clone with the STM32F103CxT6 that I used for my paddle project. The total cost (without a case) would be about $4 ($2 STM32F103C8T6 board + $2 DB9 adapter), and pretty much the only assembly that would be required would be to solder connections between the DB9 adapter and the STM, solder six setup pins on the STM (adding one extra resistor would help with USB compatibility), and upload bootloader and firmware. One might even get away without soldering by using a breadboard. I haven't made the firmware for this as I don't actually have any Atari hardware, but it wouldn't take more than an hour or two. I don't know if there is much interest, though. This is good for do-it-youselfers but firmware is still needed. Don't you have firmware for your paddles? Others will be looking for a complete adapter package. Quote Link to comment Share on other sites More sharing options...
arpruss Posted April 19, 2020 Author Share Posted April 19, 2020 On 4/16/2020 at 7:25 AM, mr_me said: This is good for do-it-youselfers but firmware is still needed. Don't you have firmware for your paddles? Others will be looking for a complete adapter package. I do have firmware for the paddles, and it would take about an hour or two to adapt it to this purpose. But if nobody is interested, maybe because everybody already has a USB adapter, then there is no need for me to spend that hour or two. Quote Link to comment Share on other sites More sharing options...
mr_me Posted April 19, 2020 Share Posted April 19, 2020 What changes are needed for the firmware. Is it to to read different potentiometer values. There are do it yourselfers that don't program code so they would appreciate the firmware. Maybe sharing the source code you have helps. 2 Quote Link to comment Share on other sites More sharing options...
RevEng Posted April 21, 2020 Share Posted April 21, 2020 I'd be very interested if the firmware was open. Stick it in github, and I'll likely contribute. Quote Link to comment Share on other sites More sharing options...
arpruss Posted May 24, 2020 Author Share Posted May 24, 2020 (edited) On 4/20/2020 at 11:10 PM, RevEng said: I'd be very interested if the firmware was open. Stick it in github, and I'll likely contribute. I haven't tested it (for one, I don't actually have any Atari hardware), so there are probably some bugs, but here is some code: https://github.com/arpruss/usb2600. The main .ino file contains wiring instructions. You need an stm32f103c8t6 "Blue Pill" board, a DB9 socket, two 100K resistors, and a UART-to-USB adapter for loading the initial firmware. Currently it only works with joysticks and paddles. It should auto-detect which one is plugged in. Might be worth extending it to support two joysticks in one USB port if people like this code. But no point doing that if nobody is available to test. ? Edited May 24, 2020 by arpruss Quote Link to comment Share on other sites More sharing options...
RevEng Posted May 24, 2020 Share Posted May 24, 2020 Awesome, I'm in. I've just ordered a couple stm32f103c8t6 boards and some sockets (I have the rest of the stuff) and will give it a shot when it gets here, which may be some weeks. I'll let you know how it goes! ? Quote Link to comment Share on other sites More sharing options...
arpruss Posted May 24, 2020 Author Share Posted May 24, 2020 (edited) 1 hour ago, RevEng said: Awesome, I'm in. I've just ordered a couple stm32f103c8t6 boards and some sockets (I have the rest of the stuff) and will give it a shot when it gets here, which may be some weeks. I'll let you know how it goes! ? I just added support for dual joystick (or four paddles) in the (still untested, except for compiling) code. You may want to refer to https://www.instructables.com/id/USB-Paddle-Game-Controller/ for instructions on how to flash a bootloader and firmware. Edited May 24, 2020 by arpruss 2 Quote Link to comment Share on other sites More sharing options...
RevEng Posted May 24, 2020 Share Posted May 24, 2020 Excellent. Will do! Quote Link to comment Share on other sites More sharing options...
fluxit Posted June 3, 2020 Share Posted June 3, 2020 I'm giving this a try. I'll build the device later tonight. 1 Quote Link to comment Share on other sites More sharing options...
fluxit Posted June 5, 2020 Share Posted June 5, 2020 Welp, I finished the preliminary build last night. Yeah, the first port needs some work, but contrary to their appearance in the image, the joints are acceptable and there are no shorts. Unfortunately, I have no functionality at this point. With two joysticks plugged I get: user1@user1-desktop:~$ jstest /dev/input/js1 Driver version is 2.1.0. Joystick (Grand Idea Studio Stelladaptor 2600-to-USB Interface) has 2 axes (X, Y) and 4 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn). Testing ... (interrupt to exit) Axes: 0: 32767 1: 32767 Buttons: 0:off 1:off 2:off 3:off No control input causes any change. With a set of paddles plugged into port 1, one of those axes shows "0," but neither paddle causes a change when rotated, and the buttons remain "off" when pressed. I've tried resetting the device, and holding down a joystick or paddle button when plugging in the 2600-to-USB with no change. To confirm, this is how the ports should be wired, correct? // Atari pin 7 -- VCC // Controller #1 // Atari pin 3 -- PA2 // left paddle button, joystick left // Atari pin 4 -- PA4 // right paddle button, joystick right // Atari pin 9 -- PA1 // pot 1 // Atari pin 5 -- PA3 // pot 2 // Atari pin 8 -- GND // Atari pin 6 -- PB5 // fire // Atari pin 1 -- PB3 // joystick up // Atari pin 2 -- PB4 // joystick down // 100K resistors between Atari pin 9 and GND and between Atari pin 5 and GND // Controller #2 // Atari pin 3 -- PA6 // left paddle button, joystick left // Atari pin 4 -- PA8 // right paddle button, joystick right // Atari pin 9 -- PA5 // pot 1 // Atari pin 5 -- PA7 // pot 2 // Atari pin 8 -- GND // Atari pin 6 -- PB8 // fire // Atari pin 1 -- PB6 // joystick up // Atari pin 2 -- PB7 // joystick down // 100K resistors between Atari pin 9 and GND and between Atari pin 5 and GND Quote Link to comment Share on other sites More sharing options...
arpruss Posted June 6, 2020 Author Share Posted June 6, 2020 Changing INPUT_PULLDOWN to INPUT_PULLUP in line 207 might help. I've updated it in the code. 1 Quote Link to comment Share on other sites More sharing options...
fluxit Posted June 6, 2020 Share Posted June 6, 2020 (edited) 8 hours ago, arpruss said: Changing INPUT_PULLDOWN to INPUT_PULLUP in line 207 might help. I've updated it in the code. Making progress. This change does show paddle button inputs. They are inverted(closing the switch turns the button "off",) but both paddle buttons are now working. Pot(lack of) reading behavior is unchanged as expected(by me.) Do you suppose that removing the resistors would allow for joysticks to be "detected?" I realize that since they are just a bunch of open switches there isn't really anything to detect without something actuated on a stock standard 2600 joystick. Edited June 6, 2020 by fluxit Quote Link to comment Share on other sites More sharing options...
fluxit Posted June 6, 2020 Share Posted June 6, 2020 45 minutes ago, fluxit said: Making progress. This change does show paddle button inputs. They are inverted(closing the switch turns the button "off",) but both paddle buttons are now working. Pot(lack of) reading behavior is unchanged as expected(by me.) Do you suppose that removing the resistors would allow for joysticks to be "detected?" I realize that since they are just a bunch of open switches there isn't really anything to detect without something actuated on a stock standard 2600 joystick. Nope. Here's what I get with my second, bare board: Driver version is 2.1.0. Joystick (Grand Idea Studio Stelladaptor 2600-to-USB Interface) has 2 axes (X, Y) and 4 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn). Testing ... (interrupt to exit) Axes: 0:-30045 1:-29960 Buttons: 0:on 1:on 2:on 3:on Quote Link to comment Share on other sites More sharing options...
fluxit Posted June 7, 2020 Share Posted June 7, 2020 Sorry, it was my fault on the pots. It was very late when I was finishing up. I forgot vcc entirely. Now both paddles are working on the 1st port, although they are fighting each other a bit. I'm getting a full range response. Quote Link to comment Share on other sites More sharing options...
arpruss Posted June 7, 2020 Author Share Posted June 7, 2020 (edited) OK, I reversed the buttons: get the latest version from github. I am not sure what you mean by saying the two pots are fighting. Do you mean that when you turn one, the other wiggles a bit? I've had that issue with my (non-Atari) paddles, but I thought I managed to fix it by using different ADCs for the two paddles. And I have this implemented here, too. It should auto-detect joysticks vs. paddles, but maybe that's not working. Edited June 7, 2020 by arpruss Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.