Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ software:
- ide-v1
- ide-v2
- iot-cloud
- web-editor
---

The **Arduino® Nesso N1** is an all-in-one enclosed development board. Based on the ESP32-C6 System on Chip (SoC), it integrates a suite of communication protocols, including 2.4 GHz Wi-Fi® 6, Bluetooth® 5.3 LE, 802.15.4 (Thread/Zigbee®), and long-range LoRa®. It also includes a 1.14" color touchscreen, buttons, and a built-in LiPo battery for immediate user interaction in portable applications.
Expand All @@ -38,8 +37,8 @@ This document serves as a comprehensive user manual for the Nesso N1, providing

### Software Requirements

- [Arduino IDE](https://www.arduino.cc/en/software) or [Arduino Cloud Editor](https://app.arduino.cc/sketches)
- [ESP32 Boards core by Espressif](https://github.com/espressif/arduino-esp32)
- [Arduino IDE](https://www.arduino.cc/en/software) (v2.0 or higher recommended)
- [ESP32 Boards core by Espressif](https://github.com/espressif/arduino-esp32) (v3.3.3 or higher)

## Product Overview

Expand Down Expand Up @@ -72,25 +71,53 @@ The full datasheet is available as a downloadable PDF from the link below:

## Installation

The Nesso N1 can be programmed using the Arduino IDE or the Arduino Cloud Editor. To get started, you will need to install the appropriate board package.
The Nesso N1 is programmed using the desktop Arduino IDE. To get started, you will need to install the appropriate board package.

### Arduino IDE

To use the board in the Arduino IDE, you need to install the latest version of the **esp32 by Espressif Systems** package from the boards manager.
To use the board in the Arduino IDE, you must install the latest version of the **esp32 by Espressif Systems** package. Support for the Nesso N1 requires version **3.3.3** or newer.

1. Open the Arduino IDE.
2. Navigate to **Boards Manager** (**Tools > Board > Boards Manager...**).
3. Search for **"esp32"** and find the package by **Espressif Systems**.
4. Click the **Install** button.
4. Click the **Install** (or Update) button.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
4. Click the **Install** (or Update) button.
4. Click the **Install** (or **Update**) button.

Consistent formatting.

5. Once installed, select **Arduino Nesso N1** from the **Tools > Board > esp32** menu.

![Installing the esp32 Boards core in the Arduino IDE](assets/board-manager.png)

### Arduino Cloud Editor

The Arduino Cloud Editor is an online IDE that supports the Nesso N1 without requiring manual installation of the board package.
Direct support for the Nesso N1 in the **Arduino Cloud Editor** (the online web IDE) is coming soon. Currently, the Cloud Editor does not support the specific ESP32 core version required for this board.

Read more in the [Getting Started with the Cloud Editor](https://docs.arduino.cc/arduino-cloud/guides/editor/) guide.
Please use the **Arduino IDE** (desktop version) to compile and upload code to the Nesso N1.

## Arduino IoT Cloud

Although the Nesso N1 cannot yet be programmed directly via the Cloud Editor, you can still use it with **Arduino IoT Cloud** dashboards and variables by configuring it as a "Manual Device" and uploading the sketch from your desktop IDE.

### 1. Create a Manual Device
1. Go to the [Arduino IoT Cloud Devices page](https://app.arduino.cc/devices).
2. Click **+ CREATE**.
3. Select **Any Device** (do not search for Nesso N1).
4. Click **Continue**.
5. Name your device (e.g., "MyNessoN1") and click **Next**.
6. **Important:** Save the **Device ID** and **Secret Key**. You will need these later in your code.
7. Check the box confirming you have saved your credentials and click **Continue**.

### 2. Create a Thing
1. Go to the [Things page](https://app.arduino.cc/things).
2. Create a new Thing and associate it with the "Manual Device" you just created.
3. Add your desired Cloud Variables (e.g., an LED switch or sensor value).

### 3. Program the Board via Desktop IDE
1. Open the **Arduino IDE** on your computer.
2. Install the **ArduinoIoTCloud** library via the Library Manager.
3. Copy the sketch generated by the Cloud "Thing" (from the "Sketch" tab in the web interface) into the Arduino IDE.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sketches are not generated for Things associated with "manual devices".

The user can use the ArduinoIoTCloud library's "ArduinoIoTCloud-Basic" example sketch as a starting point for implementing their own Thing sketch. That example is accessible by selecting File > Examples > ArduinoIoTCloud > ArduinoIoTCloud-Basic from the Arduino IDE menus.

Unfortunately that example is not very approachable to less technical users because the developers of the library added a bunch of preprocessor conditionals to make it support every possible type of Device.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another thing that should be notes about the "ArduinoIoTCloud-Basic" example sketch is that it won't compile for the Nesso N1 as written. It can still serve as a starting point for a sketch, but it will be necessary to make This is the reason why I created my own demo sketch when providing support for Nesso N1 users wanting to use Arduino Cloud:

https://forum.arduino.cc/t/nesso-n1-not-showing-on-arduino-cloud-editor-despite-the-manual-saying-so/1414912/8#p-8320889-d-create-thing-sketch-4

I also think that the "ArduinoIoTCloud-Basic" example sketch program is excessively complex for something named "basic". My desire is always to start with the absolute minimum "hello world", but Arduino tends to add additional complexity to the introductory examples and tutorials. The sketch I provide at the link above is the type of simple example I always hope to find in documentation.

4. Open the `thingProperties.h` tab in your local sketch.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is true that the credentials can be configured via the thingProperties.h tab. However, the established convention is to do this via arduino_secrets.h (example). If the user is starting from a sketch that has arduino_secrets.h, I think it would be confusing for them to instead configure credentials via thingProperties.h.

The exception is that the convention is to define the Device ID via thingProperties.h (since this information is not a secret).

5. Manually enter your Wi-Fi credentials and the **Device ID** and **Secret Key** you saved in step 1.
6. Select **Arduino Nesso N1** as your board and upload the sketch.

The board will now connect to the Arduino IoT Cloud, allowing you to control it via dashboards despite not using the Cloud Editor.

## First Use

Expand Down
Loading