Zephyr project cannot get serial prints to work

Anyone built the Zephyr project for Arduino Nano 33 BLE? Im not able to open a terminal to see my Hello world to print, im on Mac OS, i have CONFIG_BOARD_ARDUINO_NANO_33_BLE_EN_USB_CONSOLE enabled. Im using this screen /dev/tty.usbmodem14101 115200 but it just flashes by sometimes and sometimes my device cannot be found. Experiencing the same issue when i try to list my device using ls /dev/tty*.

By "Zephyr", do you mean the RTOS?
https://zephyrproject.org/

pert:
By "Zephyr", do you mean the RTOS?
https://zephyrproject.org/

Yes that is what I mean.

Welcome to the forum

What kind of support does zephyr offer? Do they have a forum where you can ask questions? Most users here use the Arduino framework, which might not offer many fancy features but is easy to setup and get started.

How long did it take you to setup your system and get to where you are now? Is this something I could get running on a Windows 10 PC in half and hour or so?

They have a Slack channel but I get not response there. It takes approximately 1 hour to get everything up and running. And you can get the development environment to run on windows also, see this guide if you are interested Getting started. I have an evorinmet on windows aswell but I get the same result there. On windows I use Putty as my serial terminal.

s0ckan:
They have a Slack channel but I get not response there.

Not good. Do you want to use this for hobby, or do you need this professionally?

s0ckan:
And you can get the development environment to run on windows also, see this guide if you are interested

I had a look at the guide. It looks like I would need to install a lot of stuff to get this running.

For board bring-up debug the best option is to use a hardware debugger. Because the Arduino Nano 33 BLE uses a ARM-Cortex-M processor there is a lot of choice (ARM/Keil, IAR, Segger, Lauterbach, ...). Under the board below the radio module are 5 round pads. These are the pads for the Serial Wire Debug (SWD). Have a look at the schematic in the Arduino store under DOCUMENTATION. The pad is called J3.

With a hardware debugger you check whether the peripherals are correctly setup, the code is running or whether the processor gets stuck in a fault even if you just connect the device. If you set it up correctly, you can do full single step debug, breakpoints and watchpoints ...

I am using this board for a personal project. I have been using Zephyr professionally before that why I would like to use Zephyr for my project (because is know how to get started with stuff).

I have never before built an application based on Arduino and haven't been using Arduino IDE. I have been trying to find some guides on how to get started with this board and build an MBES OS application for it but haven't found something so far that led me in to how the whole development environment is supposed to work.

Maybe I just have to look more :slight_smile:

s0ckan:
I have never before built an application based on Arduino and haven’t been using Arduino IDE.

If you have worked with a professional IDE’s before, Arduino IDE will seem a bit simplistic. But that is a big appeal for many that just start working with electronics. The libraries are written in a way to make life easy for beginners at the cost of not using advanced features of most peripherals. The general workflow is the following:

  • install the IDE (e.g. Windows installer)
  • install the board support from within the IDE, this includes the compilation tools with standard libraries and header files

Tools → Board → Board Manager

  • install libraries e.g. for sensors from within the IDE

Tools → Manage Libraries

  • check the library examples, the library examples are available from within the IDE

File → Examples → Library Name → …

  • connect the board to USB, virtual COM ports are used for programming via a bootloader already on the Arduino

  • compile and download the code

  • Debugging is done via printf or IOs (blinking LEDs, cheap Logic Analyzer …)

As experienced developer you can get this up and running in less than 30 minutes.

Thank you for your guidance.

I have it al setup and have managed to deploy an application that reads values from LSM9DS1 and HTS221 on my Nano 33 BLE Sense board.

Now I want to figure out how I can use functionalities that come with Mbed OS, like setting up threads to start with.

Never worked with Mbed OS before and as I see the library I installed uses version 1.3.2 but cannot find more documentation on how its supposed to be used. Mbed OS site refer to documentation for version 5 and greater.

s0ckan:
I see the library I installed uses version 1.3.2 but cannot find more documentation on how its supposed to be used. Mbed OS site refer to documentation for version 5 and greater.

That "1.3.2" is the version number of the "Arduino mbed-enable Boards" platform that adds support for the Nano 33 BLE boards to the Arduino IDE and other Arduino development software. The core library of "Arduino mbed-enable Boards" uses Mbed OS. I believe the version of Mbed OS used by "Arduino mbed-enable Boards" is 6.2.0:

pert:
That "1.3.2" is the version number of the "Arduino mbed-enable Boards" platform that adds support for the Nano 33 BLE boards to the Arduino IDE and other Arduino development software. The core library of "Arduino mbed-enable Boards" uses Mbed OS. I believe the version of Mbed OS used by "Arduino mbed-enable Boards" is 6.2.0:
Update mbed to mbed-os-6.2.0-31-ga01a0853d5 · arduino/ArduinoCore-mbed@c3d0856 · GitHub

Okay, then I will take a look at that documentation then. Thanks!

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.