Compared with ordinary IoT development boards, M5Stack CoreS3 is closer to the final state of a mature application product, which can effectively help developers shorten the early hardware design stage and allow more attention to be focused on functional creativity.
The internal main control core of CoreS3 uses ESP32-S3, which also integrates Wi-Fi, Bluetooth USB-OTG and many other peripherals. It also has a large memory combination of 16MB Flash + 8MB PSRAM onboard. This kind of memory combination allows developers a greater degree of comfort when doing some user interface drawing or audio data processing and no longer have to worry about limited memory resources.
In order to support human-computer interaction, a 2-inch IPS capacitive touch screen is embedded on the front of M5CoreS3 for information display and input interaction. It also integrates a two-channel microphone input and a high-fidelity speaker power amplifier. In addition to recording and playback, you can also connect the voice assistant to Home Assistant to achieve smart home linkage.
A six-axis attitude sensor is also embedded, which can unlock more conversation modes.
A 30-megapixel camera and proximity sensor are integrated at the bottom of the screen, and you can use it to implement facial recognition, gesture recognition and other applications.
CoreS3 has a built-in independent RTC clock. In addition to accurate timing during power outage, it can achieve low power consumption and scheduled wake-up.
The TypeC interface on the side is not only used for downloading programming, but also supports USB function development. Devices can be simulated as USB hosts or peripherals, such as keyboards, MIDI devices, storage devices, and even USB network cards. Most device types have ready-made sample programs on the official Github, which can save a lot of development time.
The whole device is also very flexible in terms of power management. It supports external 9-24VDC power supply or 5V Type-C power supply. This device has a built-in 500 mAh lithium battery and provides an independent power switch. In some special scenarios, developers can also use this switch to completely turn off the power supply of the device to reduce unnecessary power consumption.
In terms of function expansion, CoreS3 provides 3 sets of Grove interfaces for external expansion devices. Different interface colors define different function mappings.
The red one is the I2C communication protocol. Many sensors related to data acquisition may use this interface. It allows you to mount multiple I2C devices with different addresses to the same interface at the same time, which can effectively save IO resources.
The blue one is the UART interface. Some modules involving C3 (command communication control), such as NBIoT modules and LoRa WAN modules, will use this interface. At the same time, you can also connect an external RS485 or RS232 module for level conversion, allowing you to adapt to different types of external devices.
The black one is GPIO input and output, which can be used for input and output of digital signals or analog signals to implement functions such as relay control, lighting control, key input, and ADC signal input acquisition.
In addition, the 2x15 pin header at the bottom of the main control exports some IO. It can be used with the M5Stack module series to expand functions through stacking. Just like stacking building blocks, you only need to stack modules with different functions layer by layer to complete the construction of application hardware.
In terms of install structure, the base of M5CoreS3 was designed taking into account the usage scenarios of different users and provides many options for fixing. It can be fixed into place with screw holes, hanging ears, slide rails, or LEGO structural parts, which is very convenient to install in various scenarios.
Let’s first introduce the software development environment. CoreS3 supports a variety of development methods, including UIFlow, the graphical development platform officially developed by M5Stack. You can also use the Arduino IDE familiar to makers and the officially launched ESP-IDF. You can choose according to the complexity of the specific application you’re working on, and there will always be something suitable for you.
The following demonstration will take the Arduino IDE development method as an example to realize temperature and humidity node acquisition, and how to realize data reading and display. The hardware used is CoreS3 (K128) and Unit-ENV (U001-D) temperature and humidity sensors.
First, browse the Arduino official website to download and install the Arduino IDE. After opening the IDE, enter the first option setting and add the M5Stack development board management URL: https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json
Search M5Stack in Board Manager and then install it.
Install M5CoreS3 library in Library Manager
Install the M5Unit-ENV sensor library and its related dependent libraries.
Switch the development board option to M5CoreS3 in the Tools menu
Next is the code running. Import the CoreS3 header file and M5Unit-ENV header file, call the CoreS3 begin function, initialize the entire device, and then adjust the displayed font and size.
Initialize the temperature and humidity sensor,
Obtain temperature, humidity and air pressure value updates in the main loop and display them on the screen.
The next step is to compile and upload the program. First, connect the CoreS3 to the computer via a USB cable, long press the reset button of the device, and wait until the green light turns on to indicate that it has entered download mode. At this time, select the corresponding port in the IDE, click the upload button in the upper left corner, and wait for the program to be compiled and uploaded. After completing the upload, reset the device again. You can see that the device has read the current temperature and humidity data.
CoreS3 is not just a hardware product, it is also a novel application development platform. Unlike the general development process from PCB drawing to testing and software development, CoreS3 can provide a complete and comprehensive one-stop solution. This kind of innovation can help your ideas quickly transform into mature product form.
Related Products