diff --git a/docs/en/core/m5stickv.md b/docs/en/core/m5stickv.md new file mode 100644 index 00000000..57ecaf76 --- /dev/null +++ b/docs/en/core/m5stickv.md @@ -0,0 +1,176 @@ +# Core M5SticV {docsify-ignore-all} + + + + +*** + +:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      :octocat:**[Code](#Code)**      **[EasyLoader](#EasyLoader)**       🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)** + +## Description + +**M5Stick-V RISC-V AI Camera** + +### General Description +M5Stack recently launched the new AIOT(AI+IOT) Camera powered by Kendryte K210 -an edge computing system-on-chip(SoC) with dual-core 64bit RISC-V CPU and state-of-art neural network processor. +

+M5stick-V AI Camera features its integration with machine vision capabilities, featuring the unprocessed acceptability to AI Visioning with high energy efficiency and low cost. We co-oped with Sipeed providing the MicroPython environment makes programming onM5stick-V easier. +

+The module comes with the OmniVision OV7740 sensor, using the OmniPixel®3-HS technology, providing a best-in-class low light sensitivity, making it ideal for machine vision. In addition to an OV7740 sensor, M5stick-V features more hardware resources such as a speaker with built-in I2S Class-D DAC, MEMS Microphone, IPS screen, 6-axis IMU, 200mAh Li-po battery, and more. +

+More than the visioning, M5stick-V also features the embedded APU - Audio Processor. With its hardware beam-forming support and dual 512-point FFT units, the M5stick-V is also capable of a series of machine hearing works like voice wake-up to speech recognition. +

+### Features: +- Dual-Core 64-bit RISC-V RV64IMAFDC (RV64GC) CPU / 400Mhz(Normal) +- Dual Independent Double Precision FPU +- 8MiB 64bit width On-Chip SRAM +- Neural Network Processor(KPU) / 0.8Tops +- Field-Programmable IO Array (FPIOA) +- Dual hardware 512-point 16bit Complex FFT +- SPI, I2C, UART, I2S, RTC, PWM, Timer Support +- AES, SHA256 Accelerator +- Direct Memory Access Controller (DMAC) +- Micropython Support +- Firmware encryption support +- On-board Hardware resources: + - Flash: 16M. + - TFT: ST7789. 135*240 IPS 1.14 SPI + - Camera :OV7740 + - PCM: MAX98357 + - PMIC: AXP192 + - Button: Front and side. + - Battery: 200mAh. + - Indicator light: RGBW . + - External storage: TF card/Micro SD + - Microphone: MSM261S4030HOR. + - Gyro: MPU6886. + - Interface: CONNEXT . + + +### FUNCTIONAL DESCRIPTION +#### 1.1 KENDRYTE K210 +The Kendryte K210 is a system-on-chip (SoC) that integrates machine vision and machine hearing. Using TSMC’s ultra-low-power 28-nm advanced process with dualcore 64-bit processors for better power efficiency, stability and reliability. The SoC strives for ”zero threshold” development and to be deployable in the user’s products in the shortest possible time, giving the product artificial intelligence

