# Problems uploading custom firmware: reverts back to Chrysalis layer definition

**URL:** https://community.keyboard.io/t/problems-uploading-custom-firmware-reverts-back-to-chrysalis-layer-definition/2972
**Category:** Help and Getting Started
**Created:** [June 22, 2019, 10:42pm UTC](https://community.keyboard.io/t/problems-uploading-custom-firmware-reverts-back-to-chrysalis-layer-definition/2972 "2019-06-22T22:42:55Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![misaka](https://avatars.discourse-cdn.com/v4/letter/m/f14d63/32.png) [@misaka](https://community.keyboard.io/u/misaka)
#### Post date: [June 22, 2019, 10:42pm UTC](https://community.keyboard.io/t/problems-uploading-custom-firmware-reverts-back-to-chrysalis-layer-definition/2972/1 "2019-06-22T22:42:55Z")

</div>

Hi all,

I’m having problems updating the firmware on my Model01. The Chrysalis firmware seems to work ok, but when I try to flash using the Arduino IDE or CLI everything seems to work ok (Prog key goes red, and the little red light dance happens), but the uploaded layout isn’t right. Layer 0 seems to be taken from the Chrysalis config, which is weird because the first time I did this I was running a previous custom firmware which I had flashed a few weeks ago and not the Chrysalis firmware. Layer 1 also seems to be ok and activated by NumLock, but the palm keys don’t switch to layer 2 anymore.

Potentially relevant points:

- The LED button breathes blue after I flash my config or the default config, I don’t remember it doing this before.
- The keyboardio board version is 1.94.0-beta in the IDE
- On the CLI I’m building using the latest version of Model01-Firmware (git sha c41e951).
- I’ve tried building using an updated version of my custom ino file, the example ino from the IDE and the default ino from the repo, but all seem to produce the same results.

Any suggestions for what to try or what might be wrong? Thanks.

---

<div class="post-metadata">

### Author: ![bjc](https://avatars.discourse-cdn.com/v4/letter/b/f6c823/32.png) [@bjc](https://community.keyboard.io/u/bjc)
#### Post date: [June 23, 2019, 10:42am UTC](https://community.keyboard.io/t/problems-uploading-custom-firmware-reverts-back-to-chrysalis-layer-definition/2972/2 "2019-06-23T10:42:30Z")

</div>

The `led` key glowing blue for a few seconds as the keyboard boots is from the `BootGreetingEffect` plugin, and has been default for as long as I can remember.

Wish I could help you with the rest. Sorry!

---

<div class="post-metadata">

### Author: ![merlin](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/merlin/32/3416_2.png) [@merlin](https://community.keyboard.io/u/merlin)
#### Post date: [June 23, 2019, 11:26am UTC](https://community.keyboard.io/t/problems-uploading-custom-firmware-reverts-back-to-chrysalis-layer-definition/2972/3 "2019-06-23T11:26:35Z")

</div>

Have you tried resetting the EEPROM completely (with Chrysalis)?

---

<div class="post-metadata">

### Author: ![TreTuna](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/tretuna/32/1213_2.png) [@TreTuna](https://community.keyboard.io/u/TreTuna)
#### Post date: [June 23, 2019, 10:03pm UTC](https://community.keyboard.io/t/problems-uploading-custom-firmware-reverts-back-to-chrysalis-layer-definition/2972/4 "2019-06-23T22:03:17Z")

</div>

What preferences are set in Chrysalis for your keyboard? You could only be seeing the eeprom layers.

---

<div class="post-metadata">

### Author: ![misaka](https://avatars.discourse-cdn.com/v4/letter/m/f14d63/32.png) [@misaka](https://community.keyboard.io/u/misaka)
#### Post date: [June 23, 2019, 10:10pm UTC](https://community.keyboard.io/t/problems-uploading-custom-firmware-reverts-back-to-chrysalis-layer-definition/2972/5 "2019-06-23T22:10:52Z")

</div>

Thanks for the tip. Didn’t know I could do that. I gave it a go, and it’s better now, but I still can’t seem to upload a custom firmware.

I am getting errors on the CLI which I didn’t pay much attention to at first, since something seemed to get updated the first time and Chrysalis seems to work, but now I’m thinking this might be something. Also, I’m connecting to my kbd through my monitor, I wonder if that could be a factor.

```
BOARD_HARDWARE_PATH="/Users/misaka/Documents/Arduino/hardware" /Users/misaka/Documents/Arduino/hardware/keyboardio/avr/libraries/Kaleidoscope/bin//kaleidoscope-builder flash
Building ./Model01-Firmware 0.0.0-g
v1.22-63-gc41e-dirty into /var/folders/3_/vs8c57m53xd1ltmvsxb6gt640000gn/T//kaleidoscope-misaka/sketch/8661818338-Model01-Firmware.ino/output...
- Size: firmware/Model01-Firmware/Model01-Firmware-0.0.0-g
v1.22-63-gc41e-dirty.elf
  - Program: 24742 bytes (86.3% Full)
  - Data: 1329 bytes (51.9% Full)

To update your keyboard's firmware, hold down the 'Prog' key on your keyboard,
and then press 'Enter'.

When the 'Prog' key glows red, you can release it.

2019-06-23 22:48:44.754 system_profiler[9880:16877525] SPUSBDevice: IOCreatePlugInInterfaceForService failed 0xe00002be
2019-06-23 22:48:48.004 system_profiler[9890:16877606] SPUSBDevice: IOCreatePlugInInterfaceForService failed 0xe00002be
Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
    Device code: 0x44
```

---

<div class="post-metadata">

### Author: ![misaka](https://avatars.discourse-cdn.com/v4/letter/m/f14d63/32.png) [@misaka](https://community.keyboard.io/u/misaka)
#### Post date: [June 23, 2019, 10:15pm UTC](https://community.keyboard.io/t/problems-uploading-custom-firmware-reverts-back-to-chrysalis-layer-definition/2972/6 "2019-06-23T22:15:07Z")

</div>

I think resetting the EEPROM has gotten updates through Chrysalis working, so I think that that’s sorted now, thanks.

---

<div class="post-metadata">

### Author: ![misaka](https://avatars.discourse-cdn.com/v4/letter/m/f14d63/32.png) [@misaka](https://community.keyboard.io/u/misaka)
#### Post date: [June 24, 2019, 10:33pm UTC](https://community.keyboard.io/t/problems-uploading-custom-firmware-reverts-back-to-chrysalis-layer-definition/2972/7 "2019-06-24T22:33:20Z")

</div>

Alright. Finally got somewhere tonight. I dissected my configuration file and the problem is brought in when I setup the EEPROMKeymap plugin. Without it I can configure the key layout, with it it reverts to, presumably, what’s been uploaded into EEPROM via Chrysalis.

I’ll have to give clearing the EEPROM another go. I thought I did it in Chrysalis but probably not.

Thanks all for the help and advice.

–Misha
