# Notecard Zephyr West Module

**URL:** <https://discuss.blues.com/t/notecard-zephyr-west-module/1844>\
**Category:** Tools & SDKs\
**Created:** [December 13, 2023, 2:55pm UTC](https://discuss.blues.com/t/notecard-zephyr-west-module/1844 "2023-12-13T14:55:42Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bucknall](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.blues.com/bucknall/32/1011_2.png) [@bucknall](https://discuss.blues.com/u/bucknall)\
**Post date:** [December 13, 2023, 2:55pm UTC](https://discuss.blues.com/t/notecard-zephyr-west-module/1844/1 "2023-12-13T14:55:42Z")

</div>

Hi all,

I’ve been working with the Notecard on Zephyr for both work and hobby recently and decided to provide a hand levelling up the Zephyr implementation by making it into a west module, that is easy to import into a project. Currently the module is hosted on my company’s GitHub org but would be happy to contribute this back to Blues, upon advice for where to make the Pull Request, as it doesn’t quite fit any of the existing repos!

> **[GitHub - arribada/notecard-lib-zephyr: Zephyr Module for the Blues.io Notecard](https://github.com/arribada/notecard-lib-zephyr)**
>
> Zephyr Module for the Blues.io Notecard. Contribute to arribada/notecard-lib-zephyr development by creating an account on GitHub.

The README covers how to import the module into your project; you just need to add the following to your west.yml manifest:

```yaml
  projects:
    # Your other modules here
    - name: notecard
      path: modules/notecard
      revision: main
      submodules: true
      url: https://github.com/arribada/lib-notecard-zephyr

```

Then run `west update` to pull the module into your project. From there you can start using the helper code for setting up the zephyr interface to the module, where you just need to adjust the specific i2c bus for your target board in it’s .overlay file.

```overlay
/ {
    aliases {
        // for example, using the i2c0 bus
        notecard = &i2c0;
    };
};

```

Currently the repo has a submodule pinned at a working release of `note-c`; I intend to track the latest commit at some point using a GitHub workflow.

Blues team, let me know how best to upstream this back to your org 🙂

---

<div class="post-metadata">

**Author:** ![zfields](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.blues.com/zfields/32/29_2.png) [@zfields](https://discuss.blues.com/u/zfields)\
**Post date:** [December 13, 2023, 5:48pm UTC](https://discuss.blues.com/t/notecard-zephyr-west-module/1844/2 "2023-12-13T17:48:43Z")

</div>

Hi @bucknall,

Welcome to the Blues Forum!

… and WOW, this sounds super awesome!

Yes, we would ultimately love to upstream your work. I’ll be happy to work with you on GitHub or here in the forum post. Let me finish working on my current task, and I’ll jump over to take a look at what you’ve come up with.

Super excited,  
Zak

---

<div class="post-metadata">

**Author:** ![bucknall](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.blues.com/bucknall/32/1011_2.png) [@bucknall](https://discuss.blues.com/u/bucknall)\
**Post date:** [December 13, 2023, 7:15pm UTC](https://discuss.blues.com/t/notecard-zephyr-west-module/1844/3 "2023-12-13T19:15:05Z")

</div>

Hey Zak,

Awesome, where would you like me to open a PR? I was thinking maybe it makes sense to do it from the note-zephyr repo but I will update my repo to include your example project? That way a new user can see how to use your helper libraries as well as pull in the west module?

Alex

---

<div class="post-metadata">

**Author:** ![zfields](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.blues.com/zfields/32/29_2.png) [@zfields](https://discuss.blues.com/u/zfields)\
**Post date:** [December 15, 2023, 1:03pm UTC](https://discuss.blues.com/t/notecard-zephyr-west-module/1844/4 "2023-12-15T13:03:54Z")

</div>

Hi Alex,

That sounds like a great place to start!

Thanks,  
Zak

---

<div class="post-metadata">

**Author:** ![bucknall](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.blues.com/bucknall/32/1011_2.png) [@bucknall](https://discuss.blues.com/u/bucknall)\
**Post date:** [December 21, 2023, 8:06pm UTC](https://discuss.blues.com/t/notecard-zephyr-west-module/1844/5 "2023-12-21T20:06:54Z")

</div>

Hey @zfields I’ve opened a PR here → [Adds scaffolding for Zephyr West Module by Bucknalla · Pull Request #1 · blues/note-zephyr · GitHub](https://github.com/blues/note-zephyr/pull/1) 🙂 let me know what you think! I have some additional changes for CI but I’ve saved them for another PR to keep things clean.

---

<div class="post-metadata">

**Author:** ![bucknall](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.blues.com/bucknall/32/1011_2.png) [@bucknall](https://discuss.blues.com/u/bucknall)\
**Post date:** [March 7, 2024, 1:52pm UTC](https://discuss.blues.com/t/notecard-zephyr-west-module/1844/6 "2024-03-07T13:52:32Z")

</div>

Just bumping this to say I’ve added the serial transport mechanism to the `note_c_hook` so you can use the zephyr module with either i2c or serial now 🙂.

Depending on your Notecarrier (e.g. Notecarrier F), you may need to bridge F\_TX → N\_RX and F\_RX → N\_TX with a jumper and also ensure that the DFU switch is set to ‘NORMAL’.

```auto
// for example, using the usart0 bus
/ {
    aliases {
        notecard = &usart0;
    };
};

```
