# Rotary Encoder (as an example)

**URL:** <https://librepcb.discourse.group/t/rotary-encoder-as-an-example/653>\
**Category:** Libraries\
**Created:** [December 28, 2023, 10:02am UTC](https://librepcb.discourse.group/t/rotary-encoder-as-an-example/653 "2023-12-28T10:02:48Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tyrn](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/tyrn/32/493_2.png) [@Tyrn](https://librepcb.discourse.group/u/Tyrn)\
**Post date:** [December 28, 2023, 10:02am UTC](https://librepcb.discourse.group/t/rotary-encoder-as-an-example/653/1 "2023-12-28T10:02:48Z")

</div>

Hi,

I need a footprint for KY-040. In the LibrePCB Base library exist a symbol and a component. I found a relevant discussion [here](https://librepcb.discourse.group/t/encoder-rotary-with-swich/390/3):

_You can find component “EC11E09244BS” under Electromechanical-\>Switches-\>Encoders category._

I have some questions:

1. Why component and not package?

2. How can I guess about EC11E09244BS or any similar code?

3. I can’t find it anyway.

4. I can’t see anything under _Encoders_ in the _Component Categories_. Again, any footprint physically belongs to the realm of _Packages_…

Clearly, I still don’t understand something important.

---

<div class="post-metadata">

**Author:** ![sasmus](https://avatars.discourse-cdn.com/v4/letter/s/d26b3c/32.png) [@sasmus](https://librepcb.discourse.group/u/sasmus)\
**Post date:** [December 29, 2023, 8:26pm UTC](https://librepcb.discourse.group/t/rotary-encoder-as-an-example/653/2 "2023-12-29T20:26:32Z")

</div>

I’m not able to give an valid answer to your questions concerning the library concept - but as i understand your question you need a footprint for a KY-040, which seemingly is a _module_ which contains a rotary encoder.  
So i think you only need a 5-pin socket (inline, 2,54mm spaced) for the KY-040 and not a footprint of the encoder itself.

If i misunderstood this and you really need a footprint of the Alps encoder - did you already import the linked library? (library manager - download manually)? I just checked this and all the necessary files are there (component, device and so on), ready for usage in your project.

EC11E09244BS seems to be the “part number” of alps for this special encoder. If this seems too cryptic i would suggest to copy the device of the imported encoder to your private library and change to a name that suits your expectations.

---

<div class="post-metadata">

**Author:** ![Tyrn](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/tyrn/32/493_2.png) [@Tyrn](https://librepcb.discourse.group/u/Tyrn)\
**Post date:** [December 30, 2023, 8:13am UTC](https://librepcb.discourse.group/t/rotary-encoder-as-an-example/653/3 "2023-12-30T08:13:57Z")

</div>

5-pin socket is an obvious solution. It lacks the necessary labels for each pin, but I can create the necessary component in my private library in five minutes. No big deal, but why any user of any common component should do it from scratch every time?

> If i misunderstood this and you really need a footprint of the Alps encoder - did you already import the linked library? (library manager - download manually)?

No, I don’t need this particular encoder. BTW, I got all the available libraries installed: there’s a check box for it 🙂 . Do you mean that I still have to find and install a library for a not uncommon part?

---

<div class="post-metadata">

**Author:** ![sasmus](https://avatars.discourse-cdn.com/v4/letter/s/d26b3c/32.png) [@sasmus](https://librepcb.discourse.group/u/sasmus)\
**Post date:** [December 30, 2023, 8:42am UTC](https://librepcb.discourse.group/t/rotary-encoder-as-an-example/653/4 "2023-12-30T08:42:18Z")

</div>

> [@Tyrn](#):
>
> but why any user of any common component should do it from scratch every time?

Well, for me this one isn‘t common, had to Google it 😉

> [@Tyrn](#):
>
> Do you mean that I still have to find and install a library for a not uncommon part?

Of course i know what you are talking about and this should be adressed imho, but this is a kind of philosophy. For example: i only installed the basic libs and maintain an ever growing private lib of my own special parts. In my opinion it is often faster to create a new set of component/footprint/device than searching for the one anyone else did before. Just to find out that some detail doesn‘t fit the personal expectations.

---

<div class="post-metadata">

**Author:** ![ubruhin](https://avatars.discourse-cdn.com/v4/letter/u/c89c15/32.png) [@ubruhin](https://librepcb.discourse.group/u/ubruhin)\
**Post date:** [December 30, 2023, 10:08am UTC](https://librepcb.discourse.group/t/rotary-encoder-as-an-example/653/5 "2023-12-30T10:08:15Z")

</div>

> [@Tyrn](#):
>
> No big deal, but why any user of any common component should do it from scratch every time?

Of course this is not by intention, but who do you think creates (for free!) all the hundreds of thousands existing parts in the LibrePCB libraries? 😉 This is a completely impossible tasks, so there will always be parts missing in out libraries. Even if we’re talking only about _common_ parts (which is subjective anyway), there are still many thousands of parts to create…
