@@ -264,6 +267,91 @@ If you need to know the detailed parameter information of ov5640, you can refer
All the programs about cameras in the Wiki are compatible with both OV5640 and OV2640 cameras.
:::
+
+
### Software Preparation
The recommended programming tool for the XIAO ESP32S3 is the Arduino IDE, so as part of the software preparation, you will need to complete the Arduino installation.
diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2040/XIAO-RP2040-with-Arduino.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2040/XIAO-RP2040-with-Arduino.md
index 9eee9e902253..ef31392f380b 100644
--- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2040/XIAO-RP2040-with-Arduino.md
+++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2040/XIAO-RP2040-with-Arduino.md
@@ -96,7 +96,7 @@ Once uploaded, you should be able to see the pin 25 Green (USER) LED on the boar
If uploading the Arduino program fails, try holding down the "BOOT" button and then clicking the "RUN" button. At this point, Seeed Studio XIAO RP2040 will enter boot mode (your computer will load a removable disk), and you will be able to upload the Arduino program again.
:::
-## **Pin Multuiplexing on the Seeed Studio XIAO RP2040**
+## **Pin Multiplexing on the Seeed Studio XIAO RP2040**
The Seeed Studio XIAO RP2040 contains 11 digital pins, 4 analog pins, 11 PWM Pins,1 I2C interface, 1 UART interface, 1 SPI interface, 1 SWD Bonding pad interface. We are going to provide the tutorials about these interfaces to make it helpful for your projects.
diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350-with-MicroPython.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350-with-MicroPython.md
new file mode 100644
index 000000000000..d80907d40271
--- /dev/null
+++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350-with-MicroPython.md
@@ -0,0 +1,104 @@
+---
+description: how to use MicroPython for RP2350
+title: Seeed Studio XIAO RP2350 with MicroPython
+image: https://files.seeedstudio.com/wiki/seeed_logo/logo_2023.png
+slug: /xiao-rp2350-micropython
+sidebar_position: 1
+last_update:
+ date: 2024-08-08T07:21:33.838Z
+ author: Spencer
+---
+
+## Introduction
+
+Welcome to the guide on using MicroPython with the Seeed Studio XIAO RP2350! This guide will help you get started with setting up MicroPython, writing and running your first script, and exploring the capabilities of the XIAO RP2350 using the Thonny IDE.
+
+## What You'll Need
+
+- Seeed Studio XIAO RP2350
+- USB-C cable
+- Computer with internet access
+- Thonny IDE (recommended for beginners)
+
+## Setting Up MicroPython on the XIAO RP2350
+
+1. **Download and Install Thonny IDE**
+
+ Thonny IDE is a beginner-friendly Python IDE that is perfect for writing and running MicroPython scripts. You can download it from [here](https://thonny.org/).
+
+2. **Install MicroPython Firmware**
+
+ To use MicroPython on the XIAO RP2350, you need to flash the MicroPython firmware onto the board.
+
+ - Download the latest MicroPython firmware for RP2040 from the [official site](https://micropython.org/download/rp2-pico/).
+ - Connect the XIAO RP2350 to your computer while holding the BOOTSEL button to enter the bootloader mode.
+ - Drag and drop the downloaded `.uf2` file onto the RP2040 storage device that appears.
+
+3. **Configure Thonny IDE**
+
+ - Open Thonny IDE.
+ - Go to `Tools` > `Options` > `Interpreter`.
+ - Select `MicroPython (Raspberry RP2350)` as the interpreter and select the corresponding COM port.
+
+## Writing Your First MicroPython Script
+
+1. **Hello, World!**
+
+ Let's start with a simple script to print "Hello, World!" to the console.
+
+ ```python
+ print("Hello, World!")
+ ```
+
+2. **Running the Script**
+
+ - Type the script in the Thonny editor.
+ - Click the `Run` button or press `F5`.
+ - You should see "Hello, World!" printed in the console.
+
+## Exploring GPIO Control
+
+Let's explore how to control the GPIO pins on the XIAO RP2350 with MicroPython.
+
+1. **Blinking an LED**
+
+ Connect an LED to a GPIO pin (e.g., GP25) with a suitable resistor.
+
+ ```python
+ import machine
+ import time
+
+ led = machine.Pin(25, machine.Pin.OUT)
+
+ while True:
+ led.value(1) # Turn LED on
+ time.sleep(1)
+ led.value(0) # Turn LED off
+ time.sleep(1)
+ ```
+
+2. **Running the LED Blinking Script**
+
+ - Type the script in the Thonny editor.
+ - Click the `Run` button or press `F5`.
+ - The LED should start blinking on and off.
+
+## Additional Resources
+
+- [Raspberry Pi Documentation](https://www.raspberrypi.com/documentation/microcontrollers/micropython.html)
+- [Raspberry Pi Pico Python SDK](https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-python-sdk.pdf)
+- [Thonny IDE Setup Guide](https://raspberrytips.com/thonny-ide-raspberry-pi/)
+
+## Tech Support & Product Discussion
+
+Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.
+
+
+
+
\ No newline at end of file
diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350-with-SDK.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350-with-SDK.md
new file mode 100644
index 000000000000..64b6fbef1eee
--- /dev/null
+++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350-with-SDK.md
@@ -0,0 +1,267 @@
+---
+description: how to use SDK for RP2350
+title: Seeed Studio XIAO RP2350 with C/C++ SDK
+image: https://files.seeedstudio.com/wiki/seeed_logo/logo_2023.png
+slug: /xiao-rp2350-c-cpp-sdk
+sidebar_position: 2
+last_update:
+ date: 2024-08-06T09:04:18.916Z
+ author: Spencer
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+## Introduction
+
+The Pico SDK represents a comprehensive software development kit tailored for the Raspberry Pi RP-family of microcontrollers, with a particular focus on the XIAO RP2350 board. This SDK incorporates a wide range of libraries and tools designed to facilitate the development of advanced applications, serving both novice enthusiasts and experienced professionals. The SDK functions as a foundational platform for exploiting the extensive capabilities of the RP2350 microcontroller across various projects.
+
+## Prerequisites
+
+Before initiating SDK programming on the XIAO RP2350, the following equipment is required:
+
+- A USB Type-C cable
+- The XIAO RP2350 board
+- A personal computer equipped with a Linux/Unix operating system
+
+:::caution Attention
+
+This documentation predominantly addresses development under a Linux environment. Windows users are advised to consult the following resource for compatible setup instructions: [Raspberry Pi Pico Setup on Windows](https://github.com/raspberrypi/pico-setup-windows).
+
+:::
+
+## Installation Guide โถ๏ธ
+
+### Step 1: Install System Dependencies
+
+Execute the following commands in your Linux terminal to install the essential system dependencies:
+
+```bash
+sudo apt update
+sudo apt install cmake gcc g++ git
+```
+
+### Step 2: ๐จ Toolchain Installation {#install_gcc_arm}
+
+To compile code for the RP2350, installation of a specific toolchain, `gcc-arm-none-eabi`, is imperative. This toolchain provides the necessary compilers and libraries for ARM architecture. Two methods for installation are provided below.
+
+
+
+
+The manual installation process offers precise control over the installation environment by following these steps:
+
+1. **Download the Toolchain**:
+
+ Access the ARM Developer Downloads page and download the `.tar.bz2` file for the `gcc-arm-none-eabi` toolchain from [here](https://developer.arm.com/downloads/-/gnu-rm).
+
+2. **Extract the Archive**:
+
+ After downloading, open a terminal window, navigate to the directory containing the file, and execute the command below to extract the archive:
+
+ ```shell
+ tar -xjf {downloaded-file}.tar.bz2
+ ```
+
+3. **Update System Path**:
+
+ To make the toolchain accessible from any terminal session, add its directory to your system's PATH by inputting the following command, substituting `{VERSION}` with the actual version number of the toolchain:
+
+ ```shell
+ echo "export PATH=\$PATH:$(pwd)/gcc-arm-none-eabi-{VERSION}/bin" >> ~/.bashrc
+ ```
+
+4. **Apply Configuration Changes**:
+
+ To activate the PATH update immediately, source your `.bashrc` file:
+
+ ```shell
+ source ~/.bashrc
+ ```
+
+
+
+
+Opt for a scripted installation to streamline and automate the setup process with the following steps:
+
+1. **Download and Execute the Script**:
+
+ Utilize `curl` to download the installation script and set the necessary execution permissions:
+
+ ```shell
+ curl -O https://raw.githubusercontent.com/Seeed-Projects/Seeed-xiao-rp2350-sdk/main/install_gcc_arm.sh
+ chmod +x install_gcc_arm.sh
+ ./install_gcc_arm.sh
+ ```
+
+View Script Code
+
+The script automates the download, extraction, and PATH configuration processes, as outlined below:
+
+```shell
+#!/bin/bash
+
+# Handle the automatic download and installation of the gcc-arm-none-eabi toolchain
+TOOLCHAIN_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/{VERSION}/gcc-arm-none-eabi-{VERSION}-linux.tar.bz2"
+wget $TOOLCHAIN_URL -O toolchain.tar.bz2
+tar -xjf toolchain.tar.bz2
+echo "export PATH=\$PATH:$(pwd)/gcc-arm-none-eabi-{VERSION}/bin" >> ~/.bashrc
+source ~/.bashrc
+rm toolchain.tar.bz2
+```
+
+
+
+
+
+
+
+
+### Step 3: โ๏ธ SDK Installation {#install_sdk}
+
+The Pico SDK is crucial as it provides the libraries, examples, and documentation necessary for software development on the RP2350. It abstracts much of the hardware complexity through user-friendly APIs and is regularly updated to incorporate new features and performance enhancements.
+
+#### Installation Instructions
+
+To install the Pico SDK, execute the following commands in your terminal:
+
+```shell
+git clone https://github.com/raspberrypi/pico-sdk.git
+echo "export PICO_SDK_PATH=$(pwd)/pico-sdk" >> ~/.bashrc
+source ~/.bashrc
+```
+
+These commands clone the SDK from its repository, set the `PICO_SDK_PATH` environment variable to its location, and update your shell configuration to include this path, ensuring the SDK is accessible in your development environment.
+
+:::tip Enhanced Setup on Raspberry Pi 4B or Pi 400
+
+If you are developing directly on a Raspberry Pi 4B or Raspberry Pi 400, you can streamline the installation process with a setup script that automates these steps:
+
+```shell
+wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
+chmod +x pico_setup.sh
+./pico_setup.sh
+```
+
+This script configures your development environment specifically for the Pico on Raspberry Pi hardware, simplifying the initial setup and allowing you to focus on development.
+
+:::
+
+#### Expanded SDK Download and Setup
+
+
Expand to view the detailed SDK setup script
+
+For a more tailored SDK installation, especially if working with different shell environments, consider using the detailed setup script below:
+
+```shell
+#!/bin/bash
+
+# Clone the appropriate Pico SDK repository
+git clone https://github.com/raspberrypi/pico-sdk.git # should be pico-sdk-rp2350-a1
+cd pico-sdk
+PICO_SDK_PATH="$HOME/pico-sdk-rp2350-a1"
+
+# Add the SDK path to your shell's configuration file
+if [ -n "$ZSH_VERSION" ]; then
+ echo "export PICO_SDK_PATH=$PICO_SDK_PATH" >> ~/.zshrc
+ source ~/.zshrc
+elif [ -n "$BASH_VERSION" ]; then
+ echo "export PICO_SDK_PATH=$PICO_SDK_PATH" >> ~/.bashrc
+ source ~/.bashrc
+else
+ # For other shells, adjust accordingly
+ SHELL_CONFIG_FILE="$(basename $SHELL)rc"
+ echo "export PICO_SDK_PATH=$PICO_SDK_PATH" >> ~/$SHELL_CONFIG_FILE
+ source ~/$SHELL_CONFIG_FILE
+fi
+
+# Verify the environment variable setting
+echo "PICO_SDK_PATH is set to ${PICO_SDK_PATH}"
+```
+
+This script ensures that the SDK path is correctly set up in your environment, regardless of the shell you use, and verifies that the `PICO_SDK_PATH` environment variable is correctly set.
+
+
+
+## Exploring the Examples and Building Projects
+
+For newcomers to SDK programming, a practical approach involves studying the code of pre-existing Pico examples. This provides valuable insight into coding conventions and methodologies employed within the SDK environment.
+
+### Steps to Execute the Code
+
+The following steps outline the process from setting up the development environment to running your code on the XIAO RP2350 board:
+
+1. **Development Environment Setup**: Initiate by configuring your development environment. Detailed instructions can be found on the [Setting Up the Pico SDK](/xiao-rp2350-c-cpp-sdk) documentation page. This setup is essential for ensuring that all necessary tools and libraries are correctly installed and configured.
+
+2. **Code Composition**: Utilize a preferred text editor or Integrated Development Environment (IDE) to develop your application. For an initial test, you may start by writing the sample `blink.c` program, which toggles the board's LED. Save this file within your project directory.
+
+3. **Code Compilation**:
+ To compile your program, the Pico SDK offers a suite of tools streamlined for this purpose. Execute the following sequence of commands in your terminal, ensuring you are in the project directory where `blink.c` is located:
+
+ ```sh
+ mkdir build
+ cd build
+ cmake ..
+ make
+ ```
+
+ This process will generate a build environment, configure the project, and compile the source code into an executable format.
+
+4. **Code Upload**:
+ Upon successful compilation, a binary file with the `.uf2` extension is created in the `build` directory. This file must be transferred to the XIAO RP2350 board for execution. Connect the board via USB and copy the `.uf2` file to the device's mounted storage, typically appearing as a removable drive on your computer.
+
+ After transferring the file, the XIAO RP2350 will automatically reboot, and you should observe the onboard LED blinkingโindicating that the program is running effectively.
+
+### Example 1: LED Blink
+
+To demonstrate basic SDK usage, the following example details programming the onboard LED to blink:
+
+```c title="blink.c"
+#include "pico/stdlib.h"
+
+const int sleep_time = 250;
+
+int main() {
+ const uint LED_PIN = PICO_DEFAULT_LED_PIN; // GPIO25
+ gpio_init(LED_PIN);
+ gpio_set_dir(LED_PIN, GPIO_OUT);
+ while (true) {
+ gpio_put(LED_PIN, 1);
+ sleep_ms(sleep_time);
+ gpio_put(LED_PIN, 0);
+ sleep_ms(sleep_time);
+ }
+}
+```
+
+
+
+## Reference
+
+- ๐**[PDF]** [Getting started with Raspberry Pi Pico](https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf) - Official Raspberry Pi documentation.
+
+## Additional Resources
+
+- ๐**[PDF]** [Raspberry Pi Pico C/C++SDK](https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf) the book which documents the SDK APIs
+- ๐ฝ๏ธ**[Video]** [Intro to Raspberry Pi Pico and RP2040](https://www.youtube.com/watch?v=B5rQSoOmR5w) - A video tutorial.
+
+## Tech Support & Product Discussion
+
+Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.
+
+
+
+
\ No newline at end of file
diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md
new file mode 100644
index 000000000000..b68515f589e1
--- /dev/null
+++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md
@@ -0,0 +1,373 @@
+---
+title: Getting Started with Seeed Studio XIAO RP2350
+description: |
+ XIAO RP2350, a cutting-edge microcontroller from Seeed Studio. It features a dual-core processor, increased SRAM and flash memory, and enhanced connectivity.
+image: https://files.seeedstudio.com/wiki/XIAO-RP2350/img/RP2350-thumbnail.png
+slug: /getting-started-xiao-rp2350
+keywords:
+ - xiao
+ - RP2350
+sidebar_position: 0
+author: Spencer
+last_update:
+ date: 2024-08-08T14:19:47.057Z
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+## Seeed Studio XIAO RP2350
+
+
+
+
+
+
+
+The XIAO RP2350 packs the power of the Raspberry Pi RP2350 (dual Cortex-M33 cores running at 150MHz with FPU, enhanced security and encryption) into the classic XIAO form factor. Measuring just 21x17.5mm, it features 19 multifunction GPIOs, an RGB LED, and a Battery Management System with ultra-low power consumption of 27ฮผA, battery power supply, and direct battery voltage measurement. Thanks to the XIAO ecosystem, the XIAO RP2350 is compatible with a wide range of add-ons, including displays, LED matrix, Grove modules, CAN Bus, Vision AI sensors, and mmWave sensors. With native support for MicroPython, C, and C++, the XIAO RP2350 is perfect for developers of all levels looking to create compact, battery-powered applications for smart control, wearables, DIY keyboards, and more.
+
+## Features
+
+- **Powerful MCU Board:** Equipped with a Raspberry Pi RP2350 chip featuring symmetric dual Arm Cortex-M33 @ 150MHz with FPU.
+- **Enhanced Security Features:** Built-in secure boot and encrypted bootloader ensure application security.
+- **Software Support:** Compatible with C/C++ and MicroPython, ensuring easy project development and prototyping.
+- **Rich Onboard Resources:** Integrates an RGB LED, 2MB Flash, 520kB SRAM, and 19 multifunction GPIOs(Analog, Digital, IยฒC, UART, SPI, PWM).
+- **Expanded 8 New IOs:** Compared to previous XIAO MCUs, the addition of 8 IO pins on the back supports more complex applications.
+- **Efficient Power Design:** Ultra-low power consumption of just 27ฮผA in sleep mode, enabling battery power supply. Direct battery voltage measurement via internal IO enhances the battery management system (BMS).
+- **Compact Thumb-Sized Design:** Measuring 21 x 17.5mm, adopting Seeed Studio's classic XIAO form factor, ideal for space-conscious applications.
+- **Production-friendly:** Surface Mount Device (SMD) design with all components on the front and stamp holes on both sides, facilitating efficient mass production.
+
+## Specification
+
+
+
+ Product |
+ XIAO RP2040 |
+ XIAO RP2350 |
+
+
+ Processor |
+ Raspberry Pi RP2040 |
+ Raspberry Pi RP2350 |
+
+
+ Dual Cortex-M0+ @ 133MHz |
+ Dual Cortex-M33 @ 150MHz, FPU |
+
+
+ RAM |
+ 264kB SRAM |
+ 520kB SRAM |
+
+
+ Flash |
+ 2MB Onboard |
+ 2MB PSRAM |
+
+
+ LEDs |
+ 1 user LED, 1 power LED, two LEDs for serial port downloading, 1 RGB LED |
+ 1 user LED, 1 power LED๏ผ1 RGB LED |
+
+
+ Interface |
+ 11 Pins:4x Analog,11x Digital, 1x IยฒC, 1x UART, 1x SPI, All PWM |
+ 19 Pins:3x Analog,19x Digital, 2x IยฒC, 2x UART, 2x SPI, All PWM |
+
+
+ Button |
+ 1 RESET button, 1 BOOT button |
+ 1 RESET button, 1 BOOT button |
+
+
+ Security |
+ - |
+ OTP, Secure Boot, Arm TrustZone |
+
+
+ Low power |
+ - |
+ 27ฮผA |
+
+
+ Software compatibility |
+ Support Micropython / Arduino / CircuitPython |
+ Support Micropython / C,C++ |
+
+
+ Working Temperature |
+ -20ยฐC-70ยฐC |
+ -20ยฐC-70ยฐC |
+
+
+ Dimensions |
+ 21x17.5 mm |
+ 21x17.5 mm |
+
+
+
+## Hardware Overview
+
+
+
+
+ XIAO RP2350 Front Pinout |
+
+
+ |
+
+
+ XIAO RP2350 Back Pinout |
+
+
+ |
+
+
+ XIAO RP2350 Components |
+
+
+ |
+
+
+
+
+Need more details on pinouts? Navigate to [Assets and Resources](#assets--resources) below.
+
+## Platform Supported
+
+The XIAO RP2350, powered by the RP2350, supports MicroPython and the C/C++ SDK provided by Raspberry Pi. This flexibility allows developers to choose their preferred programming language and environment for prototyping and development.
+
+
+
+
+ C/C++ SDK |
+ MicroPython |
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+## Getting Started โถ๏ธ
+
+:::info
+This page primarily focuses on MicroPython users. For those interested in learning SDK programming or advanced users, you can visit [XIAO RP2350 with C/C++ SDK](/xiao-rp2350-c-cpp-sdk) to learn about setting up the environment and running example code.
+:::
+
+
+If your board doesn't have the firmware or you want to upgrade to a new version of MicroPython, you'll need to upload the `UF2` bootloader. For this step, please visit the [XIAO RP2350 with MicroPython](/xiao-rp2350-micropython) for detailed instructions on getting started with MicroPython on the XIAO RP2350.
+
+:::tip about MicroPython
+
+[MicroPython](https://micropython.org/) is an interpreted language similar to [Python](https://www.python.org/). However, unlike Python, MicroPython runs directly on the hardware (bare-metal), providing an interactive prompt (REPL) to execute commands immediately, as well as the ability to run and import scripts from the built-in filesystem.
+
+To connect to the XIAO RP2350 board and start writing and running your Python code, you can use any terminal tool that supports serial connections, such as minicom, PuTTY, electerm, warp, and more. For a more *user-friendly experience*, you can use **[Thonny](https://thonny.org/)** for its ease of use, integrated features, and beginner-friendly interface. This way, you can enjoy writing and running your Python code directly on the device.
+
+:::
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+If your device is ready with MicroPython, let's start with a simple project:
+
+### Let's Make It Blink! โจ
+
+Getting the board to blink an LED is often the first program everyone runs. The same goes for the XIAO RP2350.
+
+
+
+
+```python showLineNumbers
+from machine import Pin # Import the Pin class from the machine module
+from time import sleep # Import the sleep function from the time module
+
+# Initialize GPIO25 as an output pin, which controls the USER LED
+led = Pin(25, Pin.OUT)
+
+# Turn off the LED initially
+led.off() # Equivalent to led.value(0)
+sleep(0.5) # Wait for 0.5 seconds
+
+# Turn on the LED
+led.on() # Equivalent to led.value(1)
+sleep(0.5) # Wait for 0.5 seconds
+
+# Enter an infinite loop
+while True:
+ # Toggle the LED state (on to off or off to on)
+ led.toggle()
+ # Print the current state of the LED
+ print(f"LED {'ON' if led.value() == 1 else 'OFF'}")
+ sleep(0.5) # Wait for 0.5 seconds before the next toggle
+```
+
+Once you have copied the code into Thonny IDE, as shown in the image below, simply click the `Run current script` button or press `F5`. This will execute the code snippet and you'll see the LED on the XIAO RP2350 start to blink.
+
+
+
+
+
+
+
+
+
+
+### Battery & Power Management
+
+Is it possible to read the battery voltage without extra components? Yes! We heard you. With more pins provided, the XIAO RP2350 makes it possible. For previous members of the XIAO family, such as the [XIAO ESP32C3](/XIAO_ESP32C3_Getting_Started/#check-the-battery-voltage), reading the battery voltage level required manually connecting to *A0* with a resistor.
+
+However, with the XIAO RP2350, this is no longer necessary. You can now use the `A3/GPIO29` pin to directly read the battery voltage level, simplifying your design and development process. Additionally, for battery level reading, the `GPIO19` must be set to a high value, which is the enable pin for reading the battery level.
+
+Follow along with this code snippet to read the battery voltage using the Pico SDK:
+
+
+
+
+```python
+from machine import Pin, ADC
+import time
+
+# Function to initialize the GPIO pin for enabling battery voltage reading
+def init_gpio():
+ enable_pin = Pin(19, Pin.OUT)
+ enable_pin.value(1) # Set the pin to high to enable battery voltage reading
+
+def main():
+ print("ADC Battery Example - GPIO29 (A3)")
+
+ init_gpio() # Initialize the enable pin
+ adc = ADC(Pin(29)) # Initialize the ADC on GPIO29
+
+ conversion_factor = 3.3 / (1 << 12) # Conversion factor for 12-bit ADC and 3.3V reference
+
+ while True:
+ result = adc.read_u16() # Read the ADC value
+ voltage = result * conversion_factor * 2 # Calculate the voltage, considering the voltage divider (factor of 2)
+ print("Raw value: 0x{:03x}, voltage: {:.2f} V".format(result, voltage))
+ time.sleep(0.5) # Delay for 500 milliseconds
+
+if __name__ == '__main__':
+ main()
+```
+
+
+
+
+```c title='adc_bat.c'
+#include
+#include "pico/stdlib.h"
+#include "hardware/gpio.h"
+#include "hardware/adc.h"
+
+// Function to initialize the GPIO pin for enabling battery voltage reading
+void init_gpio() {
+ const int enable_pin = 19; // Pin to enable battery voltage reading
+
+ gpio_init(enable_pin); // Initialize the pin
+ gpio_set_dir(enable_pin, GPIO_OUT); // Set the pin as output
+ gpio_put(enable_pin, 1); // Set the pin to high to enable battery voltage reading
+}
+
+int main() {
+ stdio_init_all(); // Initialize standard input/output
+ printf("ADC Battery Example - GPIO29 (A3)\n");
+
+ init_gpio(); // Initialize the enable pin
+ adc_init(); // Initialize the ADC
+
+ // Initialize the ADC GPIO pin (GPIO29)
+ adc_gpio_init(29);
+ // Select ADC input 3 (corresponding to GPIO29)
+ adc_select_input(3);
+
+ while (1) {
+ // 12-bit conversion, assume max value == ADC_VREF == 3.3 V
+ const float conversion_factor = 3.3f / (1 << 12); // Conversion factor for 12-bit ADC and 3.3V reference
+ uint16_t result = adc_read(); // Read the ADC value
+ // Calculate the voltage, considering the voltage divider (factor of 2)
+ printf("Raw value: 0x%03x, voltage: %f V\n", result, result * conversion_factor * 2);
+ sleep_ms(500); // Delay for 500 milliseconds
+ }
+}
+```
+
+
+
+
+
+## Assets & Resources
+
+The XIAO RP2350 harnesses the power of the Raspberry Pi RP2350, leveraging a wealth of shared resources from the Raspberry Pi community. This opens up a world of possibilities for you to tailor your projects on this tiny board with boundless creativity. Below are essential resources and assets to help you get started.
+
+
+- ๐ **[PDF]** [Seeed Studio XIAO RP2350 Schematic](https://files.seeedstudio.com/wiki/XIAO-RP2350/res/Seeed-Studio-XIAO-RP2350-v1.0.pdf)
+- ๐ **[XLSX]** [Seeed Studio XIAO RP2350 pinout sheet](https://files.seeedstudio.com/wiki/XIAO-RP2350/res/XIAO-RP2350-pinout-sheet.xlsx)
+- ๐ **[Link]** [Raspberry Pi Documentation](https://www.raspberrypi.com/documentation/microcontrollers/rp2040.html)
+
+
+
+### Expansion and Applications
+
+[The XIAO series](/xiao_topic_page) has a huge range of peripherals and peripheral accessories for you to learn and use, whether you want a colorful screen that allows for perfect interaction, an integrated board with bright and simple RGB lights, and so on, just waiting to be checked out.
+
+As a member of the XIAO family, the XIAO RP2350 does the same. Of course, to make better use of the extra pins drawn out, new *peripherals and boards* will keep coming along, fully utilizing the performance for which it was created.
+
+- ๐ **[Expanding with Accessories](/SeeedStudio_XIAO_Series_Introduction/#seeed-studio-xiao-series-compatible-accessories)**
+ Discover the wide range of add-ons and modules compatible with the XIAO Family, from displays and LED matrices to Grove modules and sensors, and learn how they can enhance your projects.
+
+### Community and Learning
+
+Furthermore, dive into the vibrant Raspberry Pi community to expand your knowledge and discover new project ideas. Leverage community-shared resources, forums, and tutorials to enhance your experience with the XIAO RP2350. In addition to the Seeed Studio Wiki, here are a few other recommended places to learn:
+
+- **[Raspberry Pi Forums](https://www.raspberrypi.org/forums/)**: Engage with other enthusiasts, ask questions, and share your projects.
+- **[XIAO GitHub Repository](https://github.com/Seeed-Studio/OSHW-XIAO-Series)**: Explore the official XIAO repository for more centralized documentation and more interaction with our team, **Join Us!**
+- **[r/embedded on Reddit](https://www.reddit.com/r/embedded/)**: Join the embedded systems community, share insights, and discuss various topics.
+- **[Pico Topic on GitHub](https://github.com/topics/pico)**: Explore repositories and discussions related to the Pico.
+- **[Hackster.io](https://www.hackster.io/)**: Discover projects and tutorials related to various hardware platforms, including XIAO and Raspberry Pi.
+- **[Instructables](https://www.instructables.com/)**: Find DIY projects and step-by-step guides for creating with XIAO and other hardware.
+- **[Element14 Community](https://www.element14.com/community/)**: Participate in discussions, webinars, and projects related to electronics and embedded systems.
+
+And more, you're always welcome to share your projects on our [Seeed Studio Discord](https://discord.com/invite/kpY74apCWj) and [Seeed Studio Forum](https://forum.seeedstudio.com/). These platforms provide an excellent opportunity to connect with other makers, get feedback, and find inspiration. Whether you need help troubleshooting an issue, want to show off your latest creation, or simply wish to be part of a supportive community, *Seeed Studio's Discord and Forum* are the perfect places to engage and collaborate.
+
+## Tech Support & Product Discussion
+
+Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.
+
+
+
+
\ No newline at end of file
diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/_category_.yml b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/_category_.yml
new file mode 100644
index 000000000000..07a31d70af24
--- /dev/null
+++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/_category_.yml
@@ -0,0 +1,10 @@
+position: 2 # float position is supported
+label: 'XIAO RP2350'
+collapsible: true # make the category collapsible
+collapsed: true # keep the category open by default
+className: xiao_rp2350
+# link:
+# type: generated-index
+# slug: Develop_with_SenseCAP_Indicator
+# title: Develop With SenseCAP Indicator
+# description: This tutorial will guide you through the process of developing with SenseCAP Indicator.
\ No newline at end of file
diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_SAMD21/Seeeduino-XIAO-by-Nanase.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_SAMD21/Seeeduino-XIAO-by-Nanase.md
index dc9e43a2a671..86724c3dddd9 100644
--- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_SAMD21/Seeeduino-XIAO-by-Nanase.md
+++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_SAMD21/Seeeduino-XIAO-by-Nanase.md
@@ -115,7 +115,7 @@ Contrary to the original Arduino, it is turned on at LOW and turned off at HIGH.
The official website describes two other built-in LEDs as `two LEDs for serial port downloading`. However, looking at the schematic, there is no physical pin connected to these RX and TX LEDs.
-If you look at [USBCore.cpp](https://github.com/Seeed-Studio/ArduinoCore-samd/blob/1.7.2/cores/arduino/USB/USBCore.cpp#L622-L627) here, you can see that they are turned on by `digitalWrite` every time serial USB transmission / reception occurs, which means that the two LEDs are are programmable.
+If you look at [USBCore.cpp](https://github.com/Seeed-Studio/ArduinoCore-samd/blob/1.7.2/cores/arduino/USB/USBCore.cpp#L622-L627) here, you can see that they are turned on by `digitalWrite` every time serial USB transmission / reception occurs, which means that the two LEDs are programmable.
```cpp
uint32_t USBDeviceClass::recv(uint32_t ep, void *_data, uint32_t len)
@@ -305,7 +305,7 @@ Temp: 22.05 ยฐC, Humidity: 44.72 %, Pressure: 1008.9 hPa
Temp: 22.06 ยฐC, Humidity: 44.81 %, Pressure: 1008.9 hPa
```
-## UART
+### UART
As mentioned earlier, the physical UART pins are different from those on the USB CDC. `Serial1` is used for serial communication using the TX and RX pins.
diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_SAMD21/XIAO-SAMD21-MicroPython.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_SAMD21/XIAO-SAMD21-MicroPython.md
index 0bb9e1027814..a9acfe21ac2e 100644
--- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_SAMD21/XIAO-SAMD21-MicroPython.md
+++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_SAMD21/XIAO-SAMD21-MicroPython.md
@@ -43,7 +43,7 @@ First, we are going to connect the Seeed Studio XIAO SAMD21 to the computer and
-- **Step 4**. Chose the "Interpreter" interface and select the device as **"MicroPython(generic)"** and the port as **"Try to detect prot automatically"**
+- **Step 4**. Chose the "Interpreter" interface and select the device as **"MicroPython(generic)"** and the port as **"Try to detect port automatically"**
diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_Series_Projects.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_Series_Projects.md
index 84ca58c387c9..9a3ab85d3800 100644
--- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_Series_Projects.md
+++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_Series_Projects.md
@@ -379,7 +379,7 @@ This section aims to list the tutorials in the Wiki on some of the function poin
This section will list the major platforms supported by XIAO, including PlatformIO, MicroPython, CircuitPython. support is updated in real time.
-#### Plarform IO
+#### Platform IO
diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_nRF52840-Sense/XIAO_BLE.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_nRF52840-Sense/XIAO_BLE.md
index e7b437bf4ccb..c4b8867176ae 100644
--- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_nRF52840-Sense/XIAO_BLE.md
+++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_nRF52840-Sense/XIAO_BLE.md
@@ -56,7 +56,7 @@ Seeed Studio XIAO nRF52840 Sense is compatible to the Seeed Studio XIAO expansio
| Onboard Buttons | N/A | Reset/ Boot Button | Reset Button | Reset Button |
| Onboard LEDs | N/A | Full-color RGB/ 3-in-one LED | 3-in-one LED/ Charge LED | 3-in-one LED/ Charge LED |
| Battery Charge Chip | N/A | N/A | BQ25101 | BQ25101 |
-| Programming Languages | Arduino/ CircuitPython | Arduino/ MicroPython/ CircuitPython | Arduino/ MicroPython/ CircuitPython | Arduino/ MicroPython/ CircuitPython |
+| Programming Languages | Arduino/ MicroPython/ CircuitPython | Arduino/ MicroPython/ CircuitPython | Arduino/ MicroPython/ CircuitPython | Arduino/ MicroPython/ CircuitPython |
## Hardware overview
diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Getting_Started/sensecap_watcher_as_grove.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Getting_Started/sensecap_watcher_as_grove.md
index 46012e061570..ccab126de710 100644
--- a/docs/Sensor/SenseCAP/SenseCAP_Watcher/Getting_Started/sensecap_watcher_as_grove.md
+++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/Getting_Started/sensecap_watcher_as_grove.md
@@ -13,6 +13,9 @@ last_update:
+**SenseCAP Watcher, is now pre-launched on Kickstarter proudly with the official KS badge of "Project We Love"!**
+[Click to subscribe ~](https://www.kickstarter.com/projects/seeed/sensecap-watcher-open-source-ai-assistant-for-smarter-spaces?ref=aulzfo)
+
In this wiki, we will explore the exciting possibilities that arise when Watcher, acting as a Grove sensor, leverages its UART (Universal Asynchronous Receiver/Transmitter) functionality. By enabling UART communication, Watcher can transmit valuable data such as captured images and recognition results through its UART interface, located on the back of the device. This opens up a world of opportunities for integrating Watcher with various hardware platforms and creating innovative applications.
Throughout this wiki, we will dive into the details of reading and interpreting the data output from Watcher's UART interface. Additionally, we will provide comprehensive tutorials on how to parse and utilize this data using popular development boards and platforms, including XIAO, Arduino, Raspberry Pi, and Jetson.
diff --git a/docs/Sensor/SenseCAP/SenseCAP_Watcher/watcher_main_page.md b/docs/Sensor/SenseCAP/SenseCAP_Watcher/watcher_main_page.md
index 32375ace75ec..b0726599c4a9 100644
--- a/docs/Sensor/SenseCAP/SenseCAP_Watcher/watcher_main_page.md
+++ b/docs/Sensor/SenseCAP/SenseCAP_Watcher/watcher_main_page.md
@@ -87,7 +87,7 @@ Introducing the Watcher Product Catalogue, your comprehensive guide to setting u
- Watcher & Discord Message Alerts *(Planning)*
-- Watcher & Whatsapp Message Alerts *(Planning)*
+- [Watcher & Whatsapp Message Alerts](https://wiki.seeedstudio.com/watcher_node_red_to_discord)
- Watcher & X (Twitter) Message Alerts *(Planning)*
diff --git a/docs/Sensor/Wio_Terminal/Wio_Terminal_Intro.md b/docs/Sensor/Wio_Terminal/Wio_Terminal_Intro.md
index 041a8c6bc0b6..f9e55563b45d 100644
--- a/docs/Sensor/Wio_Terminal/Wio_Terminal_Intro.md
+++ b/docs/Sensor/Wio_Terminal/Wio_Terminal_Intro.md
@@ -6,147 +6,523 @@ keywords:
image: https://files.seeedstudio.com/wiki/wiki-platform/S-tempor.png
slug: /Wio_Terminal_Intro
last_update:
- date: 07/19/2023
- author: Matthew
+ date: 08/6/2024
+ author: Frank
---
+## Introduction
+
+The Wio Terminal is a versatile development board powered by an ATSAMD51 microcontroller and equipped with a 2.4" LCD screen. It includes onboard Wi-Fi/Bluetooth capabilities, a built-in accelerometer, microphone, buzzer, microSD card slot, and various I/O interfaces. The Wio Terminal is designed to simplify the development of IoT applications, making it an ideal tool for both beginners and experienced developers.
+
+## The Idea of OSHW (Fabricatable Open Source Hardware)
+
+Open Source Hardware (OSHW) refers to hardware whose design is made publicly available so that anyone can study, modify, distribute, make, and sell the design or hardware based on that design. [The Wio Terminal embodies the OSHW philosophy by providing extensive documentation, open-source code, and design files](https://github.com/Seeed-Studio/OSHW-WioTerminal), allowing users to fully understand and replicate the hardware. This openness fosters innovation, collaboration, and learning within the developer community.
+
## Getting Started with Wio Terminal
-
-
-
Wio Terminal
-
Getting Started
-
-
LCD,
-
IMU,
-
PDM,
-
IO Ports,
-
Light Sensor,
-
SD Card
-
-
CircuitPython,
-
Wi-Fi,
-
Bluetooth
+
+
+
+ Get Started with Wio Terminal |
+ CircuitPython on Wio Terminal |
+ How to use FreeRTOS to Multi-tasking in Arduino |
+
+
+
+ |
+ |
+ |
+
+
+
+ In this show, our engineer Lakshantha will explain how to use the Wio terminal along with the software and present you with fun demos as well! |
+ This wiki introduce how to install and run the official CircuitPython by Adafruit Industries on the Seeeduino Wio Terminal! |
+ For Arduino compatibility, we have ported FreeRTOS into the Arduino framework so that you are able to use FreeRTOS with your favorite Arduino boards with ease! This wiki introduce how to start with FreeRTOS for Arduino. |
+
+
+
+ |
+ |
+ |
+
+
-
-## Application
-### Easy IoT with Wio Terminal
-
-
-
-
Easy IoT
-
Google Cloud IoT
-
-
Wappsto IoT
-
-
Azure IoT Central,
-
Azure IoT Hub
-
+## Hardware Overview
+
+
+
+
+ LCD Usage |
+ Input/Output |
+ IMU Usage |
+
+
+
+ |
+ |
+ |
+
+
+
+ This wiki introduce how to install the TFT LCD library used on Wio Terminal. It provides basic graphical functions to the Wio Terminal with minimum effort! |
+ This wiki introduce how to use the Grove IOs on the Wio Terminal. This allows you to enjoy the plug and play functionality of the Grove Ecosystem as well as using the 40 pin Raspberry pi compatible GPIO! |
+ This wiki introduce how to install the built-in 3-Axis Digital Accelerometer(LIS3DHTR) library used on Wio Terminal. This allows you to access the accelerometer information of the Wio Terminal as well as using it for motion control and etc. |
+
+
+
+ |
+ |
+ |
+
+
-
-### Embedded Machine Learning with Wio Terminal
-
-
-
-
TinyML with Edge Impulse
-
> Continuous Motion Recognition
-
-
> Audio scene recognition
-
-
> People counting with Ultrasonic sensor
-
-
> Distinguishing Beverage
-
-
> Anomaly detection for Predictive Maintenance
-
+
+
+
+
+
+ SD Card |
+ Wi-Fi |
+ Bluetooth |
+
+
+
+ |
+ |
+ |
+
+
+
+ This wiki introduce how to install the File System library used on Wio Terminal. It provides basic functionality of File operating with the SD card, allowing to Read/Write in or from the SD card using SPI interface. |
+ This wiki introduces how to update the latest firmware for the Wireless Core Realtek RTL8720 on the Wio Terminal, as well as installing all the dependent libraries for Wio Terminal to enable wireless connectivity. |
+ This wiki introduces how to update the latest firmware for the Wireless Core Realtek RTL8720 on the Wio Terminal, as well as installing all the dependent libraries for Wio Terminal to enable Bluetooth connectivity. |
+
+
+
+ |
+ |
+ |
+
+
-
-
TinyML with TensorFlow Lite
-
> TensorFlow Lite Micro Getting Started
-
-
> Weather Prediction
-
-
> Speech Recognition and Speech-to-Internet
-
-
> Gesture Recognition
-
+
+
+
+
+
+
+ RTC |
+ Infrared Emitter |
+ Microphone |
+
+
+
+ |
+ |
+ |
+
+
+
+ This wiki introduces how to use the built-in RTC functionality inside the SAMD51 core within Wio Terminal for you to keep track of time. This feature saves you from adding an external RTC module to the system! |
+ This wiki demonstrates how to use the built-in Infrared Emitter as component in Wio Terminal. The Infrared Emitter is a Digital Interface and can be used to send IR signal, just like what a remote control does! |
+ This wiki introduces how to use the built-in microphone for audio input in Wio Terminal. The microphone can be used to detect surrounding sound and respond accordingly. |
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+ Buttons |
+ 5 Way Switch |
+
+
+
+ This wiki demonstrates how to use the configurable buttons in Wio Terminal. There are three buttons that can be used for Wio Terminal. |
+ This wiki demonstrates how to use the 5 way Switch in Wio Terminal. |
+
+
+
+ |
+ |
+
+
-## Wio Terminal Extension Board
-
-
-
+
+
+
+
+
+ Light Sensor |
+ Buzzer |
+
+
+
+ This wiki demonstrates how to use the built-in light sensor as a component in Wio Terminal. The light sensor uses Analog interface and you can simply read the surrounding Light sensor values via reading its pin. |
+ This wiki demonstrates how to use the built-in piezo buzzer as a component in Wio Terminal. The piezo can be connected to an analog pulse-width modulation(PWM) output to generate various tones and effects! |
+
+
+
+ |
+ |
+
+
-## Kit with courses by Wio Terminal
-
-
-
-
Courses with Wio Terminal
-
What is TinyML
-
-
Applications Kit ML101 with Prof. Vijay Course
-
-
Introduction to Artificial Intelligence for Makers
-
+
+## Extension Board
+
+
+
+
+
+
+ Wio Terminal Chassis Battery(650mAh) |
+ Wio Terminal LoRaWan Chassis with Antenna-built-in LoRa-E5 and GNSS, EU868/US915
+ |
+
+
+
+ |
+ |
+
+
+
+ The Wio Terminal Battery Chassis is a must-have extension board for Wio-Terminal Dev Board as it provides an external power source for Wio Terminal to enhance its portability and compactness. |
+ Wio Terminal LoRaWan Chassis with Antenna-built-in LoRa-E5 and GNSS, EU868/US915 embedded with LoRa-E5 STM32WLE5JC, powered by ARM Cortex M4 ultra-low-power MCU core and LoRa SX126x, is a wireless radio module supporting LoRa and LoRaWAN protocol on the EU868 & US915 frequency and (G)FSK, BPSK, (G)MSK, LoRa modulations. |
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
+ Ethernet Connection |
+ Audio Extension Board |
+
+
+
+ |
+ |
+
+
+
+ This wiki introduces how to use the ENC28J60 OVERLAYS HAT for Raspberry Pi on Wio Terminal for stable network connectivity. This is a perfect example of using Raspberry Pi 40 Pi extensions board on Wio Terminal. |
+ This wiki introduces how to use the Audio library with Wio Terminal using ReSpeaker 2-Mic Hat. With the help of this library, you are able to record, play and analysis audio using Wio Terminal! Furthermore, this audio library can be implemented into different areas such as Speech recognition and much more! |
+
+
+
+ |
+ |
+
+
+
+
+## Kit with Courses
+
+
+
+
+
+
+ Applications Kit ML101 with Prof. Vijay Course |
+ What is TinyML? |
+ Introduction to Artificial Intelligence for Makers |
+
+
+
+ |
+ |
+ |
+
+
+
+ This book is designed specifically for educators to be able to adopt the Wio Terminal into the classroom or workshops to show learners the power of TinyML. It provides the basic underpinnings that one would have to cover to teach the very basics of ML while keeping the concepts grounded in hands-on exercises. |
+ ML as you might have guessed stands for Machine Learning and in most of cases (not always though) nowadays refers to Deep Learning. Tiny in TinyML means that the ML models are optimized to run on very low-power and small footprint devices, such as various MCUs. It is a subset of ML on the Edge or Embedded Machine Learning. |
+ The purpose of this article to build interest and provide a general understanding for makers who want to start their deep learning journey. I will point some of the common use cases and potential pitfalls. Also at the end of this article, I'll recommend some courses and books to learn more about this topic. |
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+## Application
+
+### Easy IoT
+
+
+
+
+
+
+ Connect Wio Terminal to Microsoft Azure IoT Central |
+ Connecting the Wio Terminal to Microsoft Azure IoT |
+
+
+
+ |
+ |
+
+
+
+ In this tutorial, we will walk you through the process of connecting the Wio Terminal to Microsoft Azure IoT Central and send telemetry data from the onboard sensors/ hardware on the Wio Terminal such as the 3-axis accelerometer, light sensor, 3 buttons to Microsoft Azure IoT Central. |
+ This sample application shows you how to connect your Wio Terminal to Azure IoT Hub. It is built on top of the Azure SDK for Embedded C, a small footprint, easy-to-port library for communicating with Azure services. |
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
+ Connect Wio Terminal to Google Cloud IoT Core |
+ Get Started with Wio Terminal and Wappsto IoT |
+
+
+
+ |
+ |
+
+
+
+ In this tutorial, we will walk you through the process of connecting the Wio Terminal to Google Cloud IoT Core and send telemetry data from the Wio Terminal to the Google Cloud IoT core. |
+ In this tutorial, we will guide you through connecting the Wio Terminal to Wappsto IoT and using the various features of Wappsto after the connection. |
+
+
+
+ |
+ |
+
+
-## Tutorials and Projects
-
-
-
-
-
How to play retro games on Wio Terminal
-
-
USB Host for a
-
Keyboard,
-
Mouse,
-
Xbox
-
-
USB Client for a
-
Keyboard,
-
Mouse,
-
MIDI,
-
HMI
-
-
How to display Gyro on Wio Terminal
-
-
How to use Wio Terminal to store data
-
-
How to use Wio Terminal to display photos
-
+### Embedded ML
+
+
+
+
+
+
+ Projects based Edge Impulse |
+ Projects based TensorFlow Lite |
+ LoRa Node with AIoTs GPS |
+
+
+
+ |
+ |
+ |
+
+
+
+ Edge Impulse enables developers to create the next generation of intelligent device solutions with embedded Machine Learning. Machine Learning at the very edge will enable valuable use of the 99% of sensor data that is discarded today due to cost, bandwidth or power constraints.
+ Now, Wio Terminal is officially supported by the Edge Impulse. Let's see how to get Wio Terminal started with the Machine learning at the very edge! |
+ This article introduces how to install the official Arduino Tensorflow Lite library into your Wio Terminal, allowing you to test out some Machine Learning models using Wio Terminal. |
+ In this project, it will be used a built-in 3 axis accelerometer sensor and the neural network algorithm to build up an intelligent recognition system. Based on the movement of Wio Terminal, it can show you its state in real-time. |
+
+
+
+ |
+ |
+ |
+
+
-
+
+
+
+
+
+
+ Storing Data |
+ Displaying Photos |
+ Interactive Faces Demo |
+
+
+
+ |
+ |
+ |
+
+
+
+ This example demonstrates using the line graph functions to display the Grove - Light sensor reading on Wio Terminal, just like the Serial Plotter! To add more, the light sensor data are stored in the SD Card. |
+ This example demonstrates how to display images from SD card in loop. |
+ This example demonstrates how to display multiple images (eyes) onto the LCD screen through SD card (BMP format), and with the use of the built-in buttons and gyroscope to interact with users. |
+
+
+
+ |
+ |
+ |
+
+
+
+
+### Project
+
+
+
+
+
+
+ Pressure sensor using the Wio Terminal |
+ Reading Coronavirus Live Data using Wio Terminal |
+ Build a IR Thermal Imaging Camera using Wio Terminal |
+
+
+
+ |
+ |
+ |
+
+
+
+ The demo shows that the Grove- high precision pressure sensor DPS310 is fully compatible with the Wio terminal, and its measurement has high precision. |
+ This wiki is a modification of Reading Github Repository Stats from Wio Terminal, where it is modified to access to Coronavirus COVID19 API and parse the data and display Live COVID-19 data on the LCD screen. |
+ With Grove - Infrared Temperature Sensor Array (AMG8833) and Wio Terminal, we can build a low cost FLIRโข like Thermal Imagining camera with ease! |
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+ Build a HMI Display for Raspberry Pi |
+ How to measure noise levels with Wio Terminal |
+ Accessing to GitHub using Wio Terminal |
+
+
+
+ |
+ |
+ |
+
+
+
+ In this wiki, we will introduce how to use Wio Terminal as a HMI (Human Machine Interface) USB display for Raspberry Pi, Nvidia Jetson Nano, BeagleBone and even Odyssey X86J4105. |
+ This example detects dB using the mic on ReSpeaker 2-Mic Hat, The around evirnment is detected, then displayed on the display. |
+ This wiki introduces how to use Wio Terminal to access to HTTPS server, which means you could use Wio Terminal to grab live data from the internet! Here, Wio Terminal is connected to a Wi-Fi and obtain data from the Github. |
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+ Blynk for Wio Terminal |
+ Edge Impulse Tuner |
+ Codecraft connecting Azure IoT with Wio Terminal |
+
+
+
+ |
+ |
+ |
+
+
+
+ This wiki introduces how to use the Wio Terminal with the Blynk software to interact with Wi-Fi or Bluetooth. This allows you to use Wio Terminal as the core of an IoT device and able to control hardware from phones very easily! |
+ Here we gonna provide the audio classification project and show you the usage of EON Tuner. If you are interested in Using LoRa to transmit data based on Wio Terminal and Edge Impulse, you can always click and see the example project. |
+ Here we gonna show you how to connect Codecraft with Azure IoT based on Wio Terminal and apply sensors to IoT projects. |
+
+
+
+ |
+ |
+ |
+
+
+
+
+
## โจ Contributor Project
diff --git a/docs/Top_Brand/Raspberry_Pi/Application/Raspberry_Pi_as_a_NAS.md b/docs/Top_Brand/Raspberry_Pi/Application/Raspberry_Pi_as_a_NAS.md
new file mode 100644
index 000000000000..0d6247dd91bc
--- /dev/null
+++ b/docs/Top_Brand/Raspberry_Pi/Application/Raspberry_Pi_as_a_NAS.md
@@ -0,0 +1,344 @@
+---
+description: Raspberry Pi as a NAS
+title: Raspberry Pi as a NAS
+keywords:
+- Application
+image: https://files.seeedstudio.com/wiki/wiki-platform/S-tempor.png
+slug: /Raspberry_Pi_as_a_NAS
+last_update:
+ date: 8/5/2024
+ author: Frank
+---
+
+
+# Use the Raspberry Pi as a NAS (Network-Attached Storage)
+
+The Raspberry Pi is a powerful microcomputer, popular among tech enthusiasts. It can be used for various DIY projects, including setting up a Network Attached Storage (NAS). In this , we will explore the following aspects:
+
+- [Is Raspberry Pi good for NAS?](#jump1)
+- [How to convert Raspberry Pi 5 to NAS?](#jump2)
+- [Common Issues and Solutions When Using Raspberry Pi as a NAS](#jump3)
+
+##
Is Raspberry Pi Good for NAS?
+
+
+
+
+
+The Raspberry Pi has strong processing capabilities and flexible configuration options, making it an ideal choice for building a NAS. Here are its advantages:
+- Cost-Effective: The Raspberry Pi is relatively inexpensive compared to traditional NAS devices.
+-Low Power Consumption: The Raspberry Pi has very low power consumption, making it suitable for 24/7 operation.
+- Flexibility and Customizability: You can install various operating systems and software to configure the NAS as needed.
+- Community Support: The Raspberry Pi has a large user community, providing abundant resources and technical support.
+
+However, there are some limitations to consider:
+- Performance Limitations: The Raspberry Pi may have performance constraints compared to high-end NAS devices, especially when handling large amounts of data.
+- Storage Limitations: The Raspberry Pi itself does not have built-in large-capacity storage and requires external hard drives or SSDs.
+
+##
How to Convert Raspberry Pi 5 to NAS?
+
+Converting the Raspberry Pi 5 into a NAS is not complicated. Just follow these steps:
+
+### Step 1: Prepare the Hardware
+- [A Raspberry Pi 5](https://www.seeedstudio.com/Raspberry-Pi-5-8GB-p-5810.html)
+- A microSD card (32GB or larger recommended)
+- A stable power adapter
+- External hard drive or SSD
+- Network connection (wired or wireless)
+
+### Step 2: Install the Operating System
+
+1. Use a tool like [Raspberry Pi Imager](https://www.raspberrypi.com/software/) to write the OS image to the microSD card.
+
+
+
+2. Select "Raspberry Pi 5" -> "Raspberry Pi OS (32-bit)" -> SD card (make sure to select the correct device to avoid data loss if other USB devices are connected), then click "Next." Here is an example:
+
+
+
+3. Then, edit the settings. Hereโs an example of the settings provided:
+- Enter your chosen hostname nas (recommended in this tutorial).
+- Enter a username and password, which you will need later for authentication.
+- Check the box next to "Configure WiFi" so your Pi can automatically connect to Wi-Fi.
+- Enter your network SSID (name) and password.
+- Check the box next to "Enable SSH," so we can connect to the Pi without using a mouse and keyboard.
+
+
+
+4. After clicking "Save," start burning the image. The process may take some time. When it appears as shown in the image below, it indicates that the burning is complete.
+
+
+
+### Step 3: Remote Connection to the Pi
+
+After inserting the SD card, power up the Raspberry Pi (if possible, connect it to the network via an Ethernet cable, but in this tutorial, we will use WiFi chosen during imaging).
+
+Open a terminal session on your computer and access the Raspberry Pi via SSH by running the following command, replacing **username** and **hostname** with the ones set during imaging:
+
+```bash
+$ ssh
@.local
+```
+
+For example:
+
+```bash
+$ ssh seeed@nas.local
+```
+
+You will need to enter the password you created during imaging. Here is an example:
+
+
+
+Now that we have completed the SSH connection, itโs time to turn it into a NAS.
+
+### Step 4: Install and Configure NAS
+
+#### 1.Locate the Drive
+
+First, connect the storage device to the Raspberry Pi, then check the connected storage devices with the following command:
+
+```bash
+$ lsblk
+```
+
+You will see output similar to this:
+
+
+
+:::tip
+In this output, mmcblk0 is your microSD card, and the first connected USB storage device appears as sda (Storage Device A). Additional devices will be sdb, sdc, etc.
+:::
+
+#### 2.Partition the Drive
+
+Next, partition the drive so that Raspberry Pi OS can recognize it as a single storage device:
+
+```bash
+$ sudo fdisk /dev/sda
+```
+
+Here are some relevant commands:
+- Create a new partition: n
+- List current partitions: p
+- Delete a partition: d
+- Quit without saving changes: q
+
+In this project, we will proceed to create a fresh partition by entering โ**n**โ followed by pressing the **Enter** key, and we will designate it as a primary partition by typing โ**p**โ and then pressing **Enter**. For the remaining options, we will opt for the default settings by simply pressing **Enter**. Should an existing partition be present, we will remove it by typing โ**d**โ.Here is an example:
+
+
+
+:::tip
+If the message "**All space for primary partitions is in use**" appears, it means there are already four primary partitions or three primary partitions and an extended partition on the disk, and you will need to delete a partition (**d**).
+:::
+
+:::note
+If there are mounted partitions on the disk (like my sda1), follow these steps to unmount them:
+1. Exit fdisk: Type q and press Enter to exit fdisk and avoid accidental modifications.
+2. Unmount file systems: If there are mounted partitions on the disk, unmount them first. You can view the mounted partitions with the following command:
+
+```bash
+$ mount | grep /dev/sda
+```
+
+3. Then unmount them using the umount command, for example:
+
+```bash
+$ sudo umount /dev/sda1
+```
+
+4. Run:
+
+```bash
+$ sudo fdisk /dev/sda
+```
+
+Here is an example:
+
+
+
+Then, return to the partitioning step above.
+:::
+
+#### 3.Format the Drive
+
+Now that the drive has been partitioned, it's essential to format it to ensure that the Raspberry Pi OS can access and manipulate data on it. To format your drive with the ext4 file system, use the following command:
+
+```bash
+$ sudo mkfs.ext4 /dev/sda1
+```
+
+
+
+#### 4.Mount the Drive
+
+Next, mount the drive to make it available in the Raspberry Pi's file system:
+```bash
+$ sudo mount /dev/sda1 /mnt
+```
+
+And ensure that the drive is mounted every time the system starts:
+```bash
+$ sudo nano /etc/fstab
+```
+
+Add the following line to the end of the file:
+```
+/dev/sda1 /mnt/sda1/ ext4 defaults,noatime 0 1
+```
+
+Press **Ctrl**+**X**, then **Y**, and finally **Enter** to save the edited file in nano. Here is an example:
+
+
+
+#### 5.Create a Shared Folder
+
+Run the following command to create a shared folder on your drive:
+```bash
+$ sudo mkdir /mnt/sda1/shared
+```
+
+Grant read, write, and execute permissions to all users on the Raspberry Pi with the following command:
+```bash
+$ sudo chmod -R 777 /mnt/sda1/shared
+```
+
+Here is an example:
+
+
+
+
+### Step 5: Share the Drive Over the Network
+
+Run the following command to install [Samba](https://www.samba.org/), a tool for sharing directories over a network:
+```bash
+$ sudo apt install samba samba-common-bin
+```
+
+Here is an example:
+
+
+
+
+Then, configure Samba to share the directory over the network. We can instruct Samba through the Samba configuration file. Open the configuration file in an editor: smb.conf
+```bash
+$ sudo nano /etc/samba/smb.conf
+```
+
+Add the following lines at the end of the file:
+```
+[shared]
+path=/mnt/sda1/shared
+writeable=Yes
+create mask=0777
+directory mask=0777
+public=no
+```
+
+Press **Ctrl**+**X**, then **Y**, and finally **Enter** to save the edited file in nano. Here is an example:
+
+
+
+Restart Samba to apply the configuration changes:
+```bash
+$ sudo systemctl restart smbd
+```
+
+Here is an example:
+
+
+
+
+### Step 6: Grant access to the drive
+
+Finally, you need to grant access to the Samba share so that only authenticated users can access the files over the network. Run the following command to create a user to manage the Samba share, naming the username as pinas in this example:
+
+```bash
+$ sudo adduser
+```
+
+Here is an example:
+
+
+
+
+Then, add a password for that user using the following command:
+```bash
+$ sudo smbpasswd -a
+```
+
+Here is an example:
+
+
+
+
+### Step 7: Access and Use the NAS
+
+#### From Windows
+
+1. Open File Explorer and select "Map network drive" from the Computer menu.
+2. Choose a drive letter and enter the folder path, using a domain name format to easily access the device even if the IP address changes (in this tutorial, the path is \\nas\pinas).
+3. Enter the login username and password. Here is an example:
+
+
+
+4. Once logged in, you can access the files on the server.
+
+
+
+### Next Step
+
+If you want to make your hard drive and Raspberry Pi look more organized and aesthetically pleasing, you can use a 3D printer to create brackets and enclosures to secure the Raspberry Pi and the external hard drive, and then assemble them together.
+
+
+## Common Issues and Solutions When Using Raspberry Pi as a NAS
+
+Here are some common issues you might encounter when using a Raspberry Pi as a NAS and how to solve them:
+
+### Question 1: How to improve Raspberry Pi NAS performance?
+
+- Use an SSD instead of an HDD to improve data read speeds.
+- Ensure the Raspberry Pi is connected via a wired network for more stable performance.
+- Optimize the Samba configuration file by adjusting cache settings and maximum connections.
+
+### Question 2: How to secure Raspberry Pi NAS?
+- Regularly update the system and software to patch security vulnerabilities.
+- Use strong passwords and limit SSH access.
+- Configure a firewall and use a VPN for remote access.
+
+### Question 3: How to automate backups to Raspberry Pi NAS?
+- Use the rsync tool to set up periodic backup tasks:
+```bash
+rsync -av --delete /source_directory /mnt/external_hdd/backup_directory
+```
+- Configure cron jobs for automatic backups.
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Tech Support & Product Discussion
+
+
+Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.
+
+
+
+
diff --git a/sidebars.js b/sidebars.js
index 651df129ad53..8afccba50c81 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -1088,6 +1088,16 @@ const sidebars = {
},
],
},
+ { // XIAO RP2350
+ type: 'category',
+ label: 'XIAO RP2350',
+ items: [
+ {
+ type: 'autogenerated',
+ dirName: 'Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350',
+ },
+ ]
+ },
{
type: 'category',
label: 'XIAO nRF52840 (Sense)',
@@ -3021,6 +3031,17 @@ const sidebars = {
],
},
+ {
+ type: 'category',
+ label: 'Home Assistant',
+ items: [
+ 'Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-home-assistant',
+ 'Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-modbus-home-assistant',
+
+ ],
+ },
+
+
{
type: 'category',
label: 'Cloud Solutions',
@@ -3039,7 +3060,8 @@ const sidebars = {
'Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/benchmark_on_rpi5_and_cm4_running_yolov8s_with_rpi_ai_kit',
'Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/install_m.2_coral_to_rpi5',
'Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/convert_model_to_edge_tpu_tflite_format_for_google_coral',
- 'Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/pose_based_light_control_with_nodered_and_rpi_with_aikit'
+ 'Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/pose_based_light_control_with_nodered_and_rpi_with_aikit',
+ 'Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection'
],
},
@@ -4163,6 +4185,13 @@ const sidebars = {
'Top_Brand/Raspberry_Pi/Kit/Grove_Starter_Kit_for_IoT_based_on_Raspberry_Pi',
],
},
+ {
+ type: 'category',
+ label: 'Application',
+ items: [
+ 'Top_Brand/Raspberry_Pi/Application/Raspberry_Pi_as_a_NAS',
+ ],
+ },
],
},