The Kumquat board is equipped with an **ESP32 module** for both WiFi and Bluetooth functionality. The ESP32 uses the **Espressif esp-hosted-ng firmware**, and the necessary kernel modules are pre-installed on the system. This guide provides an overview of how to connect to a WiFi network using the `NetworkManager` service and how to manage Bluetooth connections.
## Key Features
- **WiFi Interface**: The WiFi interface on the Kumquat board is named `espsta0`.
- **Bluetooth Interface**: The Bluetooth interface is named `hci0`.
- **Firmware**: The ESP32 is controlled via the Espressif esp-hosted-ng firmware.
## Using WiFi with `NetworkManager`
The Kumquat board uses the standard `NetworkManager` service to manage WiFi connections. Here’s how to connect to a WiFi network and enable internet access.
### Checking the WiFi Interface
First, check if the `espsta0` interface is up and running:
You should receive a response if the connection is successful.
## Using Bluetooth (`hci0`)
The Kumquat board supports Bluetooth through the **hci0** interface, managed by the `BlueZ` stack, which is pre-installed. Below are some common Bluetooth operations such as scanning, pairing, and connecting to devices.
This will output a list of discoverable devices, showing their MAC addresses and device names. Note the MAC address of the device you wish to connect to.
### Pairing with a Bluetooth Device
Once you have the device's MAC address, you can initiate pairing using `bluetoothctl`, a command-line utility to manage Bluetooth devices.
This will provide information on the current state of the Bluetooth interface, including any active connections.
## Summary
The Kumquat board offers robust WiFi and Bluetooth support through its integrated ESP32 module. Using standard tools like `NetworkManager` and `bluetoothctl`, you can easily connect to WiFi networks and pair with Bluetooth devices. The board’s dual connectivity capabilities make it ideal for embedded IoT projects requiring wireless communication.
For more advanced uses, refer to the [BlueZ Bluetooth stack documentation](https://www.kernel.org/pub/linux/bluetooth/) and the [NetworkManager documentation](https://networkmanager.dev/docs/).