# Chrysalis not connecting (sometimes)

**URL:** https://community.keyboard.io/t/chrysalis-not-connecting-sometimes/13612
**Category:** Programming
**Created:** [August 17, 2025, 7:29am UTC](https://community.keyboard.io/t/chrysalis-not-connecting-sometimes/13612 "2025-08-17T07:29:13Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Moilleadoir](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/moilleadoir/32/4122_2.png) [@Moilleadoir](https://community.keyboard.io/u/Moilleadoir)
#### Post date: [August 17, 2025, 7:29am UTC](https://community.keyboard.io/t/chrysalis-not-connecting-sometimes/13612/1 "2025-08-17T07:29:13Z")

</div>

I last did some firmware updating back in May and I think things were working OK then, but now I find that Chrysalis often does not connect to my M100 unless I unplug and replug it. I suspect this might also happen if I’ve left the Arduino IDE open, or perhaps even used it since the last time Chrysalis ran. I do sometimes use the Serial Monitor in the IDE, but it’s usually switched off.

I updated the `udev` rules earlier in the year and the keyboard appears in the list of paired devices, but the first attempt to connect will just drop to the Chrysalis front page. If I keep trying I’ll eventually get to the `udev` rules warning, but the keyboard won’t connect until I reset it.

It seems like I now can’t actually update firmware using Chrysalis without doing an unplug/replug rather than just holding the Prog key (in addition to the reset I might’ve already done when starting Chrysalis). Updating directly from the IDE stopped working a long time ago.

All this unplugging can’t be doing the cable and the USB port any good, so I took a diversion through [the idea of software reset](https://community.keyboard.io/t/sequence-to-reboot-keyboard/1838/2), but Arduino complains about not finding headers (that are clearly there) and since I don’t really know what I’m doing I can’t evaluate whether that code is still relevant.

**Weird solution/workaround:** After some more experimentation I’ve found that after running the IDE with Serial Monitor active, Chrysalis _will_ connect to the keyboard, but if I exit and try again it will not until I’ve run the IDE again.

It’s useful to have Chrysalis open when working on something in Kaleidoscope just for a visual reminder of how things are setup. The keymaps in the sketch are just too abstract, no matter how carefully I space them.

All in all, it’s disappointing that this has become so haphazard.
