# How to get started and how to change butterfly and any key

**URL:** https://community.keyboard.io/t/how-to-get-started-and-how-to-change-butterfly-and-any-key/1189
**Category:** Help and Getting Started
**Created:** [March 4, 2018, 4:34pm UTC](https://community.keyboard.io/t/how-to-get-started-and-how-to-change-butterfly-and-any-key/1189 "2018-03-04T16:34:11Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![Roger\_Gilliar](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/roger_gilliar/32/511_2.png) [@Roger\_Gilliar](https://community.keyboard.io/u/Roger_Gilliar)
#### Post date: [March 4, 2018, 4:34pm UTC](https://community.keyboard.io/t/how-to-get-started-and-how-to-change-butterfly-and-any-key/1189/1 "2018-03-04T16:34:11Z")

</div>

I would like to changes some key mappings.The first problem I had was the the libs could not be found when compiling the Model01-Firmware. To make the compile step work I copied the avr/Library folder to Arduino/Library folder. Is that ok?

Now I get a warning that not much memory is left and that this may cause stability issues, Is this expected?

And how do I assign certain key combinations to the any and butterfly key? For example I would like to assign ctrl-tab to butterfly and F16 to any.

---

<div class="post-metadata">

### Author: ![algernon](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/algernon/32/4404_2.png) [@algernon](https://community.keyboard.io/u/algernon)
#### Post date: [March 4, 2018, 5:11pm UTC](https://community.keyboard.io/t/how-to-get-started-and-how-to-change-butterfly-and-any-key/1189/2 "2018-03-04T17:11:16Z")

</div>

> [@Roger\_Gilliar](#):
>
> To make the compile step work I copied the avr/Library folder to Arduino/Library folder. Is that ok?

Yep, that should be ok.

> [@Roger\_Gilliar](#):
>
> Now I get a warning that not much memory is left and that this may cause stability issues, Is this expected?

Mmm… I don’t think so, not with the factory firmware. If you have not made any changes yet, this is unexpected.

> [@Roger\_Gilliar](#):
>
> And how do I assign certain key combinations to the any and butterfly key? For example I would like to assign ctrl-tab to butterfly and F16 to any.

Find the position of said keys in the keymap of the sketch (the `Model01-Firmware.ino` file), and replace the butterfly key (`Key_RightAlt` in the factory firmware) with `LCTRL(Key_Tab)`, and the `Any` key (`M(MACRO_ANY)`) with `Key_F16`, and recompile, reflash, and you should be all set.

---

<div class="post-metadata">

### Author: ![Roger\_Gilliar](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/roger_gilliar/32/511_2.png) [@Roger\_Gilliar](https://community.keyboard.io/u/Roger_Gilliar)
#### Post date: [March 4, 2018, 5:41pm UTC](https://community.keyboard.io/t/how-to-get-started-and-how-to-change-butterfly-and-any-key/1189/3 "2018-03-04T17:41:56Z")

</div>

> [@algernon](#):
>
> Mmm… I don’t think so, not with the factory firmware. If you have not made any changes yet, this is unexpected.

I just opened the default firmware and compiled it.

---

<div class="post-metadata">

### Author: ![algernon](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/algernon/32/4404_2.png) [@algernon](https://community.keyboard.io/u/algernon)
#### Post date: [March 4, 2018, 6:36pm UTC](https://community.keyboard.io/t/how-to-get-started-and-how-to-change-butterfly-and-any-key/1189/4 "2018-03-04T18:36:28Z")

</div>

Did you select the right board? It is - I think - possible to compile the firmware for a board with even less resources, in which case the warnings would be justified.

---

<div class="post-metadata">

### Author: ![bagels](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/bagels/32/1040_2.png) [@bagels](https://community.keyboard.io/u/bagels)
#### Post date: [March 5, 2018, 10:56pm UTC](https://community.keyboard.io/t/how-to-get-started-and-how-to-change-butterfly-and-any-key/1189/5 "2018-03-05T22:56:14Z")

</div>

The default, stock firmware (from following the Arduino guide) does in fact result in a build that gives warnings about not much memory left and that there might be instability, at least in Arduino 1.8.5 on Windows. I didn’t see those warnings in previous versions with previous versions of the firmware, on Mac.

Regardless, it does build properly and you can safely ignore those warnings. They’re warnings and not errors.

I think that the current stock firmware sketch has had more stuff added to it than the more basic original builds. The new sketch is super well commented and is in a much better state than it was when I got started with my first PVT board!

---

<div class="post-metadata">

### Author: ![ryansch](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/ryansch/32/890_2.png) [@ryansch](https://community.keyboard.io/u/ryansch)
#### Post date: [March 6, 2018, 12:07am UTC](https://community.keyboard.io/t/how-to-get-started-and-how-to-change-butterfly-and-any-key/1189/6 "2018-03-06T00:07:17Z")

</div>

Agreed. You can remove the test mode plugin to get back a good chunk of space.

---

<div class="post-metadata">

### Author: ![bagels](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/bagels/32/1040_2.png) [@bagels](https://community.keyboard.io/u/bagels)
#### Post date: [March 6, 2018, 4:52am UTC](https://community.keyboard.io/t/how-to-get-started-and-how-to-change-butterfly-and-any-key/1189/7 "2018-03-06T04:52:33Z")

</div>

You can also safely remove any LED modes that you decide you don’t like, and their associated include files. Though there isn’t a super lot of memory on the boards, there’s certainly more than enough to get almost everything you want in there for most typical users (those not throwing the whole kitchen sink in with everything else).

I agree, though; if you are happy with how your board is performing, there isn’t much sense in keeping the test mode around (you can always flash it back later if desired), and that’s a super easy target for recovering more memory.
