Seeed Technology (Seeed Studio)
Seeed Technology
Seeed Technology, commonly known as Seeed Studio, is an open-source "hardware provider focused on emerging technologies like edge AI, robotics, smart sensor system and etc. for technologists worldwide". Seeed Tech. has the vision to become the world's most trusted hardware incubation platform, empowering every innovator to deliver digital transformation. The company's clear mission is to make elite hardware accessible to the common individual. The Seeed Studio Wiki says that the company's core values are openness, agility, responsibility, and simbiosis.
The Seeed Studio Wiki has an extensive index of tutorials concerning how to use, deign with, and operate their products. The company makes hardware (chips), software, and divulges into artificial intelligence with deep neural networks.
Products
Seeed Studio has an extensive index of hardware and software up for affordable purchase, and all of their hardware is open-source. A popular MCU (Microcontroller) Seeed offers is the XIAO MG24 Sense[1]. The company's work in software is almost exclusively artificial intelligence and deep neural networks.
Seeed Studio XIAO MG24 Sense MCU
This MCU has many functions such as built in ML capabilities, a true random-number generator, working antenna, Arduino IDE compatibility, and an Onboard 6-Axis IMU. The MCU also features an onboard microphone. The link to it's wiki page can be found here.
| XIAO Pin | Function | Chip Pin | Alternate Functions | Description |
|---|---|---|---|---|
| 5V | VBUS | Power Input/Output | ||
| GND | ||||
| 3V3 | 3V3_OUT | Power Output | ||
| D0 | Analog | PC00 | GPIO, ADC | |
| D1 | Analog | PC01 | GPIO, ADC | |
| D2 | Analog | PC02 | GPIO, ADC | |
| D3 | Analog | PC03 | GPIO, SPI, ADC | |
| D4 | Analog,SDA | PC04 | GPIO, I2C Data, ADC | |
| D5 | Analog,SCL | PC05 | GPIO, I2C Clock, ADC | |
| D6 | Analog,TX0 | PC06 | GPIO, UART Transmit, ADC | |
| D7 | Analog,RX0 | PC07 | GPIO, UART Receive, ADC | |
| D8 | Analog,SCK0 | PA03 | GPIO, SPI Clock, ADC | |
| D9 | Analog,MISO0 | PA04 | GPIO, SPI Data, ADC | |
| D10 | Analog,MOSI0 | PA05 | GPIO, SPI Data, ADC | |
| D11 | Analog | PA09 | SAMD11_TX | GPIO, UART Receive, ADC |
| D12 | Analog | PA08 | SAMD11_RX | GPIO, UART Transmit, ADC |
| D13 | Analog | PB02 | GPIO, I2C Clock, ADC | |
| D14 | Analog | PB03 | GPIO, I2C Data, ADC | |
| D15 | Analog,MOSI1 | PB00 | GPIO, SPI Data, ADC | |
| D16 | Analog,MISO1 | PB01 | GPIO, SPI Data, ADC | |
| D17 | Analog,SCK1 | PA00 | GPIO, SPI Clock, ADC | |
| D18 | Analog,CS | PD02 | Csn | GPIO, Csn, ADC |
| ADC_BAT | PD04 | Read the BAT voltage value | ||
| RF Switch Port Select | PB04 | Switch onboard antenna and the UFL antenna | ||
| RF Switch Power | PB05 | RF Power | ||
| Reset | RESET | RESET | ||
| CHARGE_LED | VBUS | CHG-LED_Red | ||
| USER_LED | PA07 | User Light_Yellow |
Programming The XIAO MG24 Sense
The XIAO MG24 Sense utilizes the Arduino IDE to program which can be written in C or C++ due to Arduino IDE's configuration. The board must be plugged into a computer via a USB-C cable in order to code. Arduino IDE happens to use the Gcc compiler, so programing in C or C++ is a matter of choice. The chip operates on basic setup() and loop() functions, so there is very little robust programming that can be done on it (considering its 256kB RAM).
void setup(){
//The code to prepare the MCU goes here
}
void loop(){
//The program tha loops forever until you unplug the MCU goes here
}
There is no visible main() function because that is hidden from the programmer and injected in preprocessing before compilation time. Due to the lack of flash memory and complete control of the program, there are a few constraints to programming the MCU. The IDE also lacks a terminal apparatus, but there is a Serial monitor and a visual Serial charter. The XIAO MG24 Sense uses UART to communicate with the computer and Serial monitor, but the serial port must be opened.
void setup(){
Serial.begin(9600);//Opens the port correctly
while (!Serial) { ; }//Ensures the program does not continue without the port open
Serial.println("Serial Port Open");//Confirms with user the port is open
}
void loop(){
}
The serial monitor does not always work with this specific MCU, but usually it does.
Controlling The I/O Pins
The GPIO pins can be controlled easily. The pin must be specified and its purpose in the setup() function, then it can be manipulated in the loop() function. Often engineers use a bread board and test MCUs, but incorrect usage can lead to terminal behaviors. Motors, LEDs, light bulbs, or IR Emitters directly connected to a MCU's I/O pins draws orders of magnitude of current and often require more voltage than the MCU can provide.
When connecting an LED to an MCU I/O pin, placing a resistor between the pin and the LED or between the LED and GND will prevent the LED from drawing too much current. Calculate the exact resistance needed to prevent terminal behaviors:
V being the total Voltage across a component, therefore V is the final voltage minus the initial:
Motors always must be connected to MCUs through some form of voltage regulator such as a MOSFET, lest they take too much voltage or draw too much current.
const int LED_PIN = 2;//Defines the pin
void steup(){
pinMode(LED_PIN, OUTPUT);//Specify exactly the function of the pin
}
void loop(){
digitalWrite(LED_PIN, HIGH);//Turn the pin on
delay(1000);//Wait 1 second
digitalWrite(LED_PIN, LOW);//Turn the pin off
delay(1000);//Wait 1 second
}
Digital pins can receive input as well:
const int BUTTON = 13;//Define the pin
const int LED = 2;
void setup(){
pinMode(BUTTON, INPUT);//Configure it to receive input
pinMode(LED, OUTPUT);
}
void loop(){
int pressed = digitalRead(BUTTON);//Reads the state of the button
if (pressed == HIGH){
digitalWrite(LED, HIGH);//When the button is being pressed, the LED turns on
}
else if (pressed == LOW){
digitalWrite(LED, LOW);//When it isn't the LED turns off
}
}
References
- ↑ "Seeed Studio XIAO MG24 Sense". www.seeedstudio.com. Retrieved 2026-08-01.
This article "Seeed Technology (Seeed Studio)" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Seeed Technology (Seeed Studio). Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