+- Machine Vision +- Machine Hearing +- Better low power vision processing speed and accuracy +- KPU high performance Convolutional Neural Network (CNN) hardware accelerator +- Advanced TSMC 28nm process, temperature range -40°C to 125°C +- Firmware encryption support +- Unique programmable IO array maximises design flexibility +- Low voltage, reduced power consumption compared to other systems with the same processing power +- 3.3V/1.8V dual voltage IO support eliminates need for level shifters + +##### 1.1.1 CPU +The chip contains a high-performance, low power RISC-V ISA-based dual core 64-bit CPU with the following features: + +- Core Count: Dual-core processor +- Bit Width: 64-bit CPU 400MHz +- Frequency: 400MHz +- ISA extensions: IMAFDC +- FPU: Double Precision +- Platform Interrupts: PLIC +- Local Interrupts: CLINT +- I-Cache: 32KiB x 2 +- D-Cache: 32KiB x 2 +- On-Chip SRAM: 8MiB + + +#### 1.2 OV7740 +- support for output formats: RAW RGB and YUV +- support for image sizes: VGA, QVGA, CIF and any size smaller +- support for black sun cancellation +- support for internal and external frame synchronization +- standard SCCB serial interface +- digital video port (DVP) parallel output interface +- embedded one-time programmable (OTP) memory +- on-chip phase lock loop (PLL) +- embedded 1.5 V regulator for core +- Sophisticated Edge Rate Control Enables Filterless Class D Outputs +- 77dB PSRR at 1kHz +- Low RF Susceptibility Rejects TDMA Noise from GSM Radios +- Extensive Click-and-Pop Reduction Circuitry + +##### 1.2.1 SPECIFICATION +- array size: 656 x 488 +- power supply: – core: 1.5VDC ± 5% – analog: 3.3V ± 5% – I/O: 1.7 ~ 3.47V +- temperature range: – operating: -30° C to 70°C – stable image: 0° C to 50° C +- output format: – 8-/10-bit raw RGB data – 8-bit YUV +- lens size: 1/5" +- input clock frequency: 6 ~ 27 MHz +- max image transfer rate: VGA (640x480): 60 fps – QVGA (320 x 240): 120 fp +- sensitivity: 6800 mV/(Lux-sec) +- maximum exposure interval: 502 x tROW +- pixel size: 4.2 μm x 4.2 μm +- image area: 2755.2 μm x 2049.6 μm +- package/die dimensions: – CSP3: 4185 μm x 4345 μm – COB: 4200 μm x 4360 μm + + +#### 1.3 MAX98357 +- Single-Supply Operation (2.5V to 5.5V). +- 3.2W Output Power into 4Ω at 5V +- 2.4mA Quiescent Current +- 92% Efficiency (RL = 8Ω, POUT = 1W) +- 22.8µVRMS Output Noise (AV = 15dB) +- Low 0.013% THD+N at 1kHz +- No MCLK Required +- Sample Rates of 8kHz to 96kHz +- Supports Left, Right, or (Left/2 + Right/2) Output +- Sophisticated Edge Rate Control Enables Filterless Class D Outputs +- 77dB PSRR at 1kHz +- Low RF Susceptibility Rejects TDMA Noise from GSM Radios +- Extensive Click-and-Pop Reduction Circuitry + +#### 1.4 AXP192 +- Operation Voltage: 2.9V~6.3V (AMR:-0.3V~15V) +- Configurable Intelligent Power Select system +- Current and voltage limit of adaptive USB or AC adapter input +- The resistance of internal ideal diode lower than 100mΩ + +#### 1.5 MPU6886 + +##### 1.5.1 GYROSCOPE FEATURES +The triple-axis MEMS gyroscope in the MPU-6886 includes a wide range of features: +- Digital-output X-, Y-, and Z-axis angular rate sensors (gyroscopes) with a user-programmable full-scale range of ±250 dps, ±500 dps, ±1000 dps, and ±2000 dps and integrated 16-bit ADCs +- Digitally-programmable low-pass filter +- Low-power gyroscope operation +- Factory calibrated sensitivity scale factor +- lens size: 1/5" +- Self-test + +##### 1.5.2 ACCELEROMETER FEATURES +The triple-axis MEMS accelerometer in MPU-6886 includes a wide range of features: +- Digital-output X-, Y-, and Z-axis accelerometer with a programmable full scale range of ±2g, ±4g, ±8g and ±16g and integrated 16-bit ADCs +- User-programmable interrupts +- Wake-on-motion interrupt for low power operation of applications processor +- Self-test + +#### 1.6. ANOTHER HARDWARES +- Flash: 16M. +- TFT: ST7789. 135*240 IPS 1.14 SPI +- Button: Front and side. +- Battery: 200mAh. +- Indicator light: RGBW. +- External storage: TF card/Micro SD +- Microphone: MSM261S4030HOR. +- Gyro: MPU6886. +- Interface: CONNECT. + +## Applications/What can M5Stick-V do? +- Face recognition/detection +- Object detection/classification +- Obtaining size and coordinates of the target in real-time +- Obtaining the type of detected target in real-time +- Shape recognition +- Video/Audio Record/Display +- Game simulator + + +## Links + +- **Web page** - [sipeed](https://maixpy.sipeed.com/en/) +- **Quick Start Guide** - [sipeed](https://maixpy.sipeed.com/en/) + + + + + diff --git a/docs/en/hat/hat-adc.md b/docs/en/hat/hat-adc.md index 0007ab1f..f3146161 100644 --- a/docs/en/hat/hat-adc.md +++ b/docs/en/hat/hat-adc.md @@ -1,44 +1,118 @@ # Hat ADC {docsify-ignore-all} - + *** -:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-env-hat)**   **[EasyLoader](#EasyLoader)** +:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      :octocat:**[Code](#Code)**      **[EasyLoader](#EasyLoader)**       🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)** +## Description +ADC_HAT is another type of C-HAT specifically design for M5StickC controller. Same as ADC unit, this is an ADC converter component for stickc. Packed with an ADC converter chip ADS1100, which is a fully differential, 16-bit, self-calibrating, delta-sigma A/D converter. Extremely easy to design with and configure, the ADS1100 allows you to obtain precise measurements with a minimum of effort. +
+The ADS1100 consists of a delta-sigma A/D converter core with adjustable gain, a clock generator, and an I2C interface. +
+ADS1100 itself is able to accept a differential input from -5 ~ +5 V, but we have limited the input to 0~12V by adding on the peripheral circuit design of this IC. +


+ +### Product Features +- M5StickC Compatible +- Input: 0-12V +- Software Development Platform: Arduino, UIFlow(Blockly, Python) +- ADS1100 + - 16-bits Resolution + - CONTINUOUS SELF-CALIBRATION + - SINGLE-CYCLE CONVERSION + - PROGRAMMABLE GAIN AMPLIFIER GAIN = 1, 2, 4, OR 8 + - LOW NOISE: 4μVp-p + - PROGRAMMABLE DATA RATE: 8SPS to 128SPS + - INTERNAL SYSTEM CLOCK + - I2C INTERFACE: address 0x48 +## Include +- 1x ADC HAT +- 1x 2 Pin 3.96 Pitch Terminal +## Application - - - - +- Analog Signal Capture +## Links +- **Datasheet** - [ADS1100](http://www.ti.com/lit/ds/symlink/ads1100.pdf) + ## Schematic - - + ## EasyLoader - + >1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. +## Code -## Links +### 1. Arduino IDE -- **Datasheet** - [ADS1100](http://pdf1.alldatasheet.com/datasheet-pdf/view/619024/TI1/ADS1100.html) +*To get complete code, please click [here](https://github.com/m5stack/M5StickC/tree/master/examples/Hat/ADC).* + +```arduino +#include +#include +#include "ADS1100.h" + +ADS1100 ads; +#define REF_VOL 3.3 +#define ADC_BASE REF_VOL/32768 +void setup(void) +{ + M5.begin(true,true,false); + // The address can be changed making the option of connecting multiple devices + ads.getAddr_ADS1100(ADS1100_DEFAULT_ADDRESS); // 0x48, 1001 000 (ADDR = GND) + // The ADC gain (PGA), Device operating mode, Data rate + // can be changed via the following functions + ads.setGain(GAIN_ONE); // 1x gain(default) + ads.setMode(MODE_CONTIN); // Continuous conversion mode (default) + ads.setRate(RATE_8); // 8SPS (default) + ads.setOSMode(OSMODE_SINGLE); // Set to start a single-conversion + ads.begin(); +} +void loop() { +byte error; + int8_t address; + address = ads.ads_i2cAddress; + // The i2c_scanner uses the return value of + // the Write.endTransmisstion to see if + // a device did acknowledge to the address. + Wire.beginTransmission(address); + error = Wire.endTransmission(); + result = ads.Measure_Differential(); +} +``` + +### Pin Map + + + + +
M5StickCGPIO0GPIO265VGND
HAT ADCSDASCL5VGND
+ + +## Video +**Demo** + + diff --git a/docs/en/hat/hat-dac.md b/docs/en/hat/hat-dac.md index b27b3ca2..175b4511 100644 --- a/docs/en/hat/hat-dac.md +++ b/docs/en/hat/hat-dac.md @@ -1,28 +1,61 @@ # Hat DAC {docsify-ignore-all} - + *** -:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-env-hat)**   **[EasyLoader](#EasyLoader)** - - - - - - - - - - - - +:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      :octocat:**[Code](#Code)**      **[EasyLoader](#EasyLoader)**       🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)** + +## Description + +DAC_HAT is also a type of C-HAT specifically design for M5StickC controller. Same as DAC unit, this is a voltage output DAC converter for stickc. It can generate a voltage of 0~3.3V. +
+Packed with a DAC converter chip MCP4725, which is low-power, high accuracy, single-channel, 12-bit buffered voltage output Digital-to-Analog Converter (DAC) with a non-volatile memory (EEPROM). Its on-board precision output amplifier allows it to achieve rail-to-rail analog output swing. +
+The DAC input and configuration data can be programmed to the non-volatile memory (EEPROM) by the user using the I2C interface command. +I2C address: 0x60 + +


+ + + +## Product Features +- M5StickC Compatible +- Output: 0~3.3V +- Software Development Platform: Arduino, UIFlow(Blockly, Python) +- MCP4725 + - 12-BitResolution + - External A0 Address Pin + - NormalorPower-DownMode + - Fast Settling Time of 6 μs (typical) + - ExternalVoltageReference(VDD) + - Rail-to-RailOutput + - LowPowerConsumption + - Single-SupplyOperation:2.7V to 5.5V + - I2C Interface: address 0x60 + - ExtendedTemperatureRange:-40°Cto+125°C + +## Include + +- 1x DAC HAT +- 1x 2 Pin 3.96 Pitch Terminal + +## Application + +- SetPointorOffsetTrimming +- SensorCalibration +- Closed-LoopServoControl +- LowPowerPortableInstrumentation • PCPeripherals +- DataAcquisitionSystems +## Links +- **Datasheet** - [MCP4725](http://pdf1.alldatasheet.com/datasheet-pdf/view/233449/MICROCHIP/MCP4725.html) + ## Schematic - + @@ -30,14 +63,55 @@ - + >1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. +## Code + +### 1. Arduino IDE + +*To get complete code, please click [here](https://github.com/m5stack/M5StickC/blob/master/examples/Hat/DAC).* + +```arduino +#include +#include +#include "Adafruit_MCP4725.h" +#define DAC_ADDR +Adafruit_MCP4725 dac; + +void setup(void) { + M5.begin(true,true,false); + dac.begin(0x60); + dac.setVoltage(2048, false); + +} + +void loop(void) { + // 12bit value , false mean not write EEPROM + dac.setVoltage(1024, false); + dac.setVoltage(2048, false); +} + +``` + +### Pin Map + + + + +
M5StickCGPIO0GPIO265VGND
HAT ADCSDASCL5VGND
+ + +## Video +**Demo** + + + -## Links -- **Datasheet** - [MCP4725](http://pdf1.alldatasheet.com/datasheet-pdf/view/233449/MICROCHIP/MCP4725.html) \ No newline at end of file diff --git a/docs/en/hat/hat-proto.md b/docs/en/hat/hat-proto.md index c7a17a77..2a3a1fb3 100644 --- a/docs/en/hat/hat-proto.md +++ b/docs/en/hat/hat-proto.md @@ -9,7 +9,7 @@ ## Description -**PROTO_HAT** is a HAT size of universal prototyping board. You can have the total freedom to make your own project as you want it, with prototyping boards that allow laying out the customized circuit to interact with the M5 core GROVE Port.
+**PROTO_HAT** is a HAT size of universal prototyping board. You can have the total freedom to make your own project as you want it, with prototyping boards that allow laying out the customized circuit to interact with stickC port on top.
PINs on top of the device is ported out for building more connections.
@@ -29,7 +29,7 @@ For example, since m5stickc have less hardware resource than m5stack, we can mak ## Application -- Prototying +- Prototyping ## Schematic diff --git a/docs/en/hat/hat-rs485.md b/docs/en/hat/hat-rs485.md index 041927a5..1e7ee2de 100644 --- a/docs/en/hat/hat-rs485.md +++ b/docs/en/hat/hat-rs485.md @@ -1,31 +1,109 @@ # Hat RS485 {docsify-ignore-all} - + + *** -:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-env-hat)**   **[EasyLoader](#EasyLoader)** +:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      :octocat:**[Code](#Code)**      **[EasyLoader](#EasyLoader)**       🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)** +## Description + +**RS485-HAT** is a TTL to RS485 converter for M5StickC. Among M5stack products we have 5 items that include TTL to RS485, they are RS485 unit, RS485 HAT, PLC, LAN, BASE26 they have different input voltage, vary from 5V - 12V. +

+In this RS485-HAT, it consists of a 485 automatic transceiver circuit and a DC-DC buck circuit which can drop an input 12V to 5V. +

+RS485 is a standard defining the electrical characteristics of drivers and receivers for use in serial communications systems, widely used in the industrial field. multipoint systems are supported. +

+It is used to convert the TTL standard to the RS485 standard. If the outside serial device is RS485 standard, you can attach this hat on top of stickc, therefore, to implement the communication with RS485 device by TTL protocol. + +


+ + + +## Product Features + +- Built-in SP485EEN +- The built-in automatic transceiver circuit +- Built-in DC-DC buck circuit +- AOZ1282CI +- input DC 5~12 V +- BandRate up to 115200 +- Program Platform: Arduino, UIFlow(Blockly, Python) + +## Include + +- 1x RS485 HAT +- 1x 4 Pin 3.96 Pitch Terminal + +## Application + +- RS485 multipoint systems +- Serial communication in industrial field. +## Links +- **Datasheet** - [SP485EEN](https://pdf1.alldatasheet.com/datasheet-pdf/view/45954/SIPEX/SP485EEN.html) + ## Schematic - + ## EasyLoader - + >1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. +## Code + +### 1. Arduino IDE + +*To get complete code, please click [here](https://github.com/m5stack/M5StickC/tree/master/examples/Hat/RS485).* + +```arduino +#include + +/* This demo is for RS485 Hat uart write and read , +AutoSend Hello M5! AutoReceive and diaplay on screen */ + +void setup() { + + M5.begin(true,true,true); + Serial.begin(115200); + // Serial2.begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t txPin, bool invert) + Serial2.begin(115200, SERIAL_8N1, 26, 0); + + Serial.println("RS485"); + +} +void loop() { + Serial2.print("Hello M5!"); + + if(Serial2.available()) { + char ch = Serial2.read(); + M5.Lcd.setTextSize(2); + } +} +``` + +### Pin Map + + + + +
M5StickCGPIO0GPIO265VGND
HAT ADCTXRX5VGND
-## Links +## Video +**Demo** -- **Datasheet** - [SP485EEN](https://pdf1.alldatasheet.com/datasheet-pdf/view/45954/SIPEX/SP485EEN.html) \ No newline at end of file + diff --git a/docs/en/unit/laser-rx.md b/docs/en/unit/laser-rx.md index fc350b84..9c599229 100644 --- a/docs/en/unit/laser-rx.md +++ b/docs/en/unit/laser-rx.md @@ -1,17 +1,124 @@ +# Unit LASER.RX {docsify-ignore-all} + + + + +*** + +:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      :octocat:**[Code](#Code)**      **[EasyLoader](#EasyLoader)**       🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)** + +## Description + +This is one of the communication devices among M5Units, a non-modulation Laser receiver. It is mainly built with a laser transistor. +

+Laser communications devices are wireless connections through the atmosphere. They work similarly to fiber-optic links, except the beam is transmitted through free space. While the transmitter and receiver must require line-of-sight conditions, they have the benefit of eliminating the need for broadcast rights and buried cables. Laser communications systems can be easily deployed since they are inexpensive, small, low power and do not require any radio interference studies. +Two parallel beams are needed, one for transmission and one for reception. Therefore we have a LASER.TX parallelly. +

+Port type of this unit is PORTB. + +


+ + + +## Product Features + +- Laser receiver +- non-modulation +- Work voltage: 5V +- Pair with LASER.TX +- Response Frequency: 140KHz ~205KHz +- Two Lego-compatible holes +- Program Platform: Arduino, UIFlow(Blockly, Python) +## Include + +- 1x LASER.RX unit +- 1x GROVE cable + +## Application + +- Laser communication system on space. - - - - - - - - +## Links ## Schematic - \ No newline at end of file + + +## EasyLoader + + + + + +>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. + +>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. + +## Code + +### 1. Arduino IDE + +*To get complete code, please click [here](https://github.com/m5stack/M5Stack/tree/master/examples/Unit/LASER).* + +```arduino +/* This demo is for LASER.TX and LASER.RX, utilized UART for transmittion and reception of + laser signals. In order to get the result of this demo, you will need to connect LASER.TX + and LASER.RX with PORTC(blue) respectively onto two different M5Cores with M5GO bases on + bottom. Then flash the demo into both M5Core device. + When testing the demo, you need to point the TX unit to RX, and press the button TX connected + device. RX connected device will reponse with a display,and will show what is received . + See this link for more detals: https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/Unit/LASER/EasyLoader_LASER_RX.exe + */ + +#include + +char ch; +// serial 2 write and read +//#define RX +void setup() { + M5.begin(); + Serial.begin(115200); + // Serial2.begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t txPin, bool invert) + Serial2.begin(9600, SERIAL_8N1, 16, 17); + +} + +void loop() { +M5.update(); + + if (M5.BtnA.wasReleased()) { + ch = 'A'; + Serial2.write(ch); + } else if (M5.BtnB.wasReleased()) { + ch = 'B'; + Serial2.write(ch); + } else if (M5.BtnC.wasReleased()) { + ch = 'C'; + Serial2.write(ch); + } + M5.update(); + if(Serial2.available()) { + char ch = Serial2.read(); + M5.Lcd.print(ch); + } +} +``` + +### Pin Map + + + + +
M5 PORTBGPIO36GPIO265VGND
LASER_RXRX/5VGND
+ + +## Video +**Demo** + + diff --git a/docs/en/unit/laser-tx.md b/docs/en/unit/laser-tx.md index f80ff548..3930c9eb 100644 --- a/docs/en/unit/laser-tx.md +++ b/docs/en/unit/laser-tx.md @@ -1,25 +1,143 @@ +# Unit LASER.TX {docsify-ignore-all} + + + + +*** + +:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      :octocat:**[Code](#Code)**      **[EasyLoader](#EasyLoader)**       🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)** + +## Description + +This is one of the communication devices among M5Units, a Laser emitter with adjustable focal length. It is mainly built with a laser diode +

+Laser communications devices are wireless connections through the atmosphere. They work similarly to fiber-optic links, except the beam is transmitted through free space. While the transmitter and receiver must require line-of-sight conditions, they have the benefit of eliminating the need for broadcast rights and buried cables. Laser communications systems can be easily deployed since they are inexpensive, small, low power and do not require any radio interference studies. +Two parallel beams are needed, one for transmission and one for reception. Therefore we have a LASER.RX parallelly. +

+Port type of this unit is PORTB. + +


+ + + +## Product Features + +- Laser transmitter +- adjustable focal length +- Work voltage: 5V +- Pair with LASER.RX +- Two Lego-compatible holes +- Program Platform: Arduino, UIFlow(Blockly, Python) +## Include + +- 1x LASER.TX unit +- 1x GROVE cable + +## Application + +- Laser communication system on space. - - - - - - - - - - - - - - - - +## Links ## Schematic - \ No newline at end of file + + +## EasyLoader + + + + + +>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. + +>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. + +## Code + +### 1. Arduino IDE + +*To get complete code, please click [here](https://github.com/m5stack/M5Stack/tree/master/examples/Unit/LASER).* + +```arduino +/* This demo is for LASER.TX and LASER.RX, utilized UART for transmittion and reception of + laser signals. In order to get the result of this demo, you will need to connect LASER.TX + and LASER.RX with PORTC(blue) respectively onto two different M5Cores with M5GO bases on + bottom. Then flash the demo into both M5Core device. + When testing the demo, you need to point the TX unit to RX, and press the button TX connected + device. RX connected device will reponse with a display,and will show what is received . + See this link for more detals: https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/Unit/LASER/EasyLoader_LASER_RX.exe + */ + +#include + +char ch; +// serial 2 write and read +//#define RX +void setup() { + M5.begin(); + Serial.begin(115200); + // Serial2.begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t txPin, bool invert) + Serial2.begin(9600, SERIAL_8N1, 16, 17); + +} + +void loop() { +M5.update(); + + if (M5.BtnA.wasReleased()) { + ch = 'A'; + Serial2.write(ch); + } else if (M5.BtnB.wasReleased()) { + ch = 'B'; + Serial2.write(ch); + } else if (M5.BtnC.wasReleased()) { + ch = 'C'; + Serial2.write(ch); + } + M5.update(); + if(Serial2.available()) { + char ch = Serial2.read(); + M5.Lcd.print(ch); + } +} +``` + +### Pin Map + + + + +
M5 PORTBGPIO36GPIO265VGND
LASER_TX/TX5VGND
+ + +## Video +**Demo** + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/en/unit/mini-proto.md b/docs/en/unit/mini-proto.md index a9a289b9..18681cf5 100644 --- a/docs/en/unit/mini-proto.md +++ b/docs/en/unit/mini-proto.md @@ -1,27 +1,58 @@ +# Unit MINI.PROTO {docsify-ignore-all} + + +*** + +:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      :octocat:**[Code](#Code)**      **[EasyLoader](#EasyLoader)**       🛒**[Purchase](https://m5stack.com/collections/m5-unit/products/m5stickc-adc-hat)** + +## Description + +**MINI_PROTO** is an M5Unit size of universal prototyping board. Smaller than the PROTO unit, the size is exactly the same as the regular M5unit. You can have the total freedom to make your own project as you want it, with prototyping boards that allow laying out the customized circuit to interact with the M5 core CONNEXT Port A, B or C. +

+For different CONNEXT ports, you will be able to interact with different pins that ported out from ESP32. +
+- PORTA: GPIO 21, 22 +- PORTB: GPIO 36, 26 +- PORTC: GPIO 16, 17 + +


+ + + +## Product Features + +- Hole Size: 0.039" 1mm (CNC Drilled) +- Hole Pitch: 0.1 in - (2.54 mm) +- Entire Hole Quantity: 40 Holes +- Two Lego-compatible holes +## Include + +- 1x MINI PROTO unit +- 1x GROVE cable + +## Application + +- Prototyping - - - - - - - - - - - - - - - - - - - +## Links ## Schematic - \ No newline at end of file + + + +### Pin Map + + + + + + +
M5 PORTAGPIO22GPIO215VGND
M5 PORTBGPIO36GPIO265VGND
M5 PORTCGPIO16GPIO175VGND
MINI.PROTOP1-1P1-25VGND
+ + + + diff --git a/docs/en/unit/rs485.md b/docs/en/unit/rs485.md index d5438445..f0033450 100644 --- a/docs/en/unit/rs485.md +++ b/docs/en/unit/rs485.md @@ -12,7 +12,7 @@ RS485 is a standard defining the electrical characteristics of drivers and receivers for use in serial communications systems, widely used in industrial field. multipoint systems are supported. -used for converting TTL level to RS485 level. If the device to be controlled only can communicate with other device through RS485, you can connect this device with M5Core through this unit. In this case, you could easily control a RS485 device with [UIFlow](http://flow.m5stack.com). +It is used to convert the TTL standard to the RS485 standard. If the outside serial device is RS485 standard, you can attach this unit onto M5stack, therefore, to implement the communication with RS485 device by TTL protocol. ## Product Features diff --git a/docs/index.md b/docs/index.md index c5c31258..38655cfc 100644 --- a/docs/index.md +++ b/docs/index.md @@ -42,6 +42,7 @@ ## M5Stick ## M5StickC +## M5StickV M5Stick QuickStart     M5StickC QuickStart     @@ -63,12 +64,12 @@

M5StickC

- + ## M5GO Lite ## M5GO Kit @@ -718,12 +719,12 @@

PROTO

- + - + **Visual class**