Last active
July 13, 2024 01:45
-
-
Save chrysalysm/d292f104822c2ed4c797a78434362ad0 to your computer and use it in GitHub Desktop.
SKY2040 Leverless Firmware Update Guide 0.7.x
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HOW TO UPDATE YOUR SKY2040 README | |
================================= | |
https://gp2040-ce.info/ | |
https://github.com/OpenStickCommunity/GP2040-CE | |
Tested from 0.7.3 to 0.7.7 | |
- SKY2040 uses the default 'Raspberry Pi Pico' chip as of Jan 2024. | |
- You want the Pico version of the firmware: GP2040-CE_0.X.X_Pico.uf2 | |
- You can find official GP2040 firmware here: https://gp2040-ce.info/downloads/download-page | |
- Updating the SKY2040 (and probably other older GP2040-CE leverless/hitboxes) can be problematic because importing old configs from an older GP2040 version may not import properly into newer versions. | |
- GP2040-CE specifically calls out in the backup config page that "Importing pin mappings from files prior to v0.7.6 has no effect." | |
- If you ordered your SKY2040 from China (AliExpress), it likely shipped with older firmware (<0.7.6) than what is current on the official GP2040 repository. | |
- MANUALLY entering in the proper configurations from clean settings after a configuration wipe seems to do the trick. | |
- Just in case something is different than what this guide describes, I recommended backing up your leverless GP2040 configuration. | |
1. Enter the webconfig mode before you flash/firmware update, and backup/export the current configs: http://192.168.7.1/backup | |
2. Take screenshots of every web configuration page, just in case. | |
1. Download [GP2040-CE_0.7.7_Pico.uf2] or whatever the latest GP2040 firmware is from: https://github.com/OpenStickCommunity/GP2040-CE/releases | |
2. Follow installation steps as normal: https://gp2040-ce.info/installation | |
- I recommend flash nuking before hand, but that is up to you. It isn't necessary unless issues occur. | |
3. Once the firmware update is done, reboot the leverless and set it back into the web configuration mode. | |
4. You can use the screenshots provided in the comments below to manually setup each configuration page. | |
Or use the reference backup config in this gists [sky2040_gp2040ce_backup_0_7_3_config.gp2040] as a guide. | |
- It is in JSON format, and is fairly human readable. | |
5. If you run into issues, I recommend you perform a full Reset Config in the "DANGER ZONE" and go back to Step 4. | |
6. I have included a backup of my SKY2040 0.7.7 configuration in this gists. Custom LED theme and add-ons are omitted. | |
- You can find the file below named: sky2040_gp2040ce_backup_0_7_7_config.gp2040 | |
You can find my SKY2040 0.7.3 config backup for reference below: sky2040_gp2040ce_backup_0_7_3_config.gp2040 | |
You can find my SKY2040 0.7.7 config backup for import: sky2040_gp2040ce_backup_0_7_7_config.gp2040 | |
You can find my screenshots for each config page in the comments section below. Scroll all the way down. | |
Some Q&A in the comments section... | |
I have used this guide to update other leverless controllers running GP2040-CE as well. | |
- Sallybox | |
- Sallybox Plus | |
- RTU Mini Hitbox |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"display": { | |
"enabled": 1, | |
"sdaPin": 0, | |
"sclPin": 1, | |
"i2cAddress": "0x3c", | |
"i2cBlock": 0, | |
"i2cSpeed": 400000, | |
"flipDisplay": 0, | |
"invertDisplay": 0, | |
"buttonLayout": 0, | |
"buttonLayoutRight": 3, | |
"splashMode": 3, | |
"splashChoice": 0, | |
"splashDuration": 7.5, | |
"displaySaverTimeout": 0, | |
"buttonLayoutCustomOptions": { | |
"params": { | |
"layout": 0, | |
"startX": 8, | |
"startY": 28, | |
"buttonRadius": 8, | |
"buttonPadding": 2 | |
}, | |
"paramsRight": { | |
"layout": 3, | |
"startX": 8, | |
"startY": 28, | |
"buttonRadius": 8, | |
"buttonPadding": 2 | |
} | |
} | |
}, | |
"gamepad": { | |
"dpadMode": 1, | |
"inputMode": 4, | |
"socdMode": 1, | |
"switchTpShareForDs4": 0, | |
"lockHotkeys": 0, | |
"fourWayMode": 0, | |
"fnButtonPin": -1, | |
"hotkey01": { | |
"auxMask": 0, | |
"buttonsMask": 66304, | |
"action": 4 | |
}, | |
"hotkey02": { | |
"auxMask": 0, | |
"buttonsMask": 131840, | |
"action": 1 | |
}, | |
"hotkey03": { | |
"auxMask": 0, | |
"buttonsMask": 262912, | |
"action": 2 | |
}, | |
"hotkey04": { | |
"auxMask": 0, | |
"buttonsMask": 525056, | |
"action": 3 | |
}, | |
"hotkey05": { | |
"auxMask": 0, | |
"buttonsMask": 70144, | |
"action": 6 | |
}, | |
"hotkey06": { | |
"auxMask": 0, | |
"buttonsMask": 135680, | |
"action": 7 | |
}, | |
"hotkey07": { | |
"auxMask": 0, | |
"buttonsMask": 266752, | |
"action": 8 | |
}, | |
"hotkey08": { | |
"auxMask": 0, | |
"buttonsMask": 528896, | |
"action": 10 | |
}, | |
"hotkey09": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey10": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey11": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey12": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"forcedSetupMode": 0 | |
}, | |
"led": { | |
"dataPin": 28, | |
"ledFormat": 0, | |
"ledLayout": 0, | |
"ledsPerButton": 1, | |
"brightnessMaximum": 50, | |
"brightnessSteps": 5, | |
"ledButtonMap": { | |
"Up": 3, | |
"Down": 1, | |
"Left": 0, | |
"Right": 2, | |
"B1": 8, | |
"B2": 9, | |
"B3": 4, | |
"B4": 5, | |
"L1": 7, | |
"R1": 6, | |
"L2": 11, | |
"R2": 10, | |
"S1": null, | |
"S2": null, | |
"L3": null, | |
"R3": null, | |
"A1": null, | |
"A2": null | |
}, | |
"pledType": -1, | |
"pledPin1": -1, | |
"pledPin2": -1, | |
"pledPin3": -1, | |
"pledPin4": -1, | |
"pledColor": "#ffffff" | |
}, | |
"ledTheme": { | |
"hasCustomTheme": 0, | |
"customTheme": { | |
"Up": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"Down": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"Left": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"Right": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"B1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"B2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"B3": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"B4": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"L1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"R1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"L2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"R2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"S1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"S2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"A1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"A2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"L3": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"R3": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
} | |
} | |
}, | |
"pinmappings": { | |
"Up": { | |
"pin": 2, | |
"key": 82, | |
"error": null | |
}, | |
"Down": { | |
"pin": 3, | |
"key": 81, | |
"error": null | |
}, | |
"Left": { | |
"pin": 5, | |
"key": 80, | |
"error": null | |
}, | |
"Right": { | |
"pin": 4, | |
"key": 79, | |
"error": null | |
}, | |
"B1": { | |
"pin": 6, | |
"key": 225, | |
"error": null | |
}, | |
"B2": { | |
"pin": 7, | |
"key": 29, | |
"error": null | |
}, | |
"B3": { | |
"pin": 10, | |
"key": 224, | |
"error": null | |
}, | |
"B4": { | |
"pin": 11, | |
"key": 226, | |
"error": null | |
}, | |
"L1": { | |
"pin": 13, | |
"key": 6, | |
"error": null | |
}, | |
"R1": { | |
"pin": 12, | |
"key": 44, | |
"error": null | |
}, | |
"L2": { | |
"pin": 9, | |
"key": 25, | |
"error": null | |
}, | |
"R2": { | |
"pin": 8, | |
"key": 27, | |
"error": null | |
}, | |
"S1": { | |
"pin": 16, | |
"key": 34, | |
"error": null | |
}, | |
"S2": { | |
"pin": 17, | |
"key": 30, | |
"error": null | |
}, | |
"L3": { | |
"pin": 18, | |
"key": 46, | |
"error": null | |
}, | |
"R3": { | |
"pin": 19, | |
"key": 45, | |
"error": null | |
}, | |
"A1": { | |
"pin": 20, | |
"key": 38, | |
"error": null | |
}, | |
"A2": { | |
"pin": 21, | |
"key": 59, | |
"error": null | |
}, | |
"Fn": { | |
"pin": -1, | |
"key": 0, | |
"error": null | |
} | |
}, | |
"addons": { | |
"analogAdc1PinX": -1, | |
"analogAdc1PinY": -1, | |
"analogAdc1Mode": 1, | |
"analogAdc1Invert": 0, | |
"analogAdc2PinX": -1, | |
"analogAdc2PinY": -1, | |
"analogAdc2Mode": 2, | |
"analogAdc2Invert": 0, | |
"forced_circularity": 0, | |
"analog_deadzone": 5, | |
"auto_calibrate": 0, | |
"AnalogInputEnabled": 0, | |
"bootselButtonMap": 0, | |
"BootselButtonAddonEnabled": 0, | |
"buzzerPin": -1, | |
"buzzerVolume": 100, | |
"BuzzerSpeakerAddonEnabled": 0, | |
"dualDirDownPin": -1, | |
"dualDirUpPin": -1, | |
"dualDirLeftPin": -1, | |
"dualDirRightPin": -1, | |
"dualDirDpadMode": 0, | |
"dualDirCombineMode": 0, | |
"dualDirFourWayMode": 0, | |
"DualDirectionalInputEnabled": 0, | |
"tilt1Pin": -1, | |
"tilt2Pin": -1, | |
"tiltLeftAnalogUpPin": -1, | |
"tiltLeftAnalogDownPin": -1, | |
"tiltLeftAnalogLeftPin": -1, | |
"tiltLeftAnalogRightPin": -1, | |
"tiltRightAnalogUpPin": -1, | |
"tiltRightAnalogDownPin": -1, | |
"tiltRightAnalogLeftPin": -1, | |
"tiltRightAnalogRightPin": -1, | |
"tiltSOCDMode": 1, | |
"TiltInputEnabled": 0, | |
"extraButtonPin": -1, | |
"extraButtonMap": 0, | |
"ExtraButtonAddonEnabled": 0, | |
"i2cAnalog1219SDAPin": -1, | |
"i2cAnalog1219SCLPin": -1, | |
"i2cAnalog1219Block": 0, | |
"i2cAnalog1219Speed": 400000, | |
"i2cAnalog1219Address": 64, | |
"I2CAnalog1219InputEnabled": 0, | |
"sliderLSPin": -1, | |
"sliderRSPin": -1, | |
"JSliderInputEnabled": 0, | |
"playerNumber": 1, | |
"PlayerNumAddonEnabled": 0, | |
"reversePin": -1, | |
"reversePinLED": -1, | |
"reverseActionUp": 1, | |
"reverseActionDown": 1, | |
"reverseActionLeft": 1, | |
"reverseActionRight": 1, | |
"ReverseInputEnabled": 0, | |
"sliderSOCDPinOne": -1, | |
"sliderSOCDPinTwo": -1, | |
"sliderSOCDModeOne": 0, | |
"sliderSOCDModeTwo": 2, | |
"sliderSOCDModeDefault": 1, | |
"SliderSOCDInputEnabled": 0, | |
"onBoardLedMode": 0, | |
"BoardLedAddonEnabled": 0, | |
"turboPin": 14, | |
"turboPinLED": -1, | |
"turboShotCount": 15, | |
"shmupMode": 0, | |
"shmupMixMode": 0, | |
"shmupAlwaysOn1": 0, | |
"shmupAlwaysOn2": 0, | |
"shmupAlwaysOn3": 0, | |
"shmupAlwaysOn4": 0, | |
"pinShmupBtn1": -1, | |
"pinShmupBtn2": -1, | |
"pinShmupBtn3": -1, | |
"pinShmupBtn4": -1, | |
"shmupBtnMask1": 0, | |
"shmupBtnMask2": 0, | |
"shmupBtnMask3": 0, | |
"shmupBtnMask4": 0, | |
"pinShmupDial": -1, | |
"TurboInputEnabled": 1, | |
"wiiExtensionSDAPin": -1, | |
"wiiExtensionSCLPin": -1, | |
"wiiExtensionBlock": 0, | |
"wiiExtensionSpeed": 400000, | |
"WiiExtensionAddonEnabled": 0, | |
"PS4ModeAddonEnabled": 1, | |
"snesPadClockPin": -1, | |
"snesPadLatchPin": -1, | |
"snesPadDataPin": -1, | |
"SNESpadAddonEnabled": 0, | |
"KeyboardHostAddonEnabled": 0, | |
"keyboardHostPinDplus": -1, | |
"keyboardHostMap": { | |
"Up": { | |
"pin": 2, | |
"key": 82, | |
"error": null | |
}, | |
"Down": { | |
"pin": 3, | |
"key": 81, | |
"error": null | |
}, | |
"Left": { | |
"pin": 5, | |
"key": 80, | |
"error": null | |
}, | |
"Right": { | |
"pin": 4, | |
"key": 79, | |
"error": null | |
}, | |
"B1": { | |
"pin": 6, | |
"key": 225, | |
"error": null | |
}, | |
"B2": { | |
"pin": 7, | |
"key": 29, | |
"error": null | |
}, | |
"B3": { | |
"pin": 10, | |
"key": 224, | |
"error": null | |
}, | |
"B4": { | |
"pin": 11, | |
"key": 226, | |
"error": null | |
}, | |
"L1": { | |
"pin": 13, | |
"key": 6, | |
"error": null | |
}, | |
"R1": { | |
"pin": 12, | |
"key": 44, | |
"error": null | |
}, | |
"L2": { | |
"pin": 9, | |
"key": 25, | |
"error": null | |
}, | |
"R2": { | |
"pin": 8, | |
"key": 27, | |
"error": null | |
}, | |
"S1": { | |
"pin": 16, | |
"key": 34, | |
"error": null | |
}, | |
"S2": { | |
"pin": 17, | |
"key": 30, | |
"error": null | |
}, | |
"L3": { | |
"pin": 18, | |
"key": 46, | |
"error": null | |
}, | |
"R3": { | |
"pin": 19, | |
"key": 45, | |
"error": null | |
}, | |
"A1": { | |
"pin": 20, | |
"key": 38, | |
"error": null | |
}, | |
"A2": { | |
"pin": 21, | |
"key": 59, | |
"error": null | |
}, | |
"Fn": { | |
"pin": -1, | |
"key": 0, | |
"error": null | |
} | |
}, | |
"focusModePin": -1, | |
"focusModeButtonLockMask": 0, | |
"focusModeButtonLockEnabled": 0, | |
"focusModeOledLockEnabled": 0, | |
"focusModeRgbLockEnabled": 0, | |
"FocusModeAddonEnabled": 0 | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"display": { | |
"enabled": 1, | |
"i2cAddress": "0x3c", | |
"i2cBlock": 0, | |
"flipDisplay": 0, | |
"invertDisplay": 0, | |
"buttonLayout": 1, | |
"buttonLayoutRight": 1, | |
"splashMode": 3, | |
"splashChoice": 0, | |
"splashDuration": 7, | |
"displaySaverTimeout": 0, | |
"turnOffWhenSuspended": 0, | |
"buttonLayoutCustomOptions": { | |
"params": { | |
"layout": 0, | |
"startX": 8, | |
"startY": 28, | |
"buttonRadius": 8, | |
"buttonPadding": 2 | |
}, | |
"paramsRight": { | |
"layout": 3, | |
"startX": 8, | |
"startY": 28, | |
"buttonRadius": 8, | |
"buttonPadding": 2 | |
} | |
} | |
}, | |
"splash": { | |
"splashImage": [ | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
32, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
64, | |
128, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
224, | |
223, | |
192, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
2, | |
193, | |
255, | |
160, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
31, | |
207, | |
254, | |
128, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
63, | |
255, | |
224, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
127, | |
171, | |
192, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
44, | |
0, | |
0, | |
251, | |
131, | |
255, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
12, | |
1, | |
255, | |
0, | |
1, | |
243, | |
7, | |
252, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
28, | |
7, | |
255, | |
0, | |
3, | |
224, | |
63, | |
244, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
44, | |
56, | |
10, | |
231, | |
128, | |
3, | |
192, | |
95, | |
128, | |
0, | |
0, | |
0, | |
0, | |
32, | |
7, | |
129, | |
255, | |
57, | |
195, | |
199, | |
1, | |
215, | |
128, | |
63, | |
0, | |
0, | |
0, | |
0, | |
0, | |
224, | |
31, | |
231, | |
255, | |
121, | |
199, | |
135, | |
159, | |
167, | |
128, | |
110, | |
60, | |
0, | |
0, | |
0, | |
160, | |
192, | |
63, | |
234, | |
231, | |
243, | |
239, | |
7, | |
127, | |
199, | |
1, | |
207, | |
255, | |
128, | |
0, | |
3, | |
143, | |
252, | |
127, | |
195, | |
199, | |
127, | |
254, | |
15, | |
126, | |
143, | |
135, | |
223, | |
252, | |
0, | |
0, | |
15, | |
255, | |
255, | |
115, | |
199, | |
135, | |
255, | |
222, | |
14, | |
80, | |
7, | |
31, | |
31, | |
208, | |
0, | |
0, | |
31, | |
87, | |
255, | |
231, | |
143, | |
7, | |
255, | |
28, | |
62, | |
0, | |
15, | |
255, | |
127, | |
0, | |
0, | |
0, | |
126, | |
11, | |
143, | |
143, | |
142, | |
15, | |
255, | |
158, | |
124, | |
0, | |
7, | |
253, | |
252, | |
0, | |
0, | |
0, | |
124, | |
55, | |
159, | |
31, | |
30, | |
15, | |
135, | |
30, | |
248, | |
0, | |
7, | |
240, | |
48, | |
0, | |
0, | |
0, | |
241, | |
247, | |
254, | |
30, | |
28, | |
62, | |
14, | |
31, | |
240, | |
0, | |
1, | |
64, | |
40, | |
0, | |
0, | |
1, | |
239, | |
231, | |
248, | |
60, | |
62, | |
124, | |
15, | |
31, | |
224, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
3, | |
255, | |
143, | |
240, | |
127, | |
254, | |
248, | |
14, | |
15, | |
128, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
3, | |
255, | |
207, | |
192, | |
255, | |
255, | |
240, | |
12, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
139, | |
255, | |
1, | |
255, | |
143, | |
192, | |
6, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
135, | |
254, | |
1, | |
254, | |
15, | |
128, | |
4, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
31, | |
222, | |
3, | |
240, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
191, | |
158, | |
1, | |
192, | |
0, | |
0, | |
4, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
255, | |
156, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
251, | |
56, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
3, | |
231, | |
48, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
1, | |
71, | |
40, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
14, | |
32, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
12, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
4, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
8, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0 | |
] | |
}, | |
"gamepad": { | |
"dpadMode": 0, | |
"inputMode": 4, | |
"socdMode": 1, | |
"switchTpShareForDs4": 0, | |
"lockHotkeys": 0, | |
"fourWayMode": 0, | |
"profileNumber": 1, | |
"ps4ControllerType": 0, | |
"debounceDelay": 5, | |
"inputModeB1": 1, | |
"inputModeB2": 0, | |
"inputModeB3": 2, | |
"inputModeB4": 4, | |
"inputModeL1": -1, | |
"inputModeL2": -1, | |
"inputModeR1": -1, | |
"inputModeR2": 3, | |
"ps4ReportHack": 0, | |
"fnButtonPin": -1, | |
"hotkey01": { | |
"auxMask": 0, | |
"buttonsMask": 66304, | |
"action": 4 | |
}, | |
"hotkey02": { | |
"auxMask": 0, | |
"buttonsMask": 131840, | |
"action": 1 | |
}, | |
"hotkey03": { | |
"auxMask": 0, | |
"buttonsMask": 262912, | |
"action": 2 | |
}, | |
"hotkey04": { | |
"auxMask": 0, | |
"buttonsMask": 525056, | |
"action": 3 | |
}, | |
"hotkey05": { | |
"auxMask": 0, | |
"buttonsMask": 70144, | |
"action": 6 | |
}, | |
"hotkey06": { | |
"auxMask": 0, | |
"buttonsMask": 135680, | |
"action": 7 | |
}, | |
"hotkey07": { | |
"auxMask": 0, | |
"buttonsMask": 266752, | |
"action": 8 | |
}, | |
"hotkey08": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey09": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey10": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey11": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey12": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey13": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey14": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey15": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey16": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"forcedSetupMode": 0 | |
}, | |
"led": { | |
"dataPin": 28, | |
"ledFormat": 0, | |
"ledLayout": 0, | |
"ledsPerButton": 1, | |
"brightnessMaximum": 64, | |
"brightnessSteps": 5, | |
"turnOffWhenSuspended": 0, | |
"ledButtonMap": { | |
"Up": 3, | |
"Down": 1, | |
"Left": 0, | |
"Right": 2, | |
"B1": 8, | |
"B2": 9, | |
"B3": 4, | |
"B4": 5, | |
"L1": 7, | |
"R1": 6, | |
"L2": 11, | |
"R2": 10, | |
"S1": null, | |
"S2": null, | |
"L3": null, | |
"R3": null, | |
"A1": null, | |
"A2": null | |
}, | |
"pledType": -1, | |
"pledPin1": -1, | |
"pledPin2": -1, | |
"pledPin3": -1, | |
"pledPin4": -1, | |
"pledIndex1": -1, | |
"pledIndex2": -1, | |
"pledIndex3": -1, | |
"pledIndex4": -1, | |
"pledColor": "#ffffff" | |
}, | |
"ledTheme": { | |
"hasCustomTheme": 1, | |
"customTheme": { | |
"Up": { | |
"normal": "#33cce6", | |
"pressed": "#cc3399" | |
}, | |
"Down": { | |
"normal": "#33cce6", | |
"pressed": "#cc3399" | |
}, | |
"Left": { | |
"normal": "#00ffff", | |
"pressed": "#ff0080" | |
}, | |
"Right": { | |
"normal": "#6699cc", | |
"pressed": "#9966b3" | |
}, | |
"B1": { | |
"normal": "#9966b3", | |
"pressed": "#6699cc" | |
}, | |
"B2": { | |
"normal": "#cc3399", | |
"pressed": "#33cce6" | |
}, | |
"B3": { | |
"normal": "#9966b3", | |
"pressed": "#6699cc" | |
}, | |
"B4": { | |
"normal": "#cc3399", | |
"pressed": "#33cce6" | |
}, | |
"L1": { | |
"normal": "#ff0080", | |
"pressed": "#00ffff" | |
}, | |
"R1": { | |
"normal": "#ff0080", | |
"pressed": "#00ffff" | |
}, | |
"L2": { | |
"normal": "#ff0080", | |
"pressed": "#00ffff" | |
}, | |
"R2": { | |
"normal": "#ff0080", | |
"pressed": "#00ffff" | |
}, | |
"S1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"S2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"A1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"A2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"L3": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"R3": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
} | |
} | |
}, | |
"macros": { | |
"macroList": [ | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
}, | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
}, | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
}, | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
}, | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
}, | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
} | |
], | |
"macroPin": -1, | |
"macroBoardLedEnabled": 1, | |
"InputMacroAddonEnabled": 0 | |
}, | |
"pins": { | |
"pin00": 0, | |
"pin01": 0, | |
"pin02": 1, | |
"pin03": 2, | |
"pin04": 4, | |
"pin05": 3, | |
"pin06": 5, | |
"pin07": 6, | |
"pin08": 12, | |
"pin09": 11, | |
"pin10": 7, | |
"pin11": 8, | |
"pin12": 10, | |
"pin13": 9, | |
"pin14": -10, | |
"pin15": -10, | |
"pin16": 13, | |
"pin17": 14, | |
"pin18": 17, | |
"pin19": 18, | |
"pin20": 15, | |
"pin21": 16, | |
"pin22": -10, | |
"pin23": -10, | |
"pin24": -10, | |
"pin25": -10, | |
"pin26": -10, | |
"pin27": -10, | |
"pin28": 0, | |
"pin29": -10 | |
}, | |
"profiles": [ | |
{ | |
"pin00": 0, | |
"pin01": 0, | |
"pin02": 1, | |
"pin03": 2, | |
"pin04": 4, | |
"pin05": 3, | |
"pin06": 5, | |
"pin07": 6, | |
"pin08": 12, | |
"pin09": 11, | |
"pin10": 7, | |
"pin11": 8, | |
"pin12": 10, | |
"pin13": 9, | |
"pin14": -10, | |
"pin15": -10, | |
"pin16": 13, | |
"pin17": 14, | |
"pin18": 17, | |
"pin19": 18, | |
"pin20": 15, | |
"pin21": 16, | |
"pin22": -10, | |
"pin23": -10, | |
"pin24": -10, | |
"pin25": -10, | |
"pin26": -10, | |
"pin27": -10, | |
"pin28": 0, | |
"pin29": -10 | |
}, | |
{ | |
"pin00": 0, | |
"pin01": 0, | |
"pin02": 1, | |
"pin03": 2, | |
"pin04": 4, | |
"pin05": 3, | |
"pin06": 5, | |
"pin07": 6, | |
"pin08": 12, | |
"pin09": 11, | |
"pin10": 7, | |
"pin11": 8, | |
"pin12": 10, | |
"pin13": 9, | |
"pin14": -10, | |
"pin15": -10, | |
"pin16": 13, | |
"pin17": 14, | |
"pin18": 17, | |
"pin19": 18, | |
"pin20": 15, | |
"pin21": 16, | |
"pin22": -10, | |
"pin23": -10, | |
"pin24": -10, | |
"pin25": -10, | |
"pin26": -10, | |
"pin27": -10, | |
"pin28": 0, | |
"pin29": -10 | |
}, | |
{ | |
"pin00": 0, | |
"pin01": 0, | |
"pin02": 1, | |
"pin03": 2, | |
"pin04": 4, | |
"pin05": 3, | |
"pin06": 5, | |
"pin07": 6, | |
"pin08": 12, | |
"pin09": 11, | |
"pin10": 7, | |
"pin11": 8, | |
"pin12": 10, | |
"pin13": 9, | |
"pin14": -10, | |
"pin15": -10, | |
"pin16": 13, | |
"pin17": 14, | |
"pin18": 17, | |
"pin19": 18, | |
"pin20": 15, | |
"pin21": 16, | |
"pin22": -10, | |
"pin23": -10, | |
"pin24": -10, | |
"pin25": -10, | |
"pin26": -10, | |
"pin27": -10, | |
"pin28": 0, | |
"pin29": -10 | |
} | |
], | |
"addons": { | |
"analogAdc1PinX": -1, | |
"analogAdc1PinY": -1, | |
"analogAdc1Mode": 1, | |
"analogAdc1Invert": 0, | |
"analogAdc2PinX": -1, | |
"analogAdc2PinY": -1, | |
"analogAdc2Mode": 2, | |
"analogAdc2Invert": 0, | |
"forced_circularity": 0, | |
"analog_deadzone": 5, | |
"auto_calibrate": 0, | |
"AnalogInputEnabled": 0, | |
"bootselButtonMap": 0, | |
"BootselButtonAddonEnabled": 0, | |
"buzzerPin": -1, | |
"buzzerVolume": 100, | |
"BuzzerSpeakerAddonEnabled": 0, | |
"dualDirDpadMode": 0, | |
"dualDirCombineMode": 0, | |
"dualDirFourWayMode": 0, | |
"DualDirectionalInputEnabled": 0, | |
"tilt1Pin": -1, | |
"factorTilt1LeftX": 35, | |
"factorTilt1LeftY": 35, | |
"factorTilt1RightX": 35, | |
"factorTilt1RightY": 35, | |
"tilt2Pin": -1, | |
"factorTilt2LeftX": 65, | |
"factorTilt2LeftY": 65, | |
"factorTilt2RightX": 65, | |
"factorTilt2RightY": 65, | |
"tiltLeftAnalogUpPin": -1, | |
"tiltLeftAnalogDownPin": -1, | |
"tiltLeftAnalogLeftPin": -1, | |
"tiltLeftAnalogRightPin": -1, | |
"tiltRightAnalogUpPin": -1, | |
"tiltRightAnalogDownPin": -1, | |
"tiltRightAnalogLeftPin": -1, | |
"tiltRightAnalogRightPin": -1, | |
"tiltSOCDMode": 1, | |
"TiltInputEnabled": 0, | |
"i2cAnalog1219Block": 0, | |
"i2cAnalog1219Address": 64, | |
"I2CAnalog1219InputEnabled": 0, | |
"sliderModeZero": 0, | |
"JSliderInputEnabled": 0, | |
"playerNumber": 1, | |
"PlayerNumAddonEnabled": 0, | |
"reversePin": -1, | |
"reversePinLED": -1, | |
"reverseActionUp": 0, | |
"reverseActionDown": 0, | |
"reverseActionLeft": 0, | |
"reverseActionRight": 0, | |
"ReverseInputEnabled": 0, | |
"sliderSOCDModeDefault": 1, | |
"SliderSOCDInputEnabled": 0, | |
"onBoardLedMode": 0, | |
"BoardLedAddonEnabled": 0, | |
"turboPinLED": -1, | |
"turboShotCount": 15, | |
"shmupMode": 0, | |
"shmupMixMode": 0, | |
"shmupAlwaysOn1": 0, | |
"shmupAlwaysOn2": 0, | |
"shmupAlwaysOn3": 0, | |
"shmupAlwaysOn4": 0, | |
"pinShmupBtn1": -1, | |
"pinShmupBtn2": -1, | |
"pinShmupBtn3": -1, | |
"pinShmupBtn4": -1, | |
"shmupBtnMask1": 0, | |
"shmupBtnMask2": 0, | |
"shmupBtnMask3": 0, | |
"shmupBtnMask4": 0, | |
"pinShmupDial": -1, | |
"TurboInputEnabled": 0, | |
"wiiExtensionBlock": 0, | |
"WiiExtensionAddonEnabled": 0, | |
"PS4ModeAddonEnabled": 1, | |
"snesPadClockPin": -1, | |
"snesPadLatchPin": -1, | |
"snesPadDataPin": -1, | |
"SNESpadAddonEnabled": 0, | |
"inputHistoryLength": 21, | |
"InputHistoryAddonEnabled": 0, | |
"inputHistoryCol": 0, | |
"inputHistoryRow": 7, | |
"KeyboardHostAddonEnabled": 0, | |
"keyboardHostMap": { | |
"Up": { | |
"pin": -1, | |
"key": 82, | |
"error": null | |
}, | |
"Down": { | |
"pin": -1, | |
"key": 81, | |
"error": null | |
}, | |
"Left": { | |
"pin": -1, | |
"key": 80, | |
"error": null | |
}, | |
"Right": { | |
"pin": -1, | |
"key": 79, | |
"error": null | |
}, | |
"B1": { | |
"pin": -1, | |
"key": 225, | |
"error": null | |
}, | |
"B2": { | |
"pin": -1, | |
"key": 29, | |
"error": null | |
}, | |
"B3": { | |
"pin": -1, | |
"key": 224, | |
"error": null | |
}, | |
"B4": { | |
"pin": -1, | |
"key": 226, | |
"error": null | |
}, | |
"L1": { | |
"pin": -1, | |
"key": 6, | |
"error": null | |
}, | |
"R1": { | |
"pin": -1, | |
"key": 44, | |
"error": null | |
}, | |
"L2": { | |
"pin": -1, | |
"key": 25, | |
"error": null | |
}, | |
"R2": { | |
"pin": -1, | |
"key": 27, | |
"error": null | |
}, | |
"S1": { | |
"pin": -1, | |
"key": 34, | |
"error": null | |
}, | |
"S2": { | |
"pin": -1, | |
"key": 30, | |
"error": null | |
}, | |
"L3": { | |
"pin": -1, | |
"key": 46, | |
"error": null | |
}, | |
"R3": { | |
"pin": -1, | |
"key": 45, | |
"error": null | |
}, | |
"A1": { | |
"pin": -1, | |
"key": 38, | |
"error": null | |
}, | |
"A2": { | |
"pin": -1, | |
"key": 59, | |
"error": null | |
}, | |
"Fn": { | |
"pin": -1, | |
"key": 0, | |
"error": null | |
} | |
}, | |
"PSPassthroughAddonEnabled": 0, | |
"XBOnePassthroughAddonEnabled": 0, | |
"focusModePin": -1, | |
"focusModeButtonLockMask": 0, | |
"focusModeButtonLockEnabled": 0, | |
"focusModeMacroLockEnabled": 1, | |
"FocusModeAddonEnabled": 0 | |
} | |
} |
Q: I lost my RGB LED light configuration after the firmware update.
A: You just need to reconfigure the RGB LED Configuration with the right settings.
SKY2040 uses Data Pin 28
for its RGB LEDs.
- Set your stick into webconfig mode.
- Go to http://192.168.7.1/led-config
- Set Data Pin (-1 for disabled) to
28
. - LED Format is
GRB
. - LED Layout is
8-Button Layout
. - LEDs Per Button is
1
. I believe it still works if you set2
. Just make sure if you use custom LEDs, you stick with 1 or 2. - Max Brightness can be any number. Really up to you. I don't like my LEDs going 100% all the time so I set them at
64
. - Brightness Steps set to
5
. - Follow the RGB LED Button Order from the image below.
- Remember to click SAVE! Reboot and you're done.
- After reboot you should see LEDs back and you can use the Next Animation RGB LED Hotkey to cycle through Animations. https://gp2040-ce.info/rgb-leds
To customize your own LED themes: http://192.168.7.1/custom-theme
Documentation for LED Custom Theme: https://gp2040-ce.info/web-configurator/menu-pages/custom-led-theme
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Q: I lost my OLED screen display after the firmware update.
A: You need to re-configure the OLED screen by first setting the proper Peripheral Mapping settings and then the correct Display Configuration.
0
, and SCL to1
. Speed toFast - 400000
. Image below.Setting a slower speed might cause issues.
Remember to click SAVE!
i2c0
, I2C Address to0x3c
.Follow the rest of the configs if you wish. Or upload your own splash.
Remember to click SAVE!