# Serial

## Introduction

The **Serial** **Nodes** allow the user to connect to serial devices -- like GPS devices -- via USB or serial ports using *Serial* *Communication*. *Serial* *Communication* sends single bits of data at a time, sequentially, through a communication channel/bus. To use the **Serial** **Nodes** in **Incari**, the user first needs to locate the [**Serial Attributes**](https://docs.incari.com/incari-studio/2023.2/modules/project-settings/serial) in **Project** **Settings** and add a `Connection`.

This form of **Communication** in **Incari** is available as a plugin and is enabled as default. However, in the case that it is disabled in the **Plugins Editor**, it will not appear in the **Project Settings** and render the **Serial Nodes** unavailable. Please refer to the [**Plugins Editor**](https://docs.incari.com/incari-studio/2023.2/modules/plugins) to find out more information.

### Serial Guideline

These are the guidelines for incorporating **Serial Communication** into a **Project**.

* To properly start a connection, see the [**General Guideline**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/..#general-guideline) on the Communications Introduction page.
* Once the connection has been established, there are several **Nodes** that cover important functions of **Serial Communication**.
  * [**On Serial Error**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/serial/events/onserialerror) executes when an error is received.
  * [**On Serial Packet Received**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/serial/events/onserialpacketreceive) executes when a **Serial** data **Packet** is received.
  * [**Serial Send Packet**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/serial/serialsendpacket) sends a **Serial** data **Packet**.
* To properly stop a connection, see the [**General Guideline**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/..#general-guideline) on the Communications Introduction page.

## Contents

* [**Events**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/serial/events)
  * [**On Serial Error**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/serial/events/onserialerror)
  * [**On Serial Packet Receive**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/serial/events/onserialpacketreceive)
  * [**On Serial Start**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/serial/events/onserialstart)
  * [**On Serial Stop**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/serial/events/onserialstop)
* [**Serial Send Packet**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/serial/serialsendpacket)
* [**Serial Start**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/serial/serialstart)
* [**Serial Stop**](https://docs.incari.com/incari-studio/2023.2/toolbox/communication/serial/serialstop)

## External Links

* [*Serial Communication*](https://en.wikipedia.org/wiki/Serial_communication) on Wikipedia.
* [*Learn about Serial Communication*](https://learn.sparkfun.com/tutorials/serial-communication/all) on SparkFun.
