1. CTCaer

    OP CTCaer Developer
    Developer

    Joined:
    Mar 22, 2008
    Messages:
    1,154
    Country:
    Greece
    Joy-Con Toolkit v5.2.0

    [​IMG]

    [​IMG] [​IMG] [​IMG]

    [​IMG] [​IMG]


    Summary:
    About a year 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 many additional goodies.
    Have fun creating funky combinations.


    Before you do anything, make a backup of your SPI flash.

    If you have done one, change the name a little bit to avoid overwrites and keep it for life!


    What it can currently do:
    • Change colors of your Joy-Con and Pro Controller (plus left/right grip)
    • Use the IR stream or capture and save photos
    • Use the NFC to check type and UID
    • Save your custom colors for future use
    • Backup your SPI flash
    • Edit user calibration for analog sticks
    • View S/N, FW Version, MAC address and Battery
    • Restore from a backup. Restore colors, S/N, Calibration, Full restore.
    • Change S/N
      *Disclaimer* If you didn't do a valid backup and you lost your S/N, you are the only responsible! If for whatever reason you lost it, check the plastic slivers that your Joy-Con were wrapped inside the retail box.
    • Debug - Send Custom Commands. Send Vibrations, set player and HOME leds, etc, and see their reply.
      *Disclaimer* Only for users that know what they are doing. You are the only responsible!
    • Full test controls. Test buttons, analog sticks, motion controls, complete with calibration.
    • Temperature reading. Check the current Joy-Con or the ambient temperature after letting it for some minutes.
    • Easter Egg: Play 2 Mario themes through Joy-Con HD Rumble
    • Capture traffic between the controller and the PC into a log file
    • For more, check Changelog
    Player Led behavior: Solid = Waiting for command, 4th Led Blinking = Doing stuff.
    Additionally for Right JC and Pro HOME led: Heartbeat= Waiting for command, Breathing = Doing stuff.


    Video tutorial:
    In English and French



    Prerequisites:
    Install only if needed.

    Changelog:
    v5.2.0 (download):


    Near Infrared Camera:
    • Add live configuration when streaming
    • Add many new IR settings (de-noise, led intensity, strobe lights, etc)
    • Change custom IR sensor registers
    • Auto exposure mode (This is done manually, so it's experimental. Expect bugs).
    User Calibration Editing:
    • Add Accelerometer/Gyroscope user calibration editing
    • Add Stick device factory parameters editing. Helps when you have drifting issues, that can't be fixed by calibrating the stick. Just raise the deadzone value.

    Debugging / Troubleshooting:
    Add 2 command line options:
    • -d: Dumps the communication packets into a log text file
    • -f: Forces the app to not check for connection again. Helps in some cases that the app reports that the controller was disconnected.
    Others:
    • Organize the IR/Playground/Calibration panels a little better
    • Many bugfixes and optimizations


    v5.0.0 (download):

    Near Infrared Camera:
    Look through the IR camera of the Joy-Con (R) controller
    • Capture and save a photo or Stream video
    • Fully configurable
      Resolution, IR leds, Exposure time, Digital gain and External IR light filter (filters lighters/candles, sunlight, etc.)
    • 4 color filters to choose: Grey, Ironbow (pseudothermal color), Night vision (green) and Red
    NFC:
    • Check simple info (type and uid) from NFC tags, credit cards and nfc-enabled phones via the Pro controller and Joy-Con (R)
    Edit analog sticks user calibration:
    • Edit the analog stick's X/Y ranges and centers. All controllers are supported.
      This can correct accidental walking and slow running when the switch's calibration does not let you calibrate them correctly.
    Support Switch update 5.0.0+ colors:
    • You can now edit the Grips color for the Pro controller individually along the body and buttons color.
      (Viewing the grips color is only supported in Switch update 5.0.0+)
    • The controller preview is now optimized and way faster
    Other:
    • Added traffic logging by using the command line argument -d
    • Made it fully non-blocking. Now the app will mostly not hang when the controller is disconnected when it does an operation
    • Countless bugfixes and optimizations


    Old changelog:
    v3.0.2:
    Hotfix version for Pro Controllers mostly
    • Implemented mitigations for Pro Controller erratic/random behavior of x3F input reports.
      Now certain read/write SPI commands will be more difficult to be skipped.
    • Added error checking for read/write SPI commands and user inform messages when these happen
    • Small bugfixes

    v3.0.1:
    The crappy old windows color dialog is now gone!
    The new Joy-Con Color Picker supports the following:
    • Beautiful dark design
    • Adobe style color picker, with different color spectrums for each mode and arrows/mouse wheel support.
    • HEX input
    • Eyedropper. Pick any color on your screen!
    • Choose both Body and Buttons colors in one screen
    • Presets that you can name. Save up to 16 retail custom colors and 32 user custom colors.
    • Legacy support.
      It will automatically load your old saved presets if you copied "Colors.config" inside jctool_v3.0.1.exe's folder.
      It will save them to the new config format and create a backup of your old colors with the name "Colors.backup"
    • New config xml layout, which has the color in HEX RGB along with the preset name.
    High DPI scaling support
    • Every control is now reworked so it will scale with your Windows DPI setting.
    • Forget any blurred look or out of bounds text.
    Smooth controller preview image
    • The preview box that you can check how the controller will look like with the new colors is now reworked.
    • It now produces nice HQ images with smooth color transition and no more color spots.
    Other
    • Many bugfixes and code refactoring!
    • Fully support Windows 10 (Fall Creators Update)

    v2.5.1:
    • Full featured controls, motion sensor and calibration readings. Check your user or factory calibrations, test buttons, stick and motion sensors raw and calibrated readings.
    • Temperature readings. Check your current Joy-Con temperature or the ambient temperature (by leaving it alone for some minutes).
    • Added Pro controller buttons color support
    • Small redesign of some parts for better UX
    • Added battery voltage reading
    • Added Refresh and Disconnect buttons.
      You can now change on the fly different Joy-Con without the need to close the toolkit for refreshing info, or just refresh temperature/battery/etc. Additionally "Disconnect" also reboots your device.
    • Added Red Joy-Con body and buttons colors. Thanks to SciresM. If you want to keep your custom colors, add them manually: 225,15,0 | 40,10,10.
    • Added New Easter Egg. Happy SMO release!
    • Countless bugfixes and improvements

    v2.0:
    • Full featured HD Rumble Player. Supports .bnvib and .jcvib. Also added LF/HF EQ, Pitch and support for looped .bnvib format.
      You can find attached the Mario theme in raw format. Please don't share .bnvib ripped from games.
    • Full Debug reply report. You can now check buttons/joystick/battery from the received packet.
    • Added S/N protection mechanism. With the first S/N change, it now saves it in an unused area inside your SPI.
      If you already changed it, it will not trigger. You need to restore it from a backup and then change it back.
    • Added option to restore it from inside the SPI. Needs the above. Otherwise you can still restore it from your SPI backup.
    • Battery percent based on regulated voltage reported from the device.
    • Now Joy-Con (R) and Pro Controller utilize the HOME led. Heartbeat = Standby/Awaiting command, Breathing = Doing stuff.

    v1.5.2:
    Hotfix version
    • Fixed a major compatibility issue with newest shipments of Joy-Con. Previously we were expecting 2 fw PatchRams inside the SPI dump. New Joy-Con have only 1 like Pro. This was triggering a "Backup is corrupt" message, even though the backup was perfect.
    • Revambed the debug and made it like a normal feature a little bit. Added sent subcmd/arguments windows and you can now send 25byte subcmd arguments (this fixes the HOME LED, subcmd: 38, arg: F100F0F0F0F0F0F000FFFF00FFFF00FFFF).
    • Some bugfixes

    v1.5.1:
    Minor fix version
    • Fixed debug option to not send additional commands
    • Revambed logic of debug option to show Input Report from Joy-Con
    • Configuration file now has a fixed filename. *Compatible with v1.5 config*. Rename your config name to Colors.config if you already set custom colors.
    • Fixed bugs and made logic way simpler to many functions
    • Removed all unsafe sprintf and fopen and changed them to safe and simpler logic

    v1.5:
    • Added Battery view
    • Added Restore option! It has many checks so don't worry. Corrupted backups from v1.2 and older will be automatically discarded!
    • Added Debug option. *Disclaimer* Only for users that know what they are doing. You are the only responsible!
    • Added Change S/N option. *Disclaimer* If you didn't do a valid backup with v1.3 or v1.5 and you lost your S/N, you are the only responsible!
    • *New .config* Added separate custom colors for Pro (until I create a custom color dialog in C++). You need to copy your colors from the old .config to the new one. The colors in .config are in BGR! Not in RGB and for every type they must be 16. Not less, not more
    • Many bug fixes
    • Added an Icon and an About screen that links here.
    • Added ability to close the app in lengthy operations.
    • Added write check for restore option. This also means no more failed writes for color/SN writing.
    • Changed the 4th LED behavior: On = Standby, Blinking = Doing operations
    • Added an Easter Egg. Can you find it???

    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

    Download Old Versions
    Download Oldest Versions



    Source code


    Troubleshooting:
    The colors do not show up in Switch:
    Switch 2.3.0 and older:
    Clear the controller cache by doing the following:
    Go to System Settings->Controllers and Sensors and do Disconnect all controllers. Restart your Switch and then pair.
    Switch 3.0.0, 4.0.0 and newer:
    Just pair the controller with Switch.


    Special thanks:
    Everyone at Nintendo_Switch_Reverse_Engineering: General BT protocol usage
    shinyquagsire23: General hidapi and BT protocol usage
    shuffle2: General hidapi usage for windows
    Ceri: Neon-Yellow hex color values
    Cosmic_Link: Splatoon Pink and Green Joy-Con dumps and colors
    SciresM: Red Joy-Con color values
    KapuDaKoopa, Sam S, SomeGamer, Jackson Ferrell, Starwort,trainboy2019,Hario337,Ep8Script,Lixmo: Testing. (If I forgot someone, please tell me)
    Spawn Wave,Thomhack: For the video tutorials
     

    Attached Files:

    Last edited by CTCaer, May 6, 2018
    grcd, Tyvar1, Lockmii and 112 others like this.
  2. Selim873

    Selim873 Nunnayobeesnes
    Member

    Joined:
    Jul 31, 2010
    Messages:
    1,261
    Country:
    United States
    Holy shit! I bought the Neon console shells since I regretted getting gray and that was going to be my biggest annoyance. This will come in handy! Thanks!! :)

    EDIT: Backing up my right Joycon now. I second the end of the OP with retail hex codes. I'd like to know those for Neon. The preview picture looks close enough though so I might just use an image editor to grab each color.

    Also, make sure the joycon is completely paired. I opened the app too soon and it was seen as a pro controller and the backup finished immediately (Supposed to take around 10 minutes according to the tool kit). Once Windows said that pairing was complete, it worked as it should.
     
    Last edited by Selim873, Jul 24, 2017
    ELY_M, Anonymous456 and CTCaer like this.
  3. Mnecraft368

    Mnecraft368 I hate my name.
    Member

    Joined:
    Aug 8, 2015
    Messages:
    1,721
    Country:
    United Kingdom
    im confused... what does this do. If im right, it changes the home button LED color?
     
  4. Selim873

    Selim873 Nunnayobeesnes
    Member

    Joined:
    Jul 31, 2010
    Messages:
    1,261
    Country:
    United States
    No. You know when you sync a joycon it shows on the system what color it is on screen? This changes that.
     
    Anonymous456 and petethepug like this.
  5. Mnecraft368

    Mnecraft368 I hate my name.
    Member

    Joined:
    Aug 8, 2015
    Messages:
    1,721
    Country:
    United Kingdom
    ohhhh ok
     
    rebmcr likes this.
  6. CTCaer

    OP CTCaer Developer
    Developer

    Joined:
    Mar 22, 2008
    Messages:
    1,154
    Country:
    Greece
    BTW, the 3 (Grey, Neon-Blue and Neon-Red) colors at the custom colors section are correct.
    They are dumped from the actual colored joy-cons.

    Neon-Yellow, is made approximately by me. If someone has the new joy cons and can send me the hex code for body color and buttons color it would be helpful.

    Lastly, the buttons color are not actually black. They are a very dark hue of the body color. Again, the 3 first custom ones are correct.
     
    lordelan and Selim873 like this.
  7. xXxSwagnemitexXx

    xXxSwagnemitexXx meme machine
    Member

    Joined:
    Dec 7, 2016
    Messages:
    657
    Country:
    United Kingdom
    I'll try it
     
  8. Selim873

    Selim873 Nunnayobeesnes
    Member

    Joined:
    Jul 31, 2010
    Messages:
    1,261
    Country:
    United States
    Success! Went from gray to neon. I custom painted my joycon, they were originally gray but I bought the neon shells. Waiting for those to arrive. Picture was taken before I changed button color but I don't think there would have been a difference on picture.

    IMG_20170724_112610.jpg
     
    lordelan and Soulsilve2010 like this.
  9. luk_pop

    luk_pop GBAtemp Regular
    Member

    Joined:
    Apr 30, 2017
    Messages:
    117
    Country:
    Poland
    Super I have to try as I come back from work.
     
  10. whateverg1012

    whateverg1012 GBAtemp Advanced Fan
    Member

    Joined:
    Sep 23, 2016
    Messages:
    527
    Country:
    United States
    this is awesome! does it also change the color for the "switch" animation when you slides the joycons in?
     
    BBriof likes this.
  11. soaresden

    soaresden GBAtemp Regular
    Member

    Joined:
    Dec 16, 2013
    Messages:
    266
    Country:
    France
    Since everyone is confused here a screen of my colors and what the OP is talking about :

    [​IMG]
     
    lordelan and CTCaer like this.
  12. Selim873

    Selim873 Nunnayobeesnes
    Member

    Joined:
    Jul 31, 2010
    Messages:
    1,261
    Country:
    United States
    Yep!
     
  13. CTCaer

    OP CTCaer Developer
    Developer

    Joined:
    Mar 22, 2008
    Messages:
    1,154
    Country:
    Greece
    Yes. Every colored icon or animation changes.

    Yep that's exactly what it is

    I wanted to put Joy-Con images that change color instead of buttons in the UI, but it was a lot of work and kept it for later release. :P
     
  14. soaresden

    soaresden GBAtemp Regular
    Member

    Joined:
    Dec 16, 2013
    Messages:
    266
    Country:
    France
    It worked like a charm

    Here an example of Hundred of possibilities

    [​IMG]
    Many Thanks !
     
    lordelan and CTCaer like this.
  15. Chizko

    Chizko GBAtemp Fan
    Member

    Joined:
    Jan 24, 2015
    Messages:
    300
    Country:
    Chile
    Awesome. Thanks.
     
  16. Eastonator12

    Eastonator12 GBAtemp Advanced Fan
    Member

    Joined:
    Aug 16, 2016
    Messages:
    630
    Country:
    United States
    So how to I use this? Hold my joycon next to my computer and hit a button?
     
  17. dj505

    dj505 Inexperienced Romhacker
    Member

    Joined:
    Oct 4, 2014
    Messages:
    554
    Country:
    Canada
    This is really cool! I wonder what other stuff is possible with this kind of thing

    Connect it through Bluetooth like you would a standard Bluetooth device.
     
    Eastonator12 likes this.
  18. StarGazerTom

    StarGazerTom GBAtemp Advanced Maniac
    Member

    Joined:
    Feb 2, 2015
    Messages:
    1,943
    Country:
    That's pretty damn funny that you can do that. Here's hoping folks start printing custom colors now. Need to get ahold of some Marie Green shells now and I'll be a happy chappy.
     
    Orangy57 likes this.
  19. zakeblast

    zakeblast Advanced Member
    Newcomer

    Joined:
    Sep 30, 2009
    Messages:
    57
    Country:
    United States
    I can't even get the application to open, it's actually pretty frustrating.
    I open it, and it immediately closes.
    I already have my joycon paired, and I've ensured that they have a solid connection.
     
  20. dj505

    dj505 Inexperienced Romhacker
    Member

    Joined:
    Oct 4, 2014
    Messages:
    554
    Country:
    Canada
    Do you have the .net framework it needs installed?
     
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - Toolkit, [Tool],