A short tutorial detailing how to change the display colour of your Nintendo switch joy con controllerslink to software download:https://gbatemp.net/threads/. Jul 14, 2018 So lucky the Eevee color was untouched!!!!! Update: Blue, Neon Purple, and Neon Orange colors added! Major Update: Sorry it took so long, but the Animal Crossing Joy-Con colors have finally been added in! Nintendo Switch is copyright of Nintendo. Input Display by MoonsPod. Display your controller inputs in a highly customizable display, PS4, Xbox and Switch buttons available, works with most controllers. To remove the background for your stream use the Chroma Key options in your streaming software. In control menu to see controls (right click to show. Painting Nintendo Switch Joy-Con Different Colors Isn't As Scary As It Looks. Truly painting your Joy-Con controllers will require taking them completely apart. The process looks gnarly but the.
Joy-Con is the name for the Switch's primary game controllers. The controllers communicate to the console through bluetooth and can be disconnected from the main unit.
- 3Bluetooth HID
Hardware
The controllers themselves are simple to disassemble and identify.
Color | Item |
---|---|
Red | Broadcom BCM20734 Bluetooth 4.1/2.4 GHz Transceiver |
Orange | STMicroelectronics NFCBEA 812006 33 (Likely NFC reader IC) |
Yellow | Macronix International MX25U4033E 4 Mb CMOS Flash |
Firmware
See also: Joy-Con Firmware
The firmware of the Joy-Cons seems to be generic across all instances. Details such as the handedness of the controller and the color is just indicated in a configuration part of the flash. Judging by quick glance at the firmware, it's probably identical to that used on the Pro Controller as well.
Controller | 1.0.0 |
---|---|
Joy-Con Left (Blue) | flash dump |
Joy-Con Right (Red) | flash dump |
The flash is in a patch-ram format. Tools for dealing with it are available [3].A dump of the ROM region (taken while firmware was running) can be found here. Note this is the same SoC used on the other controller models, as well.
Bluetooth HID
Commands
Command | Name |
---|---|
0x00 | |
0x01 | PairingOut |
0x02 | GetDeviceInfo |
0x03 | SetDataFormat |
0x04 | LRButtonDetection |
0x05 | Page |
0x06 | Reset |
0x07 | ClearPairingInfo |
0x08 | Shipment |
0x10 | SerialFlashRead |
0x11 | SerialFlashWrite |
0x12 | SerialFlashSectorErase |
0x20 | McuReset |
0x21 | McuWrite |
0x22 | McuResume |
0x23 | |
0x24 | McuPollingEnable |
0x25 | McuPollingDisable |
0x28 | AttachmentWrite |
0x29 | |
0x2A | AttachmentEnable |
0x2B | |
0x30 | SetIndicatorLed |
0x31 | GetIndicatorLed |
0x38 | SetNotificationLed |
0x40 | SensorSleep |
0x41 | SensorConfig |
0x42 | SensorWrite |
0x43 | SensorRead |
0x48 | MotorEnable |
0x50 | GetBatteryVoltage |
0x51 | WriteChargeSetting |
0x52 | |
0x58 | ExtDevWrite |
0x59 | GetExtDevInfo |
0x5A | ExtDevPollingEnable |
0x5B | ExtDevPollingDisable |
0x5C | ExtDevInFormatConfig |
0x60 | InternalAttachmentWrite |
0x61 | |
0x62 | InternalAttachmentEnable |
0x63 | InternalAttachmentPollingEnable |
0x64 | InternalAttachmentPollingDisable |
0x80 | Ack |
0x81 | PairingIn |
0x82 | DeviceInfo |
0x83 | LRButtonElapsedTime |
0x90 | SerialFlashData |
0xA0 | McuData |
0xA8 | AttachmentData |
0xAA | InternalAttachmentRead |
0xB0 | IndicatorLed |
0xC0 | SensorData |
0xD0 | BatteryVoltage |
0xD8 | ExtDevRead |
0xD9 | ExtDevInfo |
Left & Right Separate Joy-con
When paired directly to a computer over bluetooth, the joy-con both provide identical HID input report descriptor. This does not appear to include motion controls, IR data, or NFC. They both behave as detached single-player controllers.
HID Input Report Descriptor (Hexadecimal):
Parsed Bytes | Description |
---|---|
0x05, 0x01, | Usage Page (Generic Desktop Ctrls) |
0x09, 0x05, | Usage (Game Pad) |
0xA1, 0x01, | Collection (Application) |
0x06, 0x01, 0xFF, | Usage Page (Vendor Defined 0xFF01) |
0x85, 0x21, | Report ID (33) |
0x09, 0x21, | Usage (0x21) |
0x75, 0x08, | Report Size (8) |
0x95, 0x30, | Report Count (48) |
0x81, 0x02, | Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) |
0x85, 0x30, | Report ID (48) |
0x09, 0x30, | Usage (0x30) |
0x75, 0x08, | Report Size (8) |
0x95, 0x30, | Report Count (48) |
0x81, 0x02, | Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) |
0x85, 0x31, | Report ID (49) |
0x09, 0x31, | Usage (0x31) |
0x75, 0x08, | Report Size (8) |
0x96, 0x69, 0x01, | Report Count (361) |
0x81, 0x02, | Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) |
0x85, 0x32, | Report ID (50) |
0x09, 0x32, | Usage (0x32) |
0x75, 0x08, | Report Size (8) |
0x96, 0x69, 0x01, | Report Count (361) |
0x81, 0x02, | Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) |
0x85, 0x33, | Report ID (51) |
0x09, 0x33, | Usage (0x33) |
0x75, 0x08, | Report Size (8) |
0x96, 0x69, 0x01, | Report Count (361) |
0x81, 0x02, | Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) |
0x85, 0x3F, | Report ID (63) |
0x05, 0x09, | Usage Page (Button) |
0x19, 0x01, | Usage Minimum (0x01) |
0x29, 0x10, | Usage Maximum (0x10) |
0x15, 0x00, | Logical Minimum (0) |
0x25, 0x01, | Logical Maximum (1) |
0x75, 0x01, | Report Size (1) |
0x95, 0x10, | Report Count (16) |
0x81, 0x02, | Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) |
0x05, 0x01, | Usage Page (Generic Desktop Ctrls) |
0x09, 0x39, | Usage (Hat switch) |
0x15, 0x00, | Logical Minimum (0) |
0x25, 0x07, | Logical Maximum (7) |
0x75, 0x04, | Report Size (4) |
0x95, 0x01, | Report Count (1) |
0x81, 0x42, | Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State) |
0x05, 0x09, | Usage Page (Button) |
0x75, 0x04, | Report Size (4) |
0x95, 0x01, | Report Count (1) |
0x81, 0x01, | Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) |
0x05, 0x01, | Usage Page (Generic Desktop Ctrls) |
0x09, 0x30, | Usage (X) |
0x09, 0x31, | Usage (Y) |
0x09, 0x33, | Usage (Rx) |
0x09, 0x34, | Usage (Ry) |
0x16, 0x00, 0x00, | Logical Minimum (0) |
0x27, 0xFF, 0xFF, 0x00, 0x00, | Logical Maximum (65534) |
0x75, 0x10, | Report Size (16) |
0x95, 0x04, | Report Count (4) |
0x81, 0x02, | Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) |
0x06, 0x01, 0xFF, | Usage Page (Vendor Defined 0xFF01) |
0x85, 0x01, | Report ID (1) |
0x09, 0x01, | Usage (0x01) |
0x75, 0x08, | Report Size (8) |
0x95, 0x30, | Report Count (48) |
0x91, 0x02, | Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) |
0x85, 0x10, | Report ID (16) |
0x09, 0x10, | Usage (0x10) |
0x75, 0x08, | Report Size (8) |
0x95, 0x30, | Report Count (48) |
0x91, 0x02, | Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) |
0x85, 0x11, | Report ID (17) |
0x09, 0x11, | Usage (0x11) |
0x75, 0x08, | Report Size (8) |
0x95, 0x30, | Report Count (48) |
0x91, 0x02, | Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) |
0x85, 0x12, | Report ID (18) |
0x09, 0x12, | Usage (0x12) |
0x75, 0x08, | Report Size (8) |
0x95, 0x30, | Report Count (48) |
0x91, 0x02, | Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) |
0xC0, | End Collection |
Colors
HEX codes for the colors shown in the 'Controllers' menu of the Switch UI can be found in a Joy-con SPI dump starting at offset 0x6050. Body color is first followed by button color and each is 3 bytes long. These values are able to be re-written with any HEX color value to make the Joy-cons show up as different colors in the UI. The following is a list of official HEX colors recovered from SPI dumps.
Retail Color | Body HEX | Button HEX |
---|---|---|
Black / ブラック | #313131 | #0F0F0F |
Gray / グレー | #828282 | #0F0F0F |
Neon Red / ネオンレッド | #FF3C28 | #1E0A0A |
Neon Blue / ネオンブルー | #0AB9E6 | #001E1E |
Neon Yellow / ネオンイエロー | #E6FF00 | #142800 |
Neon Green / ネオングリーン | #1EDC00 | #002800 |
Neon Pink / ネオンピンク | #FF3278 | #28001E |
Red / レッド | #E10F00 | #280A0A |
Blue / ブルー | #4655F5 | #00000A |
Neon Purple / ネオンパープル | #B400E6 | #140014 |
Neon Orange / ネオンオレンジ | #FAA005 | #0F0A00 |
White / ホワイト | #FFFFFF | #323232 |
Special Edition Color | Body HEX | Button HEX |
Super Smash Bros. Ultimate Edition Gray Joy-Con / 大乱闘スマッシュブラザーズ SPECIAL | #828282 | #0F0F0F |
Pokemon: Let's Go! Eevee-Brown Left Joy-Con / ポケットモンスター Let's Go! イーブイ | #C88C32 | #281900 |
Pokemon: Let's Go! Pikachu-Yellow Right Joy-Con / ポケットモンスター Let's Go! ピカチュウ | #FFDC00 | #322800 |
*Nintendo Labo Creators Contest Edition 'Cardboard'-Colored Joy-Con | #D7AA73 | #1E1914 |
**Dragon Quest XI S Lotto Edition Royal-Blue Joy-Con / ドラゴン クエスト XI S (ロト版) | #1473FA | #00000F |
**Disney Tsum Tsum Festival Neon-Purple Left Joy-Con / ディズニー ツムツム フェスティバル | #B400E6 | #140014 |
**Disney Tsum Tsum Festival Neon-Pink Right Joy-Con / ディズニー ツムツム フェスティバル | #FF3278 | #28001E |
Animal Crossing: New Horizons Pastel-Green Left Joy-Con / あつまれ どうぶつの森 | #82FF96 | #0A1E0A |
Animal Crossing: New Horizons Pastel-Blue Right Joy-Con / あつまれ どうぶつの森 | #96F5F5 | #0A1E28 |
Fortnite Wildcat Edition Yellow Left Joy-Con | #FFCC00 | #1A1100 |
Fortnite Wildcat Edition Dark-Blue Right Joy-Con | #0084FF | #000F1E |
Mario Red & Blue Edition Red Joy-Con / マリオ レッド × ブルー | #F04614 | #1E1914 |
Monster Hunter Rise Edition Gray Joy-Con / モンスターハンターライズ | #828282 | #0F0F0F |
Fortnite Fleet Force Edition Dark-Blue Left Joy-Con | #0084FF | #000F1E |
Fortnite Fleet Force Edition Yellow Right Joy-Con | #FFCC00 | #1A1100 |
Legend of Zelda: Skyward Sword Dark-Blue Left Joy-Con / ゼルダの伝説 スカイウォードソード | #2D50F0 | #1E0F46 |
Legend of Zelda: Skyward Sword Dark-Purple Right Joy-Con / ゼルダの伝説 スカイウォードソード | #500FC8 | #00051E |
// *(Prize Awarded for Labo Contest - No Retail) // **(Available Japan Only) |
Additional Links
Are you bored with the same controller colored icons on the Nintendo Switch, wish they matched your different colored joy cons or pro controller from games like Splatoon 2. Well, now you can make the controller icons any color you want to thank’s to the Joy-Con Toolkit v1.0 by CTCaer.
The Joy con tool kit is simple and easy to use, all you need is a Bluetooth adapter and a Windows PC with .net framework v4.5.x and Visual c++ 2015 x86 redist installed. If you don’t have a Bluetooth adapter the program will fail to start and the same goes for .net framework & visual c+ these must be installed first before you run the Joycon tool kit. Also, you’ll need to pair the Joy con’s or pro controller to the PC before you start the program.
Once you have everything installed and the controller’s pair to the PC, it’s time to open up the Joycon tool kit and backup your SPI flash before doing anything else. It may take a little bit and the program might stop responding but don’t worry its still working and doing its thing.
Change Joy Con Color Software Reviews
Now that you’re done backing up the SPI file time to change those icon colors to match your controllers or just your favorite colors.
Once you pick out the colors you want to use just hit write body color and then write button color and that’s it your done. Now the Switch will display the color you pick every time that controller pairs to the Switch up in the top-left hand corner or in the controller settings on the main menu.
Change Joy Con Color Software Downloads
The icon display on the main menu of the Switch in the bottom left-hand corner does not change as that icon is part of the Switch and the joy con tool kit only modifies the icon inside of the controller. So you don’t have to worry about anything as this tool kit does nothing to your Switch and only changes the icon inside of the controller that the Switch reads and displays.
What it can currently do:
- Change colors of your Joy-Con or Pro Controller
- Backup your SPI flash
- View S/N and MAC address
- View Firmware version
What you need:
- Bluetooth adapter
- Windows PC
Changelog:
v1.0: Initial release
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
If someone knows any original retail color (like neon-yellow, splatoon2, etc) please reply here with the hex code in the comments below.
Download:Joy- Con Tool kit ver1.0