From 529a0dcedb308562b46695e5747af3415817d009 Mon Sep 17 00:00:00 2001 From: Hippy <36442309+hippyau@users.noreply.github.com> Date: Thu, 1 Aug 2024 02:11:59 +1000 Subject: [PATCH 01/19] Update Incorrect_screen_orientation_on_RPiOS_Bullseye.md If a user is configured in the "Raspberry Pi Imager" software's pre-configuration, I found I had to chown, chgrp and chmod for ~/.config seems needed for latest image. --- .../Incorrect_screen_orientation_on_RPiOS_Bullseye.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/FAQ/reTerminal/Incorrect_screen_orientation_on_RPiOS_Bullseye.md b/docs/FAQ/reTerminal/Incorrect_screen_orientation_on_RPiOS_Bullseye.md index 6a2fe4e76727..65245c01c679 100644 --- a/docs/FAQ/reTerminal/Incorrect_screen_orientation_on_RPiOS_Bullseye.md +++ b/docs/FAQ/reTerminal/Incorrect_screen_orientation_on_RPiOS_Bullseye.md @@ -77,6 +77,14 @@ If you notice an erroneous screen orientation after installing **Raspberry Pi OS - **Step 1.** After flashing **Raspberry Pi OS Bookworm** to reTerminal eMMC, follow [this guide](https://wiki.seeedstudio.com/reTerminal/#install-reterminal-drivers-after-flashing-new-raspberry-pi-os-ubuntu-os-or-other-os) to install the necessary drivers + +If you configured a user other than root, and the Bookworm image from July 24, I found I had to do: +```sh +sudo chown $USER ~/.config +sudo chgrp $USER ~/.config +sudo chmod u+rwx ~/.config +``` + - **Step 2.** Open .config/wayfire.ini ```sh @@ -91,6 +99,7 @@ mode = 720x1280@60 transform = 270 ``` + - **Step 4.** Open **/boot/config.txt** ```sh @@ -109,4 +118,4 @@ dtoverlay=reTerminal sudo reboot ``` -Now the screen will be displayed in the correct orientation on Raspberry Pi OS Bookworm! \ No newline at end of file +Now the screen will be displayed in the correct orientation on Raspberry Pi OS Bookworm! From 10464a4ba94306466067bcfbd0eebfdcdbd45cbc Mon Sep 17 00:00:00 2001 From: Spencer Yan Date: Fri, 2 Aug 2024 16:56:54 +0800 Subject: [PATCH 02/19] docs(XIAO S3): :memo: update schematic to v1.2-240802 --- .../SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md | 2 +- .../SeeedStudio_XIAO/SeeedStudio_XIAO_Series_Introduction.md | 2 +- .../TinyML/TinyML_Workshop/Image_classification_project.md | 2 +- .../SeeedStudio_XIAO/CN_SeeedStudio_XIAO_Series_Introduction.md | 2 +- .../SeeedStudio_XIAO_ESP32S3/CN_XIAO_ESP32S3_Getting_Started.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md index 1ef456e1989f..e0b692ad7a81 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md @@ -683,7 +683,7 @@ XIAO ESP32S3 is the most complex one in all XIAO because of its high integration ### For Seeed Studio XIAO ESP32S3 -- **[PDF]** [Seeed Studio XIAO ESP32S3 Schematic](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_SCH_v1.1.pdf) +- **[PDF]** [Seeed Studio XIAO ESP32S3 Schematic](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_SCH_v1.2.pdf) - **[ZIP]** [Seeed Studio XIAO ESP32S3 Eagle Libraries](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_v1.1_SCH&PCB_230327.zip) diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_Series_Introduction.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_Series_Introduction.md index 9f0e8dd54394..85a434dfe609 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_Series_Introduction.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_Series_Introduction.md @@ -762,7 +762,7 @@ easily integrate XIAO into their own boards for rapid mass production. ### Seeed Studio XIAO ESP32S3 Open-Source Materials -- **[PDF]** [Seeed Studio XIAO ESP32S3 Schematic](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_SCH_v1.1.pdf) +- **[PDF]** [Seeed Studio XIAO ESP32S3 Schematic](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_SCH_v1.2.pdf) - **[ZIP]** [Seeed Studio XIAO ESP32S3 Eagle Libraries](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_v1.1_SCH&PCB_230327.zip) diff --git a/docs/Topics/TinyML/TinyML_Workshop/Image_classification_project.md b/docs/Topics/TinyML/TinyML_Workshop/Image_classification_project.md index 29c7f03a5950..047e0df81e3d 100644 --- a/docs/Topics/TinyML/TinyML_Workshop/Image_classification_project.md +++ b/docs/Topics/TinyML/TinyML_Workshop/Image_classification_project.md @@ -520,7 +520,7 @@ Congrats to you 🙌 on completing the tinyML image classification project. ### For Seeed Studio XIAO ESP32S3 -- **[PDF]** [Seeed Studio XIAO ESP32S3 Schematic](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_SCH_v1.1.pdf) +- **[PDF]** [Seeed Studio XIAO ESP32S3 Schematic](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_SCH_v1.2.pdf) - **[ZIP]** [Seeed Studio XIAO ESP32S3 Eagle Libraries](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_v1.1_SCH&PCB_230327.zip) diff --git a/docs/zh-CN/Sensor/SeeedStudio_XIAO/CN_SeeedStudio_XIAO_Series_Introduction.md b/docs/zh-CN/Sensor/SeeedStudio_XIAO/CN_SeeedStudio_XIAO_Series_Introduction.md index 13ee0e73481d..9f072ad6d927 100644 --- a/docs/zh-CN/Sensor/SeeedStudio_XIAO/CN_SeeedStudio_XIAO_Series_Introduction.md +++ b/docs/zh-CN/Sensor/SeeedStudio_XIAO/CN_SeeedStudio_XIAO_Series_Introduction.md @@ -690,7 +690,7 @@ last_update: ### Seeed Studio XIAO ESP32S3 开源资料 -- **[PDF]** [Seeed Studio XIAO ESP32S3 原理图](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_SCH_v1.1.pdf) +- **[PDF]** [Seeed Studio XIAO ESP32S3 原理图](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_SCH_v1.2.pdf) - **[ZIP]** [Seeed Studio XIAO ESP32S3 Eagle 库](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_v1.1_SCH&PCB_230327.zip) diff --git a/docs/zh-CN/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/CN_XIAO_ESP32S3_Getting_Started.md b/docs/zh-CN/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/CN_XIAO_ESP32S3_Getting_Started.md index 565e01045a47..0f2e8c4d9dff 100644 --- a/docs/zh-CN/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/CN_XIAO_ESP32S3_Getting_Started.md +++ b/docs/zh-CN/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/CN_XIAO_ESP32S3_Getting_Started.md @@ -679,7 +679,7 @@ XIAO ESP32S3是所有XIAO中最复杂的一个,因为它的集成度很高, ### For Seeed Studio XIAO ESP32S3 -- **[PDF]** [Seeed Studio XIAO ESP32S3 Schematic](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_SCH_v1.1.pdf) +- **[PDF]** [Seeed Studio XIAO ESP32S3 Schematic](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_SCH_v1.2.pdf) - **[ZIP]** [Seeed Studio XIAO ESP32S3 Eagle Libraries](https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/res/XIAO_ESP32S3_v1.1_SCH&PCB_230327.zip) From cc7c1246dcda5c004a72e7e5a27771bb5f365ab7 Mon Sep 17 00:00:00 2001 From: Spencer Yan Date: Tue, 6 Aug 2024 17:05:56 +0800 Subject: [PATCH 03/19] docs(XIAO RP2350): upload page and sdk guide --- .../XIAO-RP2350-with-SDK.md | 278 +++++++++++++++ .../SeeedStudio_XIAO_RP2350/XIAO-RP2350.md | 335 ++++++++++++++++++ 2 files changed, 613 insertions(+) create mode 100644 docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350-with-SDK.md create mode 100644 docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md 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..96297b3b4b5f --- /dev/null +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350-with-SDK.md @@ -0,0 +1,278 @@ +--- +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 +draft: true +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Introduction + +The Pico SDK is an extensive software development kit specifically tailored for the Raspberry Pi RP-family microcontrollers, notably powering the XIAO RP2350 board. It encompasses a broad array of libraries and tools designed to support the creation of sophisticated applications. This SDK caters to both novice enthusiasts and seasoned professionals aiming to exploit the robust capabilities of the RP2350 microcontroller in diverse projects. + +## Prerequisite 📃 + +Prior to commencing the SDK Programming on XIAO RP2350, the following equipment are required: + +- A USB Type-C cable. +- The XIAO RP2350 board. +- A personal computer equipped with a Linux/Unix operating system. + +:::caution Attention + +This documentation primarily addresses development under a Linux environment (Ubuntu 22.04). Windows users are directed 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 on 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 ensure that you can compile code for the RP2350, a specific toolchain is required. Below are two methods for installing the `gcc-arm-none-eabi` toolchain, which provides the necessary compilers and libraries for ARM architecture. + + + + +The manual installation process allows precise control over the installation environment. Follow these steps: + +1. **Download the Toolchain**: + +Access the [ARM Developer Downloads](https://developer.arm.com/downloads/-/gnu-rm) page and download the `.tar.bz2` file for the `gcc-arm-none-eabi` toolchain. + +2. **Extract the Archive**: + +Once the download is complete, open a terminal window and navigate to the directory where the file was saved. Execute the following command 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. Input the following command in your terminal, 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 ensure that the PATH update takes effect immediately, source your `.bashrc` file by running: + +```shell +source ~/.bashrc +``` + + + + +Opt for a scripted installation to simplify and automate the setup process. Execute the following steps: + +1. **Download and Execute the Script**: + Download the installation script using `curl` 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 downloading, extraction, and PATH configuration processes. Here's the script content: + +```shell +#!/bin/bash + +# Automatically handle the 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 essential as it provides the libraries, examples, and documentation required to develop software for the RP2350. It abstracts much of the hardware complexity through easy-to-use APIs and is regularly updated to include support for new features and performance improvements. + +#### 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); + } +} +``` + +***Demostration*** + + + +## The way using VSCode (Windows) + +In windows, we could have our wsl() + +https://learn.microsoft.com/en-us/windows/wsl/ + + + + +## Reference + +- 📄**[PDF]** [Getting started with Raspberry Pi Pico](https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf) - Official Raspberry Pi documentation. + +## Additional Resources + +- 📄**[Blog]** [How to learn Pico-SDK programming?](https://example.com) - A comprehensive tutorial focused on RP2350 SDK. +- 📽️**[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..cba10cec158a --- /dev/null +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md @@ -0,0 +1,335 @@ +--- +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/1-102010550%20XIAO%20RP2350%20thumbnail%20.png +slug: /getting-started-xiao-rp2350 +keywords: + - xiao + - RP2350 +sidebar_position: 0 +author: Spencer +last_update: + date: 2024-08-06T09:04:29.524Z +--- + +## 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProductXIAO RP2040XIAO RP2350
ProcessorRaspberry Pi RP2040Raspberry Pi RP2350
Dual Cortex-M0+ @ 133MHzDual Cortex-M33 @ 150MHz, FPU
RAM264kB SRAM520kB SRAM
Flash2MB Onboard2MB PSRAM
LEDs1 user LED, 1 power LED, two LEDs for serial port downloading, 1 RGB LED1 user LED, 1 power LED,1 RGB LED
Interface11 Pins:4x Analog,11x Digital, 1x I²C, 1x UART, 1x SPI, All PWM19 Pins:3x Analog,19x Digital, 2x I²C, 2x UART, 2x SPI, All PWM
Button1 RESET button, 1 BOOT button1 RESET button, 1 BOOT button
Security - OTP, Secure Boot, Arm TrustZone
Low power - 27μA
Software compatibilitySupport Micropython / Arduino / CircuitPythonSupport Micropython / C,C++
Working Temperature-20°C-70°C-20°C-70°C
Dimensions21x17.5 mm21x17.5 mm
+ +## Platform Supported + +
+ + + + + + + + + +
C/C++ SDKMicroPython(On the way)
+ MicroPython + + pir +
+
+ +## Hardware Overview + +
+ + + + + + + + + + + + + + + + + + + +
XIAO RP2350 Front Pinout
XIAO RP2350 Back Pinout
XIAO RP2350 Components
+
+ +Need more detailed pins out list? check this file: 引脚表格 + +## Contents Map + +The XIAO RP2350 is one of the [XIAO series](/xiao_topic_page) members. This follow-along reading is organized as a `Contents Map` to guide you through a more dedicated and structured exploration. *This map is still growing, and contributions from the community are always welcome*. + +Explore these sections to help you get started with the XIAO RP2350 and make the most of its features and capabilities: + +### Getting Started ▶️ + +In this page, we cover the basics of the XIAO RP2350's features, specifications, and potential applications in an easy-to-understand way. + +- **[Setting Up the Pico SDK](/xiao-rp2350-c-cpp-sdk)** + The Pico SDK is your starting point for developing projects on the XIAO RP2350. This section explains what the SDK is and provides step-by-step setup instructions. + + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +### 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. For those who want to blink with SDK programming and know how to set up the SDK development environment, check the page [Setting Up the Pico SDK](/xiao-rp2350-c-cpp-sdk). + + + + + +```python +from machine import Pin +from time import sleep + +led = Pin(25, Pin.OUT) # GPIO25 is for USER LED + +while True: + led.value(1) + sleep(0.5) + led.value(0) + sleep(0.5) +``` + + + + +#### Demonstration + + + +### 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]** [RP2350 datasheet](https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf) +- 📄 **[PDF]** [Seeed Studio XIAO RP2350 Schematic](https://files.seeedstudio.com/wiki/XIAO-RP2350/res/Seeed-Studio-XIAO-RP2040-v1.3.pdf) +- 🗂 **[DXF]** [Seeed Studio XIAO RP2350 Dimension in DXF](https://files.seeedstudio.com/wiki/XIAO-RP2350/res/XIAO-RP2040-DXF.zip) +- 📄 **[LBR]** [Seeed Studio XIAO RP2350 Eagle footprint](https://files.seeedstudio.com/wiki/XIAO-RP2350/res/Seeed-Studio-XIAO-RP2040-footprint-eagle.lbr) +- 📄 **[XLSX]** [Seeed Studio XIAO RP2350 pinout sheet](https://files.seeedstudio.com/wiki/XIAO-RP2350/res/XIAO-RP2040-pinout_sheet.xlsx) + +### 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 From 6c6a008276c556e0126cb6de9e76b54fc9431244 Mon Sep 17 00:00:00 2001 From: Spencer Yan Date: Tue, 6 Aug 2024 17:13:04 +0800 Subject: [PATCH 04/19] chore(XIAO C6): --- .../SeeedStudio_XIAO_ESP32C6/XIAO_ESP32C6_Getting_Started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32C6/XIAO_ESP32C6_Getting_Started.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32C6/XIAO_ESP32C6_Getting_Started.md index 8ac8dd6449a0..c121a034915b 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32C6/XIAO_ESP32C6_Getting_Started.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32C6/XIAO_ESP32C6_Getting_Started.md @@ -10,7 +10,7 @@ slug: /xiao_esp32c6_getting_started toc_max_heading_level: 4 sidebar_position: 1 last_update: - date: 07/16/2024 + date: 08/05/2024 author: Spencer --- From f84737b7bf0bcbd5247f2a76d299785d41c2fbd9 Mon Sep 17 00:00:00 2001 From: Spencer Yan Date: Tue, 6 Aug 2024 17:47:46 +0800 Subject: [PATCH 05/19] chore(XIAO RP2350): init sidebar --- .../XIAO-RP2350-with-MicroPython.md | 10 ++++++++++ .../SeeedStudio_XIAO_RP2350/_category_.yml | 10 ++++++++++ sidebars.js | 10 ++++++++++ 3 files changed, 30 insertions(+) create mode 100644 docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350-with-MicroPython.md create mode 100644 docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/_category_.yml 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..16ff80642924 --- /dev/null +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350-with-MicroPython.md @@ -0,0 +1,10 @@ +--- +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-06T09:45:11.183Z + author: Spencer +--- 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/sidebars.js b/sidebars.js index 28fd592bd82f..662dc6d31a40 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)', From 0c7cba039b2a0995ab2f98fc9b2756a431b6194d Mon Sep 17 00:00:00 2001 From: nfs0619 <1447996181@qq.com> Date: Wed, 7 Aug 2024 14:30:33 +0800 Subject: [PATCH 06/19] Contributor431 --- .../SenseCAP_K1100/SenseCAP_K1100_Intro.md | 486 ++++++++---------- 1 file changed, 222 insertions(+), 264 deletions(-) diff --git a/docs/Network/SenseCAP_K1100/SenseCAP_K1100_Intro.md b/docs/Network/SenseCAP_K1100/SenseCAP_K1100_Intro.md index 8280511cba9f..fa818c6d9795 100644 --- a/docs/Network/SenseCAP_K1100/SenseCAP_K1100_Intro.md +++ b/docs/Network/SenseCAP_K1100/SenseCAP_K1100_Intro.md @@ -6,282 +6,240 @@ keywords: image: https://files.seeedstudio.com/wiki/wiki-platform/S-tempor.png slug: /SenseCAP_K1100_Intro last_update: - date: 07/19/2023 - author: Matthew + date: 08/07/2024 + author: Frank --- +## Introduction +
+The SenseCAP K1100 is a comprehensive, cutting-edge environmental monitoring kit designed to provide seamless data collection and analysis. It integrates advanced sensors and connectivity options, making it a versatile solution for various environmental monitoring applications. This kit is ideal for developers, researchers, and hobbyists looking to prototype and deploy robust IoT solutions efficiently. + +## The Idea of True Wild + +The SenseCAP K1100 prototype kit bridges the gap between initial concept development and real-world deployment. It enables users to rapidly create and test their environmental monitoring solutions before deploying them in the field. This transition from prototype to a true wild solution ensures that the devices are reliable, durable, and capable of withstanding various environmental conditions. + +## Getting Started with SenseCAP K1100 + +
+ +
+ + + + + + + + + + + + + + + + + + + + +
The Sensor Prototype Kit IntroductionQuick & No-code Initiation with SenseCraft
In this tutorial, you can experience the fun of data collection and data processing with our open source project in the shortest time. We offer two paths for our users to experience IoT, one is LoRa® and the other is WiFi. This tutorial will teach you how to use them.
+
+ +## LoRaWAN-Network Application +### Sensors Basic Usage with Arduino -## The Network using Guide - -
-
-
LoRaWAN® Network Usage
- ☁️ LoRaWAN®-Network Application -
- > SenseCAP & Node-Red for Cloud Services -
- Integrated Azure IoT, - Power BI, - InfluxDB -
- > Helium Cloud Services -
- Integrated Azure IoT, - Google Sheets, - AWS IOT -
- > TTN Cloud Services -
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Wio Terminal Light SensorWio Terminal IMU SensorGrove Soil Moisture Sensor
In this section, we will detail how the Light sensors work, how to get sensor data using Wio Terminal and how to send the data out using Wio Terminal & Grove - Wio-E5. In this section, we will detail how the IMU sensors work, how to get sensor data using Wio Terminal and how to send the data out using Wio Terminal & Grove - Wio-E5. In this section, we will detail how the Grove Soil Moisture sensors work, how to get sensor data using Wio Terminal and how to send the data out using Wio Terminal & Grove - Wio-E5.
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Grove VOC and eCO2 Gas Sensor (SGP30)Grove Temp&Humi Sensor (SHT40)Grove Vision AI Module
In this section, we will detail how the Grove VOC and eCO2 Gas sensors work, how to get sensor data using Wio Terminal and how to send the data out using Wio Terminal & Grove - Wio-E5. In this section, we will detail how the Grove Temp&Humi sensors work, how to get sensor data using Wio Terminal and how to send the data out using Wio Terminal & Grove - Wio-E5. In this section, we will detail how the Grove Vision AI Module work, how to get sensor data using Wio Terminal and how to send the data out using Wio Terminal & Grove - Wio-E5.
-
-
Wi-Fi Network Usage
- ☁️ WiFi-Network Application -
- > Quick Start With Blynk -
- > Quick Start With Google Cloud IoT -
- > Develop in Microsoft Azure IoT Central -
- > Data visualisation with Power BI -
- > Advanced WiFi Usage -
+ + +### Cloud Services + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Helium Cloud ServicesTTN Cloud ServicesSenseCAP & Node-Red for Cloud Services
In this chapter, we will introduce the Helium console controls that we use to get a first impression of the Helium console.In this chapter, we will introduce the TTN console controls that we use to get a first impression of the TTN console. Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. We will do a series of tutorials for SenseCAP & Node-RED.
+ + +## Wi-Fi-Network Application + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Advanced WiFi UsageCloud ServiceAzure IoT Platform Usage
This wiki introduces some of the advanced library usage of the Wi-Fi such as HTTPClient, DNSServer and WebServer Libraries. With these libraries implemented, you are able to develop your IoT projects with simple APIs.In this chapter, we will guide you through connecting Ubidots, Blynk, and Google Cloud using the Wio Terminal. 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.
+
+ + +## Embedded ML Application + +
+ +
+ + + + + + + + + + + + + + + + + + + + +
Built-in Sensors with Edge ImpulseVision AI with Customizable Models
This article show a solution for guys wanna use edgeimpulse to generated models and connect with cloud. In our demo , we will use google sheet. In this wiki, we will teach you how to train your own AI model for your specific application and then deploy it easily to the Grove - Vision AI Module. Let's get started!
-## Catalogue for SenseCAP K1100 - -
-

- Quick Start -

- -

- Microsoft Azure IoT -

- -

- SenseCAP -

- -

- Sensors Wiki -

- -

- Sensor & Helium/TTN Arduino Programme -

- -

- Helium -

- -

- The Things Network Section -

- -

- WiFi -

- -

- Cloud -

- -

- TinyML -

- -

- Project -

- +## Project Section + +In addition to the above basic tutorials for each platform, we have prepared a variety of rich examples on the use of this kit, so you can see here that the value of the kit is unlimited! + +
+ +
+ + + + + + + + + + + + + + + + + + + + +
IoT Into the Wild Contest for Sustainable Planet 2022Vision AI with Customizable Models
We are pleased to share with you the projects that our entrants have produced using this great kit. You can also refer to their projects for even more possibilities! In this wiki, we will show you how to unitize the Wio Terminal to link Grove - Wio-E5 and Grove - Soil Moisture Sensor which are in the kit, connecting them with Helium and Azure IoT Central platforms, to build a real-time backyard potting monitor and watering-reminder, for a glimpse of Internet of Things.
+ + + ## ✨ Contributor Project - We have a task list for updating this page, which is categorized under our [contributor project](https://github.com/orgs/Seeed-Studio/projects/6/views/1?pane=issue&itemId=30957479), as we are dedicated to enhancing the user experience and providing better support through the development of our wiki platform. From 27e3be4823ce5d8b86e1a9646c3fa22043157e98 Mon Sep 17 00:00:00 2001 From: ShuishengPeng <63339353+ackPeng@users.noreply.github.com> Date: Wed, 7 Aug 2024 14:57:07 +0800 Subject: [PATCH 07/19] add modbus tcp for recomputer_r1000_how_to_use_rs485_modbus --- ...ecomputer_r1000_how_to_use_rs485_modbus.md | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_how_to_use_rs485_modbus.md b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_how_to_use_rs485_modbus.md index 3048a9faf841..8149289442a8 100644 --- a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_how_to_use_rs485_modbus.md +++ b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/recomputer_r1000_how_to_use_rs485_modbus.md @@ -1,6 +1,6 @@ --- description: This article mainly introduces how to use the 485 communication function of reComputer R1000, and tests the rs485 and Modbus communication functions. -title: How to use rs485 and modbus rtu with reComputer R1000 +title: How to use rs485 and modbus with reComputer R1000 keywords: - Edge - reComputer R1000 @@ -64,6 +64,11 @@ sudo apt-get install minicom This test uses an RS485 to USB module to connect reComputer R1000 and W10 PC.
pir
+For ModbusTCP, we use Ethernet cables to connect the W10 PC and reComputer R1000 to a switch to ensure that they are on the same network segment. + +
pir
+ + ## Steps to use the RS485 interface normally and perform Modbus RTU testing **Step 1**: First, you need to download the [**C program**](https://github.com/Seeed-Studio/seeed-linux-dtoverlays/tree/master/tools/rs485_control_DE) provided by us, and then refer to the contents of the ReadMe. Compile and run. @@ -117,6 +122,23 @@ echo 590 > /sys/class/gpio/unexport This is because they use different file systems and there will be conflicts when accessing the same resource. ::: +## Steps to use the Modbus TCP testing + +**Step 1**: Open modbusmechanic on Win10 PC and R1000 + +
+ +**Step 2**: R1000 acts as the modbus TCP host. Click `Tool => Start Slave Simulator` on W10 PC, select `TCP` for TYPE, select `1` for Slave ID, and then add `Coils`; then enter `IP` in R1000, and select `Read Coil` for Scan group. Enter `Slave Node` and `Register`, and finally click `Transmit packet`. You can see that the slave data has been successfully read. + +
+ +**Step 3**: R1000 acts as a modbus TCP slave. Refer to the second step for configuration. You can see that R1000 can read data normally as a slave. + +
+ + +Running the Modbus TCP slave program in R1000 needs to listen to the `502` port, which may require `sudo` permissions. If your application cannot listen to the `502` port, please try to add permissions to it. + ## Tech Support & Product Discussion From 13cf8be4c4d8754ecb8dc7dc8657a94e8148053f Mon Sep 17 00:00:00 2001 From: KasunThushara <73091563+KasunThushara@users.noreply.github.com> Date: Wed, 7 Aug 2024 13:19:52 +0530 Subject: [PATCH 08/19] ADD: Home Assistant and reComputer R1000 Modbus --- .../recomputer-r1000-home-assistant.md | 6 +- .../recomputer-r1000-modbus-home-assistant.md | 202 ++++++++++++++++++ sidebars.js | 1 + 3 files changed, 206 insertions(+), 3 deletions(-) create mode 100644 docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-modbus-home-assistant.md diff --git a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-home-assistant.md b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-home-assistant.md index 0bedc8047d42..886611e83647 100644 --- a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-home-assistant.md +++ b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-home-assistant.md @@ -18,7 +18,7 @@ last_update: The reComputer r1000, designed for Building Automation Systems, features multiple isolated RS485 channels that support both high and low-speed communication. It is compatible with BACnet, Modbus RTU, and Modbus TCP/IP protocols, making it versatile for various automation needs. This guide provides a concise introduction to installing Home Assistant on the reComputer r1000, enabling seamless integration and control of your smart home devices. -
+
[Home Assistant](https://www.home-assistant.io/) is a free and open-source software for home automation, serving as a central control system or smart home hub for various devices. Designed with local control in mind, it ensures your Building Management System (BMS) operates independently of remote servers or internet connections, enhancing security and reliability. This means your BMS can run 24/7 without the vulnerabilities associated with cloud-connected devices, providing a robust and secure automation solution. @@ -125,7 +125,7 @@ sudo dpkg -i homeassistant-supervised.deb Upon successful correction, a blue screen will appear, allowing you to select **Raspberry Pi4 64** model. -
+
After a few minutes, the installation will begin. @@ -133,7 +133,7 @@ You can then view the Home Assistant Dashboard UI on a web browser using `
+
:::note If there are warnings in notifications, please reboot the reComputer. diff --git a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-modbus-home-assistant.md b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-modbus-home-assistant.md new file mode 100644 index 000000000000..ee179a877be3 --- /dev/null +++ b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-modbus-home-assistant.md @@ -0,0 +1,202 @@ +--- +description: Learn how to set up and configure Modbus TCP and Modbus RTU with Home Assistant on a reComputer R1000, a powerful Raspberry Pi-powered solution for seamless integration and control of your Modbus devices in a Building Management System (BMS). +title: reComputer R1000 and Modbus with Home Assistant +keywords: + - Home Assistant + - reComputer R1000 + - Home Automation + - BMS + - Modbus + +image: https://files.seeedstudio.com/wiki/reComputer-R1000/recomputer_r_images/01.png +slug: /recomputer_r1000_home_assistant_Modbus +last_update: + date: 08/07/2024 + author: Kasun Thushara +--- + +## Introduction + +In modern building management systems (BMS), integrating various protocols and devices is crucial for efficient monitoring and control. This guide focuses on leveraging the capabilities of Modbus communication protocols (Modbus TCP and Modbus RTU) with Home Assistant OS, using the powerful reComputer R1000, a Raspberry Pi-powered solution. Whether you're setting up a new system or enhancing an existing one, this guide will walk you through the process of connecting your Modbus devices to Home Assistant, ensuring seamless integration and control. + +## Getting Start + +Before you start this project, you may need to prepare your hardware in advance as described here. + +### Hardware Preparation + +
+ + + + + + + + + + + + +
reComputer R1000
+
+ +### Software Preperation + +Before diving into the integration process, it's crucial to ensure that all necessary drivers and tools are installed. Proper [installation of drivers](https://wiki.seeedstudio.com/reComputer_r1000_use_rs485_modbus_rtu/) is a prerequisite for seamless communication between Modbus RTU devices and Home Assistant. It is highly recommended to thoroughly study and install the required drivers before proceeding with this guide. + +Additionally, if you haven't installed Home Assistant yet, please follow the [Home Assistant installation guide](https://wiki.seeedstudio.com/recomputer_r1000_home_automation/) to set it up on your reComputer R1000. + +## File Editor Add-on + +While you can configure most of Home Assistant directly from the user interface under Settings, some parts require you to edit files such as configuration.yaml. This file contains integrations to be loaded along with their configurations. By adding code snippets to this configuration file, you can enable specific functionalities, including Modbus integration. + +To get started, you need to install the File Editor add-on in Home Assistant: + +- Open Home Assistant. +- Navigate to `Settings > Add-ons`. + +
+ +- Click on the `Add-on Store`. + +
+ +- Search for `File Editor` and click on it. + +
+ +- Click the Install button. +- Once installed, click on Start to launch the File Editor. +- Optionally, enable Show in Sidebar for quick access. + +
+ +With the File Editor add-on, you can now edit the `configuration.yaml` file to add Modbus integration + +
+ +## Enabling Modbus TCP Integration + +To enable the Modbus integration in Home Assistant, you need to add specific parameters to your configuration.yaml file. Below are the parameters and their descriptions that you will need to configure: + +- **name**: The name of this hub. Must be unique. +- **host**: The IP address or name of your Modbus device, e.g., `192.168.1.1`. +- **port**: The network port for communication. +- **type**: The type of Modbus connection. Options are tcp or serial.Here we used `tcp` + +To configure entities for your Modbus integration, you need to define various parameters for each entity. Below are the parameters required for setting up binary sensors: +There are several entities. You can check on [Offical modbus Home Assistant page](https://www.home-assistant.io/integrations/modbus). + +- **binary_sensors**: A list of all binary sensors configured for this connection. +- **address**: The address of the coil/register. +- **name**: The name of the entity, which must be unique within the entity type. +- **scan_interval**: The update interval in seconds. Set scan_interval = 0 for no polling. Entities are read shortly after startup and then according to scan_interval. +- **slave**: Identical to device_address. +- **input_type**: The type of request. Options are coil, holding, or input. + +**Example** : + +```bash +modbus: + - name: modbus_hub + type: tcp + host: IP_ADDRESS_of_PLC + port: 502 + binary_sensors: + - name: Relay_1 + address: 8193 + slave: 1 + input_type: coil + scan_interval: 1 + - name: Relay_2 + address: 8194 + slave: 1 + input_type: coil + scan_interval: 1 +``` +
+ +:::note +It is neccesary save and restart HA after changing configuration.yml file +::: + +## Enabling Modbus RTU Integration + +To enable Modbus RTU integration in Home Assistant, you need to add the following parameters to your configuration.yaml file: + +- **name**: The name of this hub. Must be unique. +- **type**: The type of Modbus connection. Here, it should be serial. +- **port**: The serial port or USB device where your Modbus device is connected to your Home Assistant host. We found that it is `/dev/ttyAMA30` +- **baudrate**: The speed of the serial connection. +- **method**: The method of connection to Modbus. Options are rtu and ascii. +- **parity**: The parity of the data bytes. Options are E (Even), O (Odd), N (None). +- **bytesize**: The data size in bits of each byte. Typically 8. +- **stopbits**: The stop bits of the data bytes. + +To configure entities for your Modbus RTU integration, you need to define various parameters for each sensor. Below are the parameters required for setting up sensors: + +- **sensors**: The Modbus sensor allows you to gather data from Modbus registers. +- **name**: The name of the entity, which must be unique within the entity type. +- **address**: The address of the register. +- **slave**: Identical to device_address. +- **input_type**: The Modbus register type for the sensor. Options are holding or input. +- **scale**: The scale factor. +- **device_class**: The type/class of the sensor to set the icon in the frontend. +- **unit_of_measurement**: The unit to attach to the value. + + +Example: + +```bash +modbus: + - name: modbus_hub2 + type: serial + port: /dev/ttyAMA30 + baudrate: 9600 + bytesize: 8 + method: rtu + parity: N + stopbits: 1 + sensors: + - name: Room Temperature + address: 1 + input_type: input + slave: 1 + scale: 0.01 + device_class: temperature + unit_of_measurement: °C + - name: Room Humidity + address: 2 + input_type: input + slave: 1 + scale: 0.01 + unit_of_measurement: '%' + device_class: humidity +``` +
+ +:::note +It is neccesary save and restart HA after changing configuration.yml file +::: + +Finally you will be able to see the working phenomina. + +
+ + +## 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/sidebars.js b/sidebars.js index bb59cc4ab328..24438f7dbe21 100644 --- a/sidebars.js +++ b/sidebars.js @@ -3026,6 +3026,7 @@ const sidebars = { 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', ], }, From 195a7dadf6ae39bd061e20c7a453f67991dc2e93 Mon Sep 17 00:00:00 2001 From: Spencer Yan Date: Wed, 7 Aug 2024 15:58:20 +0800 Subject: [PATCH 09/19] docs(XIAO S3): add upgraded heat sink installation for XIAO S3(sense) --- .../XIAO_ESP32S3_Getting_Started.md | 92 ++++++++++++++++++- 1 file changed, 90 insertions(+), 2 deletions(-) diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md index c7482231c588..20d64c87d731 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md @@ -7,10 +7,13 @@ keywords: image: https://files.seeedstudio.com/wiki/seeed_logo/logo_2023.png slug: /xiao_esp32s3_getting_started last_update: - date: 03/23/2023 - author: Citric + date: 08/07/2024 + author: Spencer --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + # Getting Started with Seeed Studio XIAO ESP32S3 (Sense)
@@ -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. ::: +#### Installing the Upgraded Heat Sink + +Ensure optimal cooling for your XIAO ESP32S3 Sense by installing our upgraded heat sink. This new design is tailored to address the cooling deficiencies observed with the previous models, particularly during intensive operations like camera usage. Feedback highlighted that the original heat sink did not adequately dissipate heat, leading to the development of a more effective solution. + +
Click to View Performance Comparison + +Our testing has demonstrated the benefits of the upgraded heat sink over the original setup: + +| Test Sample | Peak Temperature on Backside | +| --------------------- | ---------------------------- | +| **Without Heat Sink** | 63.6°C | +| **With Heat Sink** | 53.5°C🔻 | + +***Test Details:*** +- **Environment**: Air-conditioned room (approximately 27°C) +- **Temperature Measuring Tool**: OMEGA CL3515R thermocouple +- **Measurement Location**: Backside thermal pad of the XIAO ESP32S3 +- **Testing Firmware**: WebCamera +- **Power Supply**: Type-C 5V +- **Operating Duration**: 1 hour + +***Key result:*** +- The device equipped with the heat sink maintained stable operation for over an hour, reaching its peak temperature without performance degradation. +- During testing with the WebCamera in SVGA (800x600) mode: + - The XIAO ESP32S3 operated smoothly. + - The video output was fluid. + - There was a significant reduction in temperature, ensuring reliable performance without any frame drops or disconnections. + +
+ +***Gather the following items before starting the installation:*** + +- Selected heat sink (single or dual) +- A clean ESP32S3 + +Ensure your device is powered off and unplugged from any power source before you start. + +:::tip notice + +***Purchasing Note:*** When purchasing your XIAO ESP32S3 Sense, it's important to note that only **models equipped with a camera** come with a heat sink included. If you have a version of the ESP32S3 that does not include a camera, you will need to purchase a heat sink separately. + +***Installation Tip:*** Prioritize covering the Thermal PAD with the heat sink, as it is directly above the ESP32S3 chip, the primary source of heat. Proper alignment ensures optimal heat dissipation. + +::: + +Now, let’s begin the installation process: + +***Step 1. Prepare the Heat Sink:*** +Start by removing the protective cover from the heat sink to expose the thermal adhesive. This will prepare the heat sink for a secure attachment to the ESP32S3 chip. + +
+ +***Step 2. Pssemble the Heat Sink:*** + + + + +This smaller, compact option is sufficient for regular use and allows full access to all GPIO pins. + + + + + + +
+ +
+ + +The larger option provides superior cooling, which is ideal for high-performance tasks but may limit access to some GPIO pins. + + + + + + +
+ +
+
+ +***Step 3: Final Inspection and Testing*** + +After installation, ensure everything is properly secured with no risk of short circuits. Verify that the heat sink is properly aligned and securely attached. + ### 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. From ffdccd3bad08a6ea8c406cc4f0d1f384dd8f218a Mon Sep 17 00:00:00 2001 From: Spencer Yan Date: Tue, 6 Aug 2024 17:13:04 +0800 Subject: [PATCH 10/19] chore(XIAO C6): update timestamp --- .../SeeedStudio_XIAO_ESP32C6/XIAO_ESP32C6_Getting_Started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32C6/XIAO_ESP32C6_Getting_Started.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32C6/XIAO_ESP32C6_Getting_Started.md index 8ac8dd6449a0..c121a034915b 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32C6/XIAO_ESP32C6_Getting_Started.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32C6/XIAO_ESP32C6_Getting_Started.md @@ -10,7 +10,7 @@ slug: /xiao_esp32c6_getting_started toc_max_heading_level: 4 sidebar_position: 1 last_update: - date: 07/16/2024 + date: 08/05/2024 author: Spencer --- From 47cac26566a8754d7f5475ef299a945d739bbb9a Mon Sep 17 00:00:00 2001 From: Spencer Yan Date: Wed, 7 Aug 2024 17:09:44 +0800 Subject: [PATCH 11/19] chore(XIAO S3): update heat sink test detail --- .../SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md index 20d64c87d731..c6d0552a2d49 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md @@ -278,7 +278,7 @@ Our testing has demonstrated the benefits of the upgraded heat sink over the ori | Test Sample | Peak Temperature on Backside | | --------------------- | ---------------------------- | | **Without Heat Sink** | 63.6°C | -| **With Heat Sink** | 53.5°C🔻 | +| **With dual Heat Sinks** | 53.5°C (🔻10°C) | ***Test Details:*** - **Environment**: Air-conditioned room (approximately 27°C) @@ -334,7 +334,7 @@ This smaller, compact option is sufficient for regular use and allows full acces - + The larger option provides superior cooling, which is ideal for high-performance tasks but may limit access to some GPIO pins. From 8ab795348fdd95788b71d51dfa754cc73e8bc498 Mon Sep 17 00:00:00 2001 From: nfs0619 <1447996181@qq.com> Date: Thu, 8 Aug 2024 09:33:09 +0800 Subject: [PATCH 12/19] Contributor437 --- docs/Edge/Beagle_Bone/BeagleBone.md | 251 ++++++++++++++++++++++++++-- 1 file changed, 234 insertions(+), 17 deletions(-) diff --git a/docs/Edge/Beagle_Bone/BeagleBone.md b/docs/Edge/Beagle_Bone/BeagleBone.md index 060a2672b2ef..b75439278d76 100644 --- a/docs/Edge/Beagle_Bone/BeagleBone.md +++ b/docs/Edge/Beagle_Bone/BeagleBone.md @@ -6,35 +6,252 @@ keywords: image: https://files.seeedstudio.com/wiki/wiki-platform/S-tempor.png slug: /BeagleBone last_update: - date: 1/10/2023 - author: jianjing Huang + date: 08/08/2024 + author: Frank --- --- + +## Introduction + BeagleBone®s are relatively a late comer in the microcontroller world, but the high performance and lower power consumption make it become one of the three popular platforms in the open-hardware world. Beagles mean big functionality in small packages because these little PCs can be used for all kinds of applications you've been tinkering with... and can handle many of the same tasks as your desktop PC. Similar to Arduino and Raspberry Pi, BeagleBone® boards are used by artists, designers and hobbyists to realize their projects. BeagleBone® boards are wonderful boards, but people on planet Seeed are not satisfied with the current BeagleBone® and want to make some differences. Just as what we have done with Seeeduino, we spoke to BeagleBone.org about our thoughts and finally got the chance to create a whole new board together with them, this is how we created Seeed Studio's own BeagleBone®, the BeagleBone® Green(Short as BBG). +
+ BeagleBone® Green is derived from BeagleBone® Black(Short as BBB), if you ever know about BBB , you would know that BBB is like the star board in the beagleboard family, it inherits the tiny size of BeagleBone® and adds many good features while the price is much lower. When we were designing BBG, we decided to keep almost all the good features of BBB such as the tiny size, abundant interface and strong expansibility, while at the same time replaced the HDMI interface with 2 Seeed grove connector, to make it compatible with the large family of grove sensers. Not lone afte that, we released another BeagleBone® named BeagleBone® Green Wireless(Short as BBGW), In addition to grove connectors, BBGW has included a high-performance flexible WiFi/Bluetooth interface, makes it become the first WiFi/Bluetooth board of the BeagleBone® family. -## Product List +## The Idea of Open Source ---- -Here is the list of the BeagleBone® Boards you can find in the Seeed WiKi. The list will be constantly updated. - -- [Beagle Bone Green and Grove IoT Starter Kit Powered by AWS](https://wiki.seeedstudio.com/Beagle_Bone_Green_and_Grove_IoT_Starter_Kit_Powered_by_AWS/) -- [BeagleBone Blue](https://wiki.seeedstudio.com/BeagleBone_Blue/) -- [BeagleBone Case](https://wiki.seeedstudio.com/Beaglebone_Case/) -- [BeagleBone Green](https://wiki.seeedstudio.com/BeagleBone_Green/) -- [BeagleBone Green HDMI Cape](https://wiki.seeedstudio.com/BeagleBone_Green_HDMI_Cape/) -- [BeagleBone Green Wireless](https://wiki.seeedstudio.com/BeagleBone_Green_Wireless/) -- [Grove Base Cape for BeagleBone v2](https://wiki.seeedstudio.com/Grove_Base_Cape_for_BeagleBone_v2/) -- [Grove Cape for BeagleBone Series](https://wiki.seeedstudio.com/Grove_Cape_for_BeagleBone_Series/) -- [Grove Starter Kit for BeagleBone Green](https://wiki.seeedstudio.com/Grove_Starter_Kit_for_BeagleBone_Green/) -- [Motor Bridge Cape v1.0](https://wiki.seeedstudio.com/Motor_Bridge_Cape_v1.0/) -- [Skeleton box for Beaglebone](https://wiki.seeedstudio.com/Skeleton_box_for_Beaglebone/) +BeagleBone® embraces the open-source philosophy, allowing users to access, modify, and share both hardware and software designs. This openness encourages innovation, collaboration, and transparency, fostering a community where knowledge and resources are freely exchanged. By utilizing open-source principles, BeagleBone® ensures that anyone can contribute to its development and improvement, creating a rich ecosystem of projects, tutorials, and applications. + + +## Spec Differences About the Series + +The BeagleBone® series includes several models, each with unique specifications to cater to different needs: + +BeagleBone Black: The most popular model, featuring a 1GHz ARM Cortex-A8 processor, 512MB of DDR3 RAM, and 4GB of eMMC flash storage. It offers extensive connectivity options, including Ethernet, USB, and HDMI. + +BeagleBone Blue: Designed specifically for robotics, it includes onboard IMU sensors, servo motor outputs, and battery management, making it ideal for autonomous vehicle projects. + +BeagleBone Green: A collaboration with Seeed Studio, this model is similar to the BeagleBone Black but replaces the HDMI port with two Grove connectors for easy sensor integration. + + + + +## Product + +### BeagleBone® Blue + +
+
+ +
+
+ BeagleBone® Blue is based on the extremely successful open-source hardware design of BeagleBone® Black, a high-expansion, maker-focused, community-supported open hardware computer, created by the BeagleBoard.Org Foundation. +
+
+ + +



+ + + +### SeeedStudio BeagleBone® Green + +
+
+ +
+
+ Seeed Studio BeagleBone® Green is a low cost, open-source, community supported development platform for developers and hobbyists. It is a joint effort by BeagleBoard.org and Seeed Studio. It is based on the classical open-source hardware design of BeagleBone® Black and developed into this differentiated version. +
+
+ + +



+ + + +### BeagleBone® Green Wireless + +
+
+ +
+
+ Seeed Studio BeagleBone® Green Wireless has included a high-performance flexible WiFi/Bluetooth interface and two Grove connectors, making it easier to connect to the large family of Grove sensors. The on-board HDMI and Ethernet are removed to make room for these wireless features and Grove connectors. +
+
+ + +



+ + + + +### SeeedStudio BeagleBone® Green Gateway + +
+
+ +
+
+ The Seeed Studio BeagleBone® Green Gateway includes two Grove connectors, making it easier to connect to the large family of Grove sensors. The on-board HDMI and Ethernet are removed to make room for these wireless features and Grove connectors. +
+
+ + +



+ + + +### BeagleBone® Case + +
+
+ +
+
+ The acrylic case is used for BeagleBone®, like the Raspberry PI B+ case.It’s made of acrylic sheet. manufacture by laser cutting, CNC milling, and hot bending. almost all handmade, Looks very compact and beautiful, Only 4 pieces sheets in total, so easy to assembled. It's strong enought, not easy break like other 6 acrylic sheets case. In the box rounded corners and beveled edges .you will feel very comfortable when you hold it. +
+
+ + +



+ + + + +## Extension Board + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Grove Base Cape for BeagleBone® v2Motor Bridge Cape v1.0Skeleton box for BeagleBone®
The cape provides 12 easy-to-use Grove connectors to do plug-and-play with the big family of Grove modules. The connectors include 2x UART, 2x ADC, 4x Digital I/O and 4x I2C that interface to the pins on your BeagleBone® board, offering almost everything you need. The Motor Bridge Cape features bi-directional motor control using two TB6612FNG integrated dual H-bridge, so it can control two stepper motors or four brushed DC motors with 6 ~15V DC ower and about 1A current draw per motor. This enclosure is constructed from military grade aluminum and hardwearing acrylic, Providing the ultimate protection from physical and corrosion! The skeleton box allows clearance for any standard Arduino, and the enclosures are stackable in all three dimensions, allowing for limitless expansion possibilities.
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + +
BeagleBone® Green HDMI CapeSeeed Studio BeagleBone® Green LCD Cape with Resistive Touch
BeagleBone® Green HDMI Cape is a general integrated HDMI connector for expanding your BeagleBone® to a rich variety of peripherals such as computer monitor, video projector, digital television, or digital audio device. Green LCD Cape with Resistive Touch is designed for SeeedStudio Beagle bone® Green or Beagle bone Black with a compact 5-inch LCD which is smaller than a 7-inch one but provides a resolution of 800x480 using a layer of 4-wired resistive touchscreen for user interactions.
+
+ +## Kit with Courses + +
+ +
+ + + + + + + + + + + + + + + + + + + + +
Grove Starter Kit for BeagleBone® GreenBeagleBone Green and Grove IoT Starter Kit Powered by AWS
Grove Starter Kit for BeagleBone® Green is an entry-level kit for beginners, which can help you explore BBG and create innovative projects. It's a best choice for novice to develop some cool projects and build prototype built in BBG. BeagleBone Green (BBG) is a joint effort by BeagleBoard.org and Seeed Studio. It is based on the open-source hardware design of BeagleBone Black and has added two Grove connectors. The kit contains the new BBG, 10 Grove modules as well as step-by-step tutorials to hook them up quickly.
+
+ + +## Application + +### BeagleBone® Solutions + +
+ +The BeagleBone® is a versatile platform capable of running a full Linux OS while also retaining real-time capability. Designed with industrial use in mind, and documentation designed for entry-level developers, the BeagleBone® has numerous I/O and protocol support while being developer friendly. + +Seeed's BeagleBone® Green and BeagleBone® Green Wireless are part of the BeagleBone® family and are ready to be customized, manufactured, and deployed now. + + ## ✨ Contributor Project From de1a117dce142dc17b4ab9a86998a1579f1d10cd Mon Sep 17 00:00:00 2001 From: jiahao Date: Thu, 8 Aug 2024 14:48:59 +0800 Subject: [PATCH 13/19] update:tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection --- ...ith_raspberrypi5_about_yolov8n_object_detection.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection.md b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection.md index c36c0d880ba2..ff65ab6443ab 100644 --- a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection.md +++ b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection.md @@ -27,16 +27,16 @@ This wiki we will show you how to use yolov8n to do object detection with ai kit
- + - - + + @@ -50,9 +50,10 @@ This wiki we will show you how to use yolov8n to do object detection with ai kit + ## Install Hardware -

pir

+Please refer to [this](https://www.raspberrypi.com/documentation/accessories/ai-kit.html) ## Host computer From ae0adebc9dbe0f1a9731f3bef2b126c2ddec4473 Mon Sep 17 00:00:00 2001 From: jiahao Date: Thu, 8 Aug 2024 17:24:03 +0800 Subject: [PATCH 14/19] add video to tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection --- ...kit_with_raspberrypi5_about_yolov8n_object_detection.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection.md b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection.md index ff65ab6443ab..861fa28636b7 100644 --- a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection.md +++ b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Computer-Vision/tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection.md @@ -304,6 +304,13 @@ Find line 172 in ```object-detection-hailo.py```, and change the code like below bash run.sh object-detection-hailo ``` +## Result + + +
+ +
+ ## Tech Support & Product Discussion From 31787a76e88436b3b1ea58f92ab159593ab8d0d2 Mon Sep 17 00:00:00 2001 From: KasunThushara <73091563+KasunThushara@users.noreply.github.com> Date: Thu, 8 Aug 2024 15:29:12 +0530 Subject: [PATCH 15/19] Slug corrected --- .../Home-Assistant/recomputer-r1000-modbus-home-assistant.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-modbus-home-assistant.md b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-modbus-home-assistant.md index ee179a877be3..63cd3f948735 100644 --- a/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-modbus-home-assistant.md +++ b/docs/Edge/Raspberry_Pi_Devices/reComputer_R1000/Applications/Home-Assistant/recomputer-r1000-modbus-home-assistant.md @@ -9,7 +9,7 @@ keywords: - Modbus image: https://files.seeedstudio.com/wiki/reComputer-R1000/recomputer_r_images/01.png -slug: /recomputer_r1000_home_assistant_Modbus +slug: /recomputer_r1000_home_assistant_modbus last_update: date: 08/07/2024 author: Kasun Thushara From 2a83442cd3c87b648dd6cbf7953fe39262a7feae Mon Sep 17 00:00:00 2001 From: Spencer Yan Date: Thu, 8 Aug 2024 22:22:54 +0800 Subject: [PATCH 16/19] docs(XIAO RP2350): update wiki page --- .../XIAO-RP2350-with-MicroPython.md | 9 +- .../XIAO-RP2350-with-SDK.md | 3 + .../SeeedStudio_XIAO_RP2350/XIAO-RP2350.md | 155 +++++++++++------- 3 files changed, 108 insertions(+), 59 deletions(-) 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 index 16ff80642924..8cd2a52c8455 100644 --- 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 @@ -5,6 +5,13 @@ image: https://files.seeedstudio.com/wiki/seeed_logo/logo_2023.png slug: /xiao-rp2350-micropython sidebar_position: 1 last_update: - date: 2024-08-06T09:45:11.183Z + date: 2024-08-08T07:21:33.838Z author: Spencer +draft: true --- + +https://raspberrytips.com/thonny-ide-raspberry-pi/ +### Resource + +- [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) \ 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 index 96297b3b4b5f..cb7d086b00b3 100644 --- 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 @@ -17,6 +17,8 @@ import TabItem from '@theme/TabItem'; The Pico SDK is an extensive software development kit specifically tailored for the Raspberry Pi RP-family microcontrollers, notably powering the XIAO RP2350 board. It encompasses a broad array of libraries and tools designed to support the creation of sophisticated applications. This SDK caters to both novice enthusiasts and seasoned professionals aiming to exploit the robust capabilities of the RP2350 microcontroller in diverse projects. +The Pico SDK is your starting point for developing projects on the XIAO RP2350. This section explains what the SDK is and provides step-by-step setup instructions. + ## Prerequisite 📃 Prior to commencing the SDK Programming on XIAO RP2350, the following equipment are required: @@ -260,6 +262,7 @@ How to assemble it, precautions, etc --> ## 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 - 📄**[Blog]** [How to learn Pico-SDK programming?](https://example.com) - A comprehensive tutorial focused on RP2350 SDK. - 📽️**[Video]** [Intro to Raspberry Pi Pico and RP2040](https://www.youtube.com/watch?v=B5rQSoOmR5w) - A video tutorial. diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md index cba10cec158a..4cc34310fc6d 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md @@ -2,7 +2,7 @@ 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/1-102010550%20XIAO%20RP2350%20thumbnail%20.png +image: https://files.seeedstudio.com/wiki/XIAO-RP2350/img/RP2350-thumbnail.png slug: /getting-started-xiao-rp2350 keywords: - xiao @@ -10,27 +10,28 @@ keywords: sidebar_position: 0 author: Spencer last_update: - date: 2024-08-06T09:04:29.524Z + 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. - +

-

+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 @@ -112,25 +113,6 @@ The XIAO RP2350 packs the power of the Raspberry Pi RP2350 (dual Cortex-M33 core
reComputer r1000Raspberry Pi5 8GB Raspberry Pi AI Kit
-## Platform Supported - -
- - - - - - - - - -
C/C++ SDKMicroPython(On the way)
- MicroPython - - pir -
-
- ## Hardware Overview
@@ -139,70 +121,126 @@ The XIAO RP2350 packs the power of the Raspberry Pi RP2350 (dual Cortex-M33 core XIAO RP2350 Front Pinout -
+
XIAO RP2350 Front Pinout
XIAO RP2350 Back Pinout -
+
XIAO RP2350 Back Pinout
XIAO RP2350 Components -
+
XIAO RP2350 Components
-Need more detailed pins out list? check this file: 引脚表格 +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++ SDKMicroPython
+ c-cpp logo + + MicroPython +
+
+ +:::info -## Contents Map +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. -The XIAO RP2350 is one of the [XIAO series](/xiao_topic_page) members. This follow-along reading is organized as a `Contents Map` to guide you through a more dedicated and structured exploration. *This map is still growing, and contributions from the community are always welcome*. +::: -Explore these sections to help you get started with the XIAO RP2350 and make the most of its features and capabilities: +## Getting Started ▶️ -### Getting Started ▶️ +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. -In this page, we cover the basics of the XIAO RP2350's features, specifications, and potential applications in an easy-to-understand way. +:::tip about MicroPython -- **[Setting Up the Pico SDK](/xiao-rp2350-c-cpp-sdk)** - The Pico SDK is your starting point for developing projects on the XIAO RP2350. This section explains what the SDK is and provides step-by-step setup instructions. - +[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. -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +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. + +::: + + + + +
+ +
+ + +
+ +
+
-### 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. For those who want to blink with SDK programming and know how to set up the SDK development environment, check the page [Setting Up the Pico SDK](/xiao-rp2350-c-cpp-sdk). +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 -from machine import Pin -from time import sleep +```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) -led = Pin(25, Pin.OUT) # GPIO25 is for USER LED +# 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: - led.value(1) - sleep(0.5) - led.value(0) - sleep(0.5) + # 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. + + + + + + +
+
-#### Demonstration + - + ### Battery & Power Management @@ -291,11 +329,12 @@ int main() { 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]** [RP2350 datasheet](https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf) -- 📄 **[PDF]** [Seeed Studio XIAO RP2350 Schematic](https://files.seeedstudio.com/wiki/XIAO-RP2350/res/Seeed-Studio-XIAO-RP2040-v1.3.pdf) -- 🗂 **[DXF]** [Seeed Studio XIAO RP2350 Dimension in DXF](https://files.seeedstudio.com/wiki/XIAO-RP2350/res/XIAO-RP2040-DXF.zip) -- 📄 **[LBR]** [Seeed Studio XIAO RP2350 Eagle footprint](https://files.seeedstudio.com/wiki/XIAO-RP2350/res/Seeed-Studio-XIAO-RP2040-footprint-eagle.lbr) -- 📄 **[XLSX]** [Seeed Studio XIAO RP2350 pinout sheet](https://files.seeedstudio.com/wiki/XIAO-RP2350/res/XIAO-RP2040-pinout_sheet.xlsx) + +- 📄 **[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 From d1294f12575c5c8202d9f29d3f4a1417d56cf0d7 Mon Sep 17 00:00:00 2001 From: Spencer Yan Date: Thu, 8 Aug 2024 22:25:53 +0800 Subject: [PATCH 17/19] chore(XIAO S3): hide heat sink contents --- .../SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md index c6d0552a2d49..467781fb5050 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_ESP32S3/XIAO_ESP32S3_Getting_Started.md @@ -267,7 +267,7 @@ 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. ::: -#### Installing the Upgraded Heat Sink + ### Software Preparation From dd4c20728d46ffbc59401db0fb7a462c13c22de2 Mon Sep 17 00:00:00 2001 From: Spencer Yan Date: Thu, 8 Aug 2024 22:50:58 +0800 Subject: [PATCH 18/19] docs(XIAO RP2350): update slight structure and upload sdk/mpy draft page --- .gitignore | 4 +- .../XIAO-RP2350-with-MicroPython.md | 95 ++++++++++++++++++- .../XIAO-RP2350-with-SDK.md | 76 ++++++--------- .../SeeedStudio_XIAO_RP2350/XIAO-RP2350.md | 5 +- 4 files changed, 127 insertions(+), 53 deletions(-) diff --git a/.gitignore b/.gitignore index 0798a239e6cc..60dc347c328b 100644 --- a/.gitignore +++ b/.gitignore @@ -139,4 +139,6 @@ yarn.lock # plugin FrontMatter frontmatter.json -taxonomyDb.json \ No newline at end of file +taxonomyDb.json + +XIAO_ESP32C6_Swift_Matter.md \ No newline at end of file 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 index 8cd2a52c8455..d80907d40271 100644 --- 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 @@ -7,11 +7,98 @@ sidebar_position: 1 last_update: date: 2024-08-08T07:21:33.838Z author: Spencer -draft: true --- -https://raspberrytips.com/thonny-ide-raspberry-pi/ -### Resource +## 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) \ No newline at end of file +- [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 index cb7d086b00b3..64b6fbef1eee 100644 --- 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 @@ -7,29 +7,26 @@ sidebar_position: 2 last_update: date: 2024-08-06T09:04:18.916Z author: Spencer -draft: true --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## Introduction +## Introduction -The Pico SDK is an extensive software development kit specifically tailored for the Raspberry Pi RP-family microcontrollers, notably powering the XIAO RP2350 board. It encompasses a broad array of libraries and tools designed to support the creation of sophisticated applications. This SDK caters to both novice enthusiasts and seasoned professionals aiming to exploit the robust capabilities of the RP2350 microcontroller in diverse projects. +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. -The Pico SDK is your starting point for developing projects on the XIAO RP2350. This section explains what the SDK is and provides step-by-step setup instructions. +## Prerequisites -## Prerequisite 📃 +Before initiating SDK programming on the XIAO RP2350, the following equipment is required: -Prior to commencing the SDK Programming on XIAO RP2350, the following equipment are required: - -- A USB Type-C cable. -- The XIAO RP2350 board. -- A personal computer equipped with a Linux/Unix operating system. +- A USB Type-C cable +- The XIAO RP2350 board +- A personal computer equipped with a Linux/Unix operating system :::caution Attention -This documentation primarily addresses development under a Linux environment (Ubuntu 22.04). Windows users are directed to consult the following resource for compatible setup instructions: [Raspberry Pi Pico Setup on Windows](https://github.com/raspberrypi/pico-setup-windows). +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). ::: @@ -37,7 +34,7 @@ This documentation primarily addresses development under a Linux environment (Ub ### Step 1: Install System Dependencies -Execute the following commands on your Linux terminal to install the essential system dependencies: +Execute the following commands in your Linux terminal to install the essential system dependencies: ```bash sudo apt update @@ -46,49 +43,50 @@ sudo apt install cmake gcc g++ git ### Step 2: 🔨 Toolchain Installation {#install_gcc_arm} -To ensure that you can compile code for the RP2350, a specific toolchain is required. Below are two methods for installing the `gcc-arm-none-eabi` toolchain, which provides the necessary compilers and libraries for ARM architecture. +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 allows precise control over the installation environment. Follow these steps: +The manual installation process offers precise control over the installation environment by following these steps: 1. **Download the Toolchain**: -Access the [ARM Developer Downloads](https://developer.arm.com/downloads/-/gnu-rm) page and download the `.tar.bz2` file for the `gcc-arm-none-eabi` 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**: -Once the download is complete, open a terminal window and navigate to the directory where the file was saved. Execute the following command to 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 -``` + ```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. Input the following command in your terminal, substituting `{VERSION}` with the actual version number of the toolchain: + 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 -``` + ```shell + echo "export PATH=\$PATH:$(pwd)/gcc-arm-none-eabi-{VERSION}/bin" >> ~/.bashrc + ``` 4. **Apply Configuration Changes**: -To ensure that the PATH update takes effect immediately, source your `.bashrc` file by running: + To activate the PATH update immediately, source your `.bashrc` file: -```shell -source ~/.bashrc -``` + ```shell + source ~/.bashrc + ``` -Opt for a scripted installation to simplify and automate the setup process. Execute the following steps: +Opt for a scripted installation to streamline and automate the setup process with the following steps: 1. **Download and Execute the Script**: - Download the installation script using `curl` and set the necessary execution permissions: - + + 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 @@ -97,12 +95,12 @@ Opt for a scripted installation to simplify and automate the setup process. Exec
View Script Code -The script automates the downloading, extraction, and PATH configuration processes. Here's the script content: +The script automates the download, extraction, and PATH configuration processes, as outlined below: ```shell #!/bin/bash -# Automatically handle the download and installation of the gcc-arm-none-eabi toolchain +# 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 @@ -124,7 +122,7 @@ rm toolchain.tar.bz2 ### Step 3: ⛓️ SDK Installation {#install_sdk} -The Pico SDK is essential as it provides the libraries, examples, and documentation required to develop software for the RP2350. It abstracts much of the hardware complexity through easy-to-use APIs and is regularly updated to include support for new features and performance improvements. +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 @@ -239,17 +237,6 @@ int main() { } ``` -***Demostration*** - - - -## The way using VSCode (Windows) - -In windows, we could have our wsl() - -https://learn.microsoft.com/en-us/windows/wsl/ - - ## 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 -- 📄**[Blog]** [How to learn Pico-SDK programming?](https://example.com) - A comprehensive tutorial focused on RP2350 SDK. - 📽️**[Video]** [Intro to Raspberry Pi Pico and RP2040](https://www.youtube.com/watch?v=B5rQSoOmR5w) - A video tutorial. ## Tech Support & Product Discussion diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md index 4cc34310fc6d..b68515f589e1 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md @@ -161,13 +161,12 @@ The XIAO RP2350, powered by the RP2350, supports MicroPython and the C/C++ SDK p
-:::info +## 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. - ::: -## Getting Started ▶️ 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. From d1e74890b5050c3e892cb4dfc76847baa6fde189 Mon Sep 17 00:00:00 2001 From: Spencer Yan Date: Fri, 9 Aug 2024 09:29:12 +0800 Subject: [PATCH 19/19] chore(XIAO RP2350): update bazaar link --- .../SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md index b68515f589e1..d33d808ed01c 100644 --- a/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md +++ b/docs/Sensor/SeeedStudio_XIAO/SeeedStudio_XIAO_RP2350/XIAO-RP2350.md @@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';