Control 3DS slider with micro controller with out switching?

Discussion in '3DS - Console, Accessories and Hardware' started by Dekar, Oct 29, 2015.

  1. Dekar
    OP

    Dekar Newbie

    Newcomer
    2
    0
    Oct 29, 2015
    United States
    Hello everyone! First time posting, though I have been on this site countless times - you guys do some amazing things here!

    So, I am trying to do something similar to that 3DS controller mod by loopy or dekuNukem
    (http://3dscapture.com/forum/viewtopic.php?f=6&t=2169 and https://docs.google.com/document/d/1-dCfkwnoIebxSwfW9gZ9NFpktMHbVTEVkIrduLGLTMM/edit respectively).

    Instead of trying to control the device with a gamecube controller, I want to control it with a micro controller (using an Arduino Uno right now). Basically a simple macro maker - you read in input and then write it back at a later time. Everything was going well until I got to the analog stick!

    I noticed in dekuNukem's mod, you have to disconnect the the slider pad and switch between which one you are using. This is what I was originally going to do. I noticed that when I have the analog stick and my arduino both sending signals to the analog stick, they don't seem right; writing the value that I previously read in wasn't working, I assume because the analog stick was still connected and still giving voltage.

    But then I saw the loopy mod, which doesn't touch the slider pad! I asked him about it and he said that he used "IDACs (current DAC)". I have been using a digital potentiometer to get an analog signal in there, but was going to get a DAC (digital to analog converter) anyway since they just seem more flexible.

    So, the question really is, does anyone know how to basically get two analog sticks (one being a micro controller in my case) connected together and be able to work together like the loopy mod?

    Note: I am actually doing all my testing on a gamecube controller since I can afford to fry some of those in my testing. I assume that the analog sticks are the same or at least very similar, but we all know what happens when you assume things...

    Any info would be awesome! My electronic skills are lacking to say the least, so finding a solution has been very difficult with my limited knowledge. Thanks for reading!
     
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,731
    9,601
    Nov 21, 2005
    United Kingdom
    It sounds like you have attached things in parallel and that is not the best plan if you do need to sense things unless you an guarantee the rest/"off" state is infinite resistance. You can switch it in some way if you wanted -- if no current can flow through it then it should not matter. Personally I would contemplate taking the output of the slider, wiring it into the microcontroller and then having a mode to pass the info through, hopefully the latency will not be too high. Bonus that way is you could also do some basic control remapping -- if you like y axis inversion but the game lacks it... and at more advanced levels maybe even change the speed curve of the controller.
     
  3. Dekar
    OP

    Dekar Newbie

    Newcomer
    2
    0
    Oct 29, 2015
    United States
    I think you are correct in that it is connected in parallel - I honestly don't know any other way to do it. The digipot that I am using to write values can be turned off so it won't affect the values that I read in. But I can't turn off the physical joystick on the controller when writing (or I can but that is what I am trying to avoid).

    I think I will try to get a current DAC like loopy mentions and see how that works instead of my digipot. If that magically fixes the issue, then yay! Otherwise, the only other option I can see is, like you say, disconnecting the output slider; then I will have to manually switch them when changing from reading/writing data.

    The latency does not seem to be an issue when reading in values (I'll figure that out when writing data works, heh!). Once I get those values (which is not too hard, like I said it is writing them that is the issue), I could always to a little math on them to make them do cool things. I haven't even thought that far ahead yet, but it seems like it will be fun and bright as soon as I get past this road block!

    Thank you for your help so far - I'll do some researching to see if I can connect my digipot some other way (not parallel). Any other hints/ideas would be a great help!

    Edit: Oh - I see what you mean by hooking up the circle pad to the micro controller now (not sure why that didn't click before). The issue is I would like for the 3ds to still be functional without the micro controller. Since the arudino Uno is pretty huge and I won't be able to put it inside, I was just going to have a port to connect it to the 3ds whenever I wanted to use it. Gah! Sorry it is so complicated! Maybe I should just slow down, take a year or two of electronics classes so I understand what is going on, heh!
     
    Last edited by Dekar, Oct 29, 2015
  4. avocado

    avocado GBAtemp Regular

    Member
    111
    7
    Apr 17, 2016
    Hi..
    I am sorry to necromanize this old thread but this is the most similar situation with what I am planning to do about.
    I am also interested in modding my 3DS but do not know how to hack the analog stick.

    Have you found the solution for your mod?
    How about loopy's mod, have you finnally found how loopy actually worked with the analog?
    I see his mod only use 1 IC (microcontroller) with no additional separate IDAC.
    If that is the case, the microcontroller have IDAC feature inside.