1. Hello Guest! Did you know that we're also on Discord? You can join us here: https://discord.gg/vxqdaG4.
    Dismiss Notice

Project diva homemade controllers

Discussion in 'Tutorial Area - By users for users!' started by nofutur, Jul 20, 2016.

  1. Doctopus

    Joined:
    Dec 22, 2017
    Messages:
    50
    Likes Received:
    1
    Trophy Points:
    115
    Location:
    Planet Earth
    #101 Doctopus, Nov 24, 2018
    Last edited: Dec 3, 2018
    (The interesting part is on the last half of this post.)

    So a while back I did some extra experiments on the DS4 touchpad behavior and found something informative:

    1. Swiping over the touchpad with one finger from one end to other consistently fills 20 parallelograms on a chain slide note. Compare to this, the longest single swipe I saw on the arcade slider fills about 37

    (As seen here)



    2. Sliding with two fingers synchronously fills double the parallelograms.

    3. To my surprise, the touchpad does not seem to care enough about the difference between <--> notes and -><- notes. I did a test by forging the coordinates of the touch for the touchpad using my controller board and a <--> slide got registered as <--> AND -><-. Sliding manually instead programmatically results in unpredictable behavior when intentionally sliding backwards. (hisokeee was right, the touchpad is truly awful)

    4. The touchpad does do two point tracking so if one swipe the touchpad with two fingers the swipe will be registered as a double slide.

    So it seems that using touchpad as a slider or automatically switching between analog sticks and touchpad is actually a bad idea if the controller cannot predict whether a note is a chain slide or a normal slide, since one cannot naively assume the note type just from the user input (What if the user swipes a slide note a bit longer? Is it a slide or a chain slide? What about double swiping a chain slide? How to encode double swiping to touchpad inputs? The list goes on and on...).

    It is already obvious that using LR to play slide notes is suboptimal since the swiping directions are not checked (like described on Point 3 above) and there's no way to precisely tell the game about swiping speed and distance thus the feedback on chain slide notes is far away from what an arcade slider actually does. Analog sticks have swiping directions checked but still does not have the correct feedback. Touchpad has the correct feedback but (shockingly) no stable swiping direction check, and encoding doubles could be painful. Seems that everything I could think of are bad ideas on their own if the controller cannot predict whether a note is a chain slide or a normal slide...

    And here is where things get interesting.

    There is a "forgotten" feature in Customize->Game/Control Config, so forgotten that probably nobody ever thought and touched it. "Controller Vibration", which basically utilizes the controller rumble feature to send a feedback to the player when a chain slide note is in progress.

    This is EXACTLY what I want!

    If the game tells the controller that it should vibrate, that means the current note is a chain slide note and the controller should map the current finger position to the touchpad as two synchronized points. Otherwise it is a normal slide/an empty slide and the controller maps the swiping directions to analog sticks. This way both swiping directions and swiping distance are checked by the game when needed thus gives the correct response on both chain slide notes and single/double slide notes. Thus it quickly becomes "possibly the most accurate as of now" slider replica on PS4 that I could think of.

    Whoever in SEGA that came up with the idea that "we should use controller vibration to give players feedback ONLY on chain slide notes", I am falling in love with them (metaphorically).

    So then I spent a few hours to figure out what makes the PS4 treat third-party controllers with different hardware configurations differently, and I did eventually find out how to make PS4 send rumble signals to my controller. After another few hours of modifying the firmware, I finally have a slider that "feels arcade" when I swipe on it.

    There is, however, a major limitation on this approach: it depends on a feature, i.e. rumble, that are not widely supported on off-the-shelf fightstick hardware. In fact I did not see any fightstick boards that support it, yet. (AFAIK Akishop PS360+ and Cerberus have the rumble bit set but they do not enable the output report thus get no feedback at all. That was SOOO close!) Currently my controller and some commercially available converters support parsing the rumble report, and GIMX will support it eventually as well since I notified the developers about my discovery on how to enable rumble on licensed USB controllers. It is also possible to implement it via an EXTREME padhack that involves emulating touches on the touchpad (whether using digital or analog methods) and detecting voltages on the rumble motor driver outputs. Still, this is a bad news for all fightstick board users, which also covers the majority of FT controller users/makers.

    (Actually there is another annoying flaw: no more empty sliding chime! D: But again nevertheless this is the best way to replicate a slider that I could think of now.)

    (Anyway: phase one of Project Make-Slider-Arcade-Again done, move on to the next phase)

    EDIT: use official terms like "chain slide notes" instead of inventing my own
     
  2. Doctopus

    Joined:
    Dec 22, 2017
    Messages:
    50
    Likes Received:
    1
    Trophy Points:
    115
    Location:
    Planet Earth
    #102 Doctopus, Dec 1, 2018
    Last edited: Dec 1, 2018
    (It feels like I am hijacking this thread more than I should LOL. Anyway here goes another post:)

    Also an upgrade suggestion for fight stick PCB users (if your PCB supports true analog stick inputs):

    Get yourself a 2-channel digital potentiometer (or two 1-channel digital potentiometers) and wire the potentiometer(s) to X-axis of the analog stick inputs. Also wire the Y-axis to two 50-50 voltage dividers (e.g. 10k-10k should work fine).

    After that you got a digitally controllable analog stick emulation. Now you can connect the digital input of your digital potentiometer(s) to an Arduino and use the Arduino to scan the slider input (button presses or gesture detection). This offers two benefits: configurable button behavior and no more "sliding backwards has no penalty" issue for <--> and -><- slides.

    For a 4-button slider setup, here is an example truth table for mapping the presses to sliding directions. Notice the mapping for <--> and -><- slides are more accurate than using the built-in macro feature in the game and both 1100, 0011 presses and 1010, 0101 presses map to <-<- and ->-> (unlike macros which you need to remember which is left and which is right).

    (DC means don't care, or "fine if you don't want to handle them")

    (Values for left stick and right stick are represented as 8-bit numbers. Change this if the resolution of your digital potentiometer differs)

    Code:
    0 1 2 3 | LS       RS       DC?
    --------+----------------------
    0 0 0 0 | 0x7f (|) 0x7f (|)
    0 0 0 1 | 0xff (>) 0x7f (|)
    0 0 1 0 | 0xff (>) 0x7f (|)
    0 0 1 1 | 0xff (>) 0xff (>)
    0 1 0 0 | 0x00 (<) 0x7f (|)
    0 1 0 1 | 0xff (>) 0xff (>)
    0 1 1 0 | 0xff (>) 0x00 (<)
    0 1 1 1 | 0xff (>) 0xff (>) DC
    1 0 0 0 | 0x00 (<) 0x7f (|)
    1 0 0 1 | 0x00 (<) 0xff (>)
    1 0 1 0 | 0x00 (<) 0x00 (<)
    1 0 1 1 | 0x00 (<) 0xff (>) DC
    1 1 0 0 | 0x00 (<) 0x00 (<)
    1 1 0 1 | 0x00 (<) 0xff (>) DC
    1 1 1 0 | 0x00 (<) 0x00 (<) DC
    1 1 1 1 | 0x00 (<) 0xff (>) DC
    
    Again if anyone wants more information (schematics, etc.) feel free to ask me :P
     
  3. LanDi

    LanDi Big Debut

    Joined:
    May 15, 2018
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    30
    #103 LanDi, Dec 26, 2018
    Last edited: Dec 26, 2018
    My friend showed me something he found.

    https://item.taobao.com/item.htm?sp...vkvvlrHGwFJ38dH4zshdbMTPaJJQ_OkFXo5ilH7ptgsNw

    Looks like a China-made pre-built FT controller w/ touch pad like the one featured previously in this thread. Quite expensive, but I'm pretty desperate to get my hands on one and see what they've done with it.

    Here are some videos:
    https://www.bilibili.com/video/av33983442/
    https://www.bilibili.com/video/av33983077/

    Seems to be a complete FT setup with RGB lighting, "infrared" switches and even microphone input and headphone output among other features.

    Edit:

    There are comments that say they got them, with pictures. Looks pretty legit. Listing is for a run of 4 at a time with a deposit. Only two in stock so I'm going to order one tonight and see what I get. I can convert my controller I never finished back into a FT mini con and I have spare parts, buttons, switches and springs to swap out if they cheaped on this.
     
  4. Doctopus

    Joined:
    Dec 22, 2017
    Messages:
    50
    Likes Received:
    1
    Trophy Points:
    115
    Location:
    Planet Earth
    #104 Doctopus, Dec 28, 2018
    Last edited: Dec 28, 2018
    @LanDi I have been following this one for a while already but decided to wait for someone else to post it here because I already did so many posts in a row D:. Besides that, I saw some effort by the maker to push their controller to other countries beside China so someone here will eventually know the existence of it.

    Based on information collected from several sources like owner's manual, product listing, demo videos and feedback from other buyers, I already know what to expect from this controller:
    • Case is made from acrylic and high density styrofoam

    • The "IR microswitches" are likely based on pol8139's design I shared earlier (photo-interrupter hacked on a Chinese lamp holder)

    • Uses Brook PS3/PS4 fightboard (the cheapest one)

    • Audio function is implemented using a separate USB sound card through a separate port (I was expecting a hub, or even better, the new Brook PS3/PS4 board with audio)

    • Everything is made of Chinesium (buttons, springs, you name it)

    • Probably custom-made input mux board that handles lighting and maybe also sends reports to PS4 like my setup (though I bet it doesn't)

    • A separate power supply for LEDs

    • Slider emulates LR (big "eww" personally. Made worse by the claim "completely reproduce the arcade feel" on their listing)

    • English manual is so Chinglish to the fact that it is probably better to read the Chinese manual with Google Translate. No offense, it's the truth :(

    As one can see it looks like they did quite a lot on cost-saving but not really for reducing the final price. So personally I wouldn't recommend it because it makes me feel like buying a Chinese Arduino Uno clone for $20 or more, something that one should avoid. However if you already bought it I'm more than happy to see the teardown ;P

    PS: The maker has a youtube channel which has all the demo videos: https://www.youtube.com/user/iloveFLL/videos
    PS2: DJDAO also announced that they are working on a full-sized FT controller. Judging by the fact that they developed their own encoder board for EZMax with some support on receiving the rumble reports, could this controller be the first commercially available controller to integrate Project Make-Slider-Arcade-Again? Only time will tell. (BTW I'm not affiliated in any way with them, so if they marketing-wanked their controller as "world's first FT controller" that has feature developed in Project Make-Slider-Arcade-Again, I will find a way to fight back :P)
     
    correllroy likes this.
  5. LanDi

    LanDi Big Debut

    Joined:
    May 15, 2018
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    30
    Already ordered. Personally, not concerned with any of your points. I have the parts to replace cheap components such as the buttons, switches and springs. The fact it's a finished fully featured controlled with touch pad emulation is what is exciting to me. I still haven't had the time to make my case, I've been using that same plywood one this entire time and even when I did get back to it I never planned to sit down and make a touch pad work so getting some sort of touch pad emulation is worth the extra cost. I think the price tag is entirely fair for what they're offering, especially since they're the literal only ones offering it.

    It's a really appealing product for anyone who wants to get into the arcade gameplay without building their own controller, a lot of folks would rather buy one than build because they think they couldn't or don't have the tools or time to do so. Assuming you can upgrade springs, buttons and switches which I'm certain you can it's a fine starting point for anyone who is willing to make the investment. Considering what I spent on mini-cons and upgrade to them and in switches and buttons etc. for my own build I wish this was available earlier I would've just bought one of these.

    If DJDAO actually makes the PD controller, I'd be interested in taking a look and probably getting one of those as well.

    Once I get it I'll have a detailed review and tear down.
     
  6. Doctopus

    Joined:
    Dec 22, 2017
    Messages:
    50
    Likes Received:
    1
    Trophy Points:
    115
    Location:
    Planet Earth
    #106 Doctopus, Dec 29, 2018
    Last edited: Dec 29, 2018
    Actually the only real concern for me performance-wise is that the slider uses the worst possible yet popular emulation method despite it being "completely reproduces the arcade feel".

    The slider map swipes to LR, which means 1. -><- and <--> slides can be performed backwards without penalty, 2. hard to switch back to DS4 if one have macros configured and 3. does not have the linear feeling on chain slides like it was on the arcade thus short swipes may max out a longer note and long swipes may fail to max out a shorter note.

    Price-wise it also feels a bit like "can easily shrink the price but decided don't". However as you pointed out that they are literally the only one who sells it as of now so still somewhat understandable. Otherwise I admit that it is a good starting point for ones who just want a finished product.
     
  7. phailyoor

    phailyoor Welcome to DIVA!

    Joined:
    Jan 2, 2019
    Messages:
    2
    Likes Received:
    2
    Trophy Points:
    25
    #107 phailyoor, Jan 9, 2019
    Last edited: Jan 9, 2019
    Found something interesting on twitter




    The actual AC touch slider has 32 rectangular pads on a regular PCB and has a polycarbonate panel. The pads are connected to the pins of a cypress cy8c22345-24sxi microcontroller with plain resistors, with 16 sensors per microcontroller. It seems like it would be easy enough to make an exact replica. With a more modern Cypress chip, it can be done with a single chip.

    Edit:
    I've managed to attach a cypress microcontroller to a brook ps4 controller board. I can emulate the chip on the official brook touchpad and send the data to the main brook board. I'm going to try wrapping the coordinates over at 0 to get past the issue of the touchpad not filling up enough bars. This leaves the issue Doctopus mentioned with <--> and -><- but I personally don't think I'll notice that at all in gameplay.

    Github:
    https://github.com/azhao12345/testslider1

    Links:
    http://www.zeitecsemi.com/dokuwiki/doku.php - zet6223 datasheet
    http://www.brookaccessory.com/detail/58690501/ - Brook board
    http://www.cypress.com/documentatio...-145-40xx-psoc-4000s-capsense-prototyping-kit
     
    Doctopus and correllroy like this.
  8. Doctopus

    Joined:
    Dec 22, 2017
    Messages:
    50
    Likes Received:
    1
    Trophy Points:
    115
    Location:
    Planet Earth
    #108 Doctopus, Jan 9, 2019
    Last edited: Jan 10, 2019
    Thanks for sharing the teardown!

    Yes the newer PSoC should make it easier to design a single-chip solution thanks to more CapSense pins and better noise immunity achieved by using techniques like active shielding, etc.

    And I saw you also reversed the Brook touchpad protocol. Nice! One thing, though. Be careful when you do coordinate wrapping. The game may think you swiped backwards by 20 bars on the wrapping point. I am not sure whether or not this is the case (I didn't bother to do the testing) and how big the impact will be if it actually behaves like I said. I suggest you to make some extra experiments on this to make sure it will not affect the gameplay significantly.
     
  9. phailyoor

    phailyoor Welcome to DIVA!

    Joined:
    Jan 2, 2019
    Messages:
    2
    Likes Received:
    2
    Trophy Points:
    25
    #109 phailyoor, Jan 14, 2019
    Last edited: Jan 23, 2019
    Trying out making a circuit board for the sensor. Seems like I'm not very good at making circuit boards. This design should be uploadable at the chinese PCB shops offering $5 pcb deals. I haven't tried it yet, so I don't know if it works

    https://github.com/azhao12345/testsliderpcb
    944476214115cf432b1d5fd70ebb43c7.png 3e8911dbdd98af19fa8df7e33265a11b.png

    Edit: pcbs are made and they seem to work

    photo_2019-01-22_22-33-44.jpg
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice