Hacking [Tool] Joy-Con Toolkit

Futurdreamz

Well-Known Member
Member
Joined
Jun 15, 2014
Messages
2,276
Trophies
1
Age
32
XP
2,129
Country
Canada
Ok hopefully you will consider adding this feature,
++

It's kind of cool. I don't know if the S/N is listed in tiny writing on the Joy-con itself so erasing the internal copy might be bad. But Being able to give them a better label like "Zelda Skin R" might be useful.
 
  • Like
Reactions: Cubuss

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
++

It's kind of cool. I don't know if the S/N is listed in tiny writing on the Joy-con itself so erasing the internal copy might be bad. But Being able to give them a better label like "Zelda Skin R" might be useful.

Yes you can put whatever 16 character ASCII you want.
And yes it's NOT listed on the joy-con shell.

Anyway, I put a Poll. Please vote.
I will develop the feature under the table.
And if I see enough (for me) votes, then I will enable it.
 
  • Like
Reactions: Cubuss

Ep8Script

Well-Known Member
Member
Joined
Aug 5, 2017
Messages
335
Trophies
0
XP
555
Country
Australia
Hey man, this is a bit of a silly question, but I made an account just to ask. Since you've been able to make the Joy-Con vibrate on confirmation, would you be able to add rumble controls to this program? I was unable to compile the hidtest personally so it would be quite cool for me if you could get that working. Thank you for this!
 

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
I'm for the whole S/N thing, but I'd recommend having something in place that ensures the user has a backup first to make sure that it's safe in case something gets screwed up, or else it doesn't allow it to be changed.
That's the plan.

Hey man, this is a bit of a silly question, but I made an account just to ask. Since you've been able to make the Joy-Con vibrate on confirmation, would you be able to add rumble controls to this program? I was unable to compile the hidtest personally so it would be quite cool for me if you could get that working. Thank you for this!
It is possible. But to work correctly I need to write a rumble server, because to feel right and constant, it needs to get a rumble command at least every 100-200ms. But it's too much work for now.
In the other hand, next version will have a debugging mechanism that you can send whatever command you want. And ofc a rumble command.
In Rumble table you can check the write up I did on rumble pattern encoding. The command needed for future use is: cmd: 01, subcmd 48, arg: 01, to enable vibration and then cmd: 01 or 10, rumble: #, subcmd/arg: 00, to vibrate.

Question; What does the program do to the pro controller?
The same that does to Joy-Cons, except that Pro controller does not have a S/N and Buttons color.

how do I reverse it?
Write the original color. The retail colors are on the custom colors section of the color dialog. If you have a pro controller the color is RGB: 50,50,50.
Next version, which is now in debugging phase, will have a restore option.

Yo dude spawncast made a video for your program !
Thanks for informing me. That's great! I will add it to OP as a tutorial.
 
  • Like
Reactions: Ep8Script

Sky0723

New Member
Newbie
Joined
Aug 5, 2017
Messages
1
Trophies
0
Age
21
XP
41
Country
United States
This is really cool but I have one problem I was changing the colors around to see what I like the most and after changing the right joycon color for the first time after i tried to reconnect it to my pc and it would pair, then connect, and then say "driver error" idk what I did to make this happen but now I can't change the color back... Does anyone know a fix? I would really want to change my joycon color from... hot pink.
View attachment 94696

UPDATE: I fixed it.
 
Last edited by Sky0723,

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
UPDATE: I fixed it.

Normally these quirks come from windows readding drivers and a simple remove of the device in windows bt settings and then re-pair (and wait to say that it finished adding it.) fixes that.
If you had to follow another solution, please write about it, so other users with the same problem can fix it.
 

Angelcraft

Well-Known Member
Member
Joined
Sep 8, 2015
Messages
536
Trophies
0
Age
29
XP
363
Country
Spain
Hi, i have one question. Could you do this app for android? It will be amazing, like this app , where you can config the joycon for use with the phone.
 

GavinKnight

New Member
Newbie
Joined
Aug 5, 2017
Messages
3
Trophies
0
Age
27
XP
51
Country
United States
Joy-Con Toolkit v1.3

jc1.png

jc2.png


Summary:
Since months ago, I bought yellow joy-con shells and modded my Joy-Cons. Then I found Shinyquagsire23 HID-Joy-Con-Whispering and changed my joy con colors and this reflected my new neon yellow color in-game.

I always wanted to make an easy tool for that, for the community. So here it is with some additional goodies.
Have fun creating funky combinations.

What it can currently do:
  • Change colors of your Joy-Con and Pro Controller
  • Save your custom colors for future use
  • Backup your SPI flash
  • View S/N and MAC address
  • View Firmware version
Prerequisites:
  • .net framework v4.5.2
  • Visual c++ 2015 x86 redist
  • Bluetooth adapter (USB or built-in)
  • Windows PC
Video tutorial:


Changelog:
v1.3

  • Fixed Pro controller
Added protocol reply check to fix communication with Pro controller and sometimes Joy-Cons. Sometimes and especially with Pro controller fast communication, the hid channel gets overwhelmed with "uneeded" packets. Now we check for correct ones and reject the others.​
  • New switch dark theme look (theme requests will be ignored though).
  • Better tinting of controller previews.
  • Added Splatoon Pink and Green colors.
  • Fix hex color text on buttons.
  • Many bug fixes
  • You can now cancel SPI dumping and also you can see the progress. (Speed is unchanged, FW limitation).
v1.2
  • Now you can see real Joy-Cons and Pro controller for color view.
  • Updated Neon-Yellow color with retail values.
  • You can now save your own custom colors!
  • Fixed many bugs and crashes.
  • Every communication produces rumble confirmation.
  • Added led support. 1st Led: initialized, 4th Led Blinking/Solid: Standby/Write sent.
  • Changed SPI dump logic a little bit. Users with Pro controllers or with crashes, please try again.
  • Disabled Pro controllers color write for now.
v1.0
  • Initial release
Old Versions

Before you do anything, make a backup of your SPI flash.
When you change colors, before 3.0.0 update you need to restart your Switch and then pair, for colors to take effect.
For 3.x.x just pair the controller with Switch.
The custom colors in the color dialog are the retail ones.

Special thanks:
Everyone at Nintendo_Switch_Reverse_Engineering: General BT protocol usage
shinyquagsire23: General hidapi and BT protocol usage
SciresM: General hidapi usage for windows
Ceri: Neon-Yellow hex color values
Cosmic_Link: Splatoon Pink and Green Joy-Con dumps and colors
KapuDaKoopa, Sam S, SomeGamer, Jackson Ferrell: Beta testing
Spawn Wave: For the video tutorial

Do you have the .net framework it needs installed?

--------------------- MERGED ---------------------------

Is there anyway to not use winzip?
 

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
Hi, i have one question. Could you do this app for android? It will be amazing, like this app , where you can config the joycon for use with the phone.
As I said before, I don't even know if it android supports HID raw read/write. Probably yes, but it's something for the feature.

Is there anyway to not use winzip?
Use WinRAR instead.
Or 7-Zip.

And if the problem is user profile restriction on installations,
you can try 7-zip portable or even windows' own zip solution.
 

cualquiercosa327

Well-Known Member
Member
Joined
Mar 24, 2009
Messages
201
Trophies
1
XP
428
Country
That's the plan.


It is possible. But to work correctly I need to write a rumble server, because to feel right and constant, it needs to get a rumble command at least every 100-200ms. But it's too much work for now.
In the other hand, next version will have a debugging mechanism that you can send whatever command you want. And ofc a rumble command.
In Rumble table you can check the write up I did on rumble pattern encoding. The command needed for future use is: cmd: 01, subcmd 48, arg: 01, to enable vibration and then cmd: 01 or 10, rumble: #, subcmd/arg: 00, to vibrate.

Hello.First give you thanks for your great program.I would make a request,if it is no a problem : could you add an option to send any rumble file ( what cames on the games which began with 48 00 ..)?
Thanks
 

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
Hello.First give you thanks for your great program.I would make a request,if it is no a problem : could you add an option to send any rumble file ( what cames on the games which began with 48 00 ..)?
Thanks
I wanted since the start to have this. But it's not on my plans for the near feature.
Because the vibration is encoded, I need to create look up tables (especially for amplitudes). It's not on my near plans yet.

But now that you reminded me this, I have already created a tune for these linear actuators a month ago.
It's already in a format that joy-cons understand, so I think I will incorporate it inside as an Easter egg.
 

Ep8Script

Well-Known Member
Member
Joined
Aug 5, 2017
Messages
335
Trophies
0
XP
555
Country
Australia
It is possible. But to work correctly I need to write a rumble server, because to feel right and constant, it needs to get a rumble command at least every 100-200ms. But it's too much work for now.
In the other hand, next version will have a debugging mechanism that you can send whatever command you want. And ofc a rumble command.
In Rumble table you can check the write up I did on rumble pattern encoding. The command needed for future use is: cmd: 01, subcmd 48, arg: 01, to enable vibration and then cmd: 01 or 10, rumble: #, subcmd/arg: 00, to vibrate.
Thanks man! I look forward to following the project and I understand the difficulty of it. I hope you can open source it eventually so I can look into it myself. :)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    Spent like 5 hours on switch one never touched it again
  • Psionic Roshambo @ Psionic Roshambo:
    Sentinel of the stary skies
  • K3Nv2 @ K3Nv2:
    Ds is 20 years old this year
  • Psionic Roshambo @ Psionic Roshambo:
    So MJ no longer wants to play with it?
  • K3Nv2 @ K3Nv2:
    He put it down when the 3ds came out
  • SylverReZ @ SylverReZ:
    @K3Nv2, RIP Felix does great videos on the PS3 yellow-light-of-death.
  • Jayro @ Jayro:
    Eventhough the New 3DS XL is more powerful, I still feel like the DS Lite was a more polished system. It's a real shame that it never got an XL variant keeping the GBA slot. You'd have to go on AliExpress and buy an ML shell to give a DS phat the unofficial "DS Lite" treatment, and that's the best we'll ever get I'm afraid.
    +1
  • Jayro @ Jayro:
    The phat model had amazingly loud speakers tho.
    +1
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
  • BakerMan @ BakerMan:
    imagine not having hands, cringe
    +1
  • AncientBoi @ AncientBoi:
    ESPECIALLY for things I do to myself :sad:.. :tpi::rofl2: Or others :shy::blush::evil:
  • The Real Jdbye @ The Real Jdbye:
    @SylverReZ if you could find a v5 DS ML you would have the best of both worlds since the v5 units had the same backlight brightness levels as the DS Lite unlockable with flashme
  • The Real Jdbye @ The Real Jdbye:
    but that's a long shot
  • The Real Jdbye @ The Real Jdbye:
    i think only the red mario kart edition phat was v5
  • BigOnYa @ BigOnYa:
    A woman with no arms and no legs was sitting on a beach. A man comes along and the woman says, "I've never been hugged before." So the man feels bad and hugs her. She says "Well i've also never been kissed before." So he gives her a kiss on the cheek. She says "Well I've also never been fucked before." So the man throws her into the ocean and says "Now you're fucked."
    BigOnYa @ BigOnYa: A woman with no arms and no legs was sitting on a beach. A man comes along and the woman says...