Skip to content

Commit ae44fbf

Browse files
authored
Merge pull request #1 from m5stack/master
pr from ss
2 parents 61c127a + 6f78c4e commit ae44fbf

File tree

108 files changed

+11745
-3324
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+11745
-3324
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,5 @@ Temporary Items
4848

4949
examples/Advanced/Proof
5050
docs/datesheet
51+
52+
.vscode/*

CMakeLists.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
set(COMPONENT_SRCDIRS "src" "src/utility" "src/Fonts")
2+
set(COMPONENT_ADD_INCLUDEDIRS "src")
3+
list(APPEND COMPONENT_REQUIRES "arduino")
4+
5+
register_component()
6+
7+
8+
set(DEFINITIONS "ESP32")
9+
10+
if (CONFIG_M5STACK_BASIC OR CONFIG_M5STACK_GRAY OR CONFIG_M5STACK_FIRE)
11+
list(APPEND DEFINITIONS "M5STACK")
12+
endif (CONFIG_M5STACK_BASIC OR CONFIG_M5STACK_GRAY OR CONFIG_M5STACK_FIRE)
13+
14+
if(CONFIG_M5STACK_FIRE)
15+
list(APPEND DEFINITIONS "M5STACK_FIRE")
16+
endif(CONFIG_M5STACK_FIRE)
17+
18+
target_compile_definitions(${COMPONENT_TARGET} PUBLIC ${DEFINITIONS})
19+

Kconfig

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
menu "M5Stack"
2+
3+
choice CORE_TYPE
4+
prompt "Type of Core"
5+
default M5STACK_BASIC
6+
help
7+
Type of Core.
8+
9+
config M5STICK
10+
bool "M5Stick"
11+
config M5STACK_BASIC
12+
bool "M5Stack Basic"
13+
config M5STACK_GRAY
14+
bool "M5Stack Gray"
15+
config M5STACK_FIRE
16+
bool "M5Stack Fire"
17+
endchoice
18+
19+
endmenu
20+

README.md

Lines changed: 134 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -1,120 +1,140 @@
11
# M5Stack Library
22

3-
English | [中文](docs/getting_started_cn.md)
4-
## Usage
5-
### Installing the USB Driver
6-
- [Download the SiLabs CP2104 Driver](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers) but
7-
do NOT use the Windows 10 Universal (v10.1.1) driver! If you happen to download the Universal version, you may need to manually revert to 6.7.1
8-
on a regular basis as Windows will repeatedly use the newer, incorrect driver after each Windows update.
9-
10-
(Note: If you cannot upload, please try the legacy v4 driver below. You will need to uninstall the v5 driver. And try to use a lower baudrate: 115200)
11-
- [Download the Silabs CP210X v10 Driver Universal binary for win 10 in case of rebooting problems while flashing procedure](https://www.silabs.com/documents/public/software/CP210x_Universal_Windows_Driver.zip)
12-
No need of reinstalling any drivers if were installed before, they should be updated "on the fly".
13-
14-
### Installing the ESP32 Arduino Core
15-
- Using Arduino IDE
16-
+ [Instructions for Windows](docs/arduino-ide/windows.md)
17-
+ [Instructions for Mac](docs/arduino-ide/mac.md)
18-
+ [Instructions for Debian/Ubuntu Linux](docs/arduino-ide/debian_ubuntu.md)
19-
+ [Instructions for Fedora](docs/arduino-ide/fedora.md)
20-
+ [Instructions for openSUSE](docs/arduino-ide/opensuse.md)
21-
- [Using PlatformIO](docs/platformio.md)
22-
- [Building with make](docs/make.md)
23-
- [Using as ESP-IDF component](docs/esp-idf_component.md)
24-
25-
### Download Library
26-
27-
#### Using the Arduino IDE Library Manager
28-
29-
1. Choose ```Sketch``` -> ```Include Library``` -> ```Manage Libraries...```
30-
2. Type ```m5stack``` into the search box.
31-
3. Click the row to select the library.
32-
4. Click the ```Install``` button to install the library.
33-
5. Click "File-> Examples". Here are some test programs in "M5Stack->"
34-
35-
#### Using Git (most environments)
36-
```sh
37-
cd ~/Documents/Arduino/libraries/
38-
git clone https://github.com/m5stack/M5Stack.git
39-
```
40-
41-
#### Using Git (Windows)
42-
```sh
43-
c:
44-
cd %USERPROFILE%\documents\libraries
45-
git clone https://github.com/m5stack/M5Stack.git
46-
```
47-
48-
## API
49-
See [API](https://github.com/m5stack/M5Stack/blob/master/src/M5Stack.h#L19).
50-
51-
## Examples
52-
See [examples](examples) folder.
53-
54-
## Hardware
55-
[Schematic](https://github.com/m5stack/M5-hardware/blob/master/M5_Core_SCH(20171206).pdf).
56-
57-
### Pinout
58-
Peripheral Devices | ESP32
59-
---|---
60-
ILI9341 RST | GPIO33
61-
ILI9341 DC | GPIO27
62-
ILI9341 CS | GPIO14
63-
ILI9341 MOSI | GPIO23
64-
ILI9341 CLK | GPIO18
65-
ILI9341 LIGHT | GPIO32
66-
TFCARD MOSI | GPIO23
67-
TFCARD MISO | GPIO19
68-
TFCARD CLK | GPIO18
69-
TFCARD CS | GPIO4
70-
BUTTON A | GPIO39
71-
BUTTON B | GPIO38
72-
BUTTON C | GPIO37
73-
SPEAKER | GPIO25
74-
MPU9250 SDA | GPIO21
75-
MPU9250 SCL | GPIO22
76-
GROVE SDA | GPIO21
77-
GROVE SCL | GPIO22
78-
79-
### LoRa module
80-
Peripheral Devices | ESP32 | RA-02 | Note
81-
---|---|---|---
82-
MOSI | GPIO23 | MOSI | shared with TFCARD
83-
MISO | GPIO19 | MISO | shared with TFCARD
84-
SCK | GPIO18 | SCK | shared with TFCARD
85-
RFM95_CS | GPIO5 | NSS | pull up before M5.Begin()
86-
RFM95_RST | GPIO36 | RST | incorrectly labeled GPIO26 in some places
87-
RFM95_INT | GPIO26 | DIO0 | incorrectly labeled GPIO36 in some places
3+
English | [中文](docs/getting_started_cn.md) | [日本語](docs/getting_started_ja.md)
4+
5+
Welcome to program with M5Stack Core
6+
7+
## 1. Get Started
8+
9+
#### Here is the article to get started
10+
11+
*1.For MacOS*
12+
13+
https://docs.m5stack.com/#/en/quick_start/m5core/m5stack_core_get_started_Arduino_MacOS
14+
15+
*2. For Windows*
16+
17+
https://docs.m5stack.com/#/en/quick_start/m5core/m5stack_core_get_started_Arduino_Windows
18+
19+
20+
## 2. Example
21+
22+
https://github.com/m5stack/M5Stack/tree/master/examples
23+
24+
## 3. API Reference
25+
26+
https://github.com/m5stack/M5Stack/blob/master/src/M5Stack.h#L19
27+
28+
https://docs.m5stack.com/#/en/api
29+
30+
## 4. H/W Reference
31+
32+
#### Pinout
33+
34+
*We have several kinds of M5Cores, There is [their difference in schematic](https://github.com/m5stack/M5-Schematic/blob/master/Core/hardware_difference_between_cores.md).*
35+
36+
**LCD & TF Card**
37+
38+
*LCD Resolution: 320x240*
39+
40+
<table>
41+
<tr><td>ESP32 Chip</td><td>GPIO23</td><td>GPIO19</td><td>GPIO18</td><td>GPIO14</td><td>GPIO27</td><td>GPIO33</td><td>GPIO32</td><td>GPIO4</td></tr>
42+
<tr><td>ILI9341</td><td>/</td><td>MISO</td><td>CLK</td><td>CS</td><td>DC</td><td>RST</td><td>BL</td><td> </td></tr>
43+
<tr><td>TF Card</td><td>MOSI</td><td>MISO</td><td>CLK</td><td> </td><td> </td><td> </td><td> </td><td>CS</td></tr>
44+
45+
</table>
46+
47+
**Button & Speaker**
48+
49+
<table>
50+
<tr><td>ESP32 Chip</td><td>GPIO39</td><td>GPIO38</td><td>GPIO37</td><td>GPIO25</td></tr>
51+
<tr><td>Button Pin</td><td>BUTTON A</td><td>BUTTON B</td><td>BUTTON C</td></tr>
52+
<tr><td>Speaker</td><td> </td><td> </td><td> </td><td>Speaker Pin</td></tr>
53+
</table>
54+
55+
**GROVE A**
56+
57+
<table>
58+
<tr><td>ESP32 Chip</td><td>GPIO22</td><td>GPIO21</td></tr>
59+
<tr><td>GROVE A</td><td>SCL</td><td>SDA</td></tr>
60+
</table>
61+
8862

8963
### M-BUS
9064
![image](docs/M-BUS.jpg)
9165

92-
### Awesome
93-
- [M5Stack-SD-Updater](https://github.com/tobozo/M5Stack-SD-Updater) - Customizable menu system for M5Stack - loads apps from the Micro SD card
94-
- [TFT_eSPI](https://github.com/Bodmer/TFT_eSPI) - TFT library for the ESP8266 and ESP32 that supports different driver chips
95-
- [M5Widgets](https://github.com/Kongduino/M5Widgets) - Widgets for the M5Stack
96-
- [M5StackSAM](https://github.com/tomsuch/M5StackSAM) - Simple Applications Menu Arduino Library for M5Stack
97-
- [cfGUI](https://github.com/JF002/cfGUI) - A simple GUI library for M5Stack (ESP32)
98-
- [GUIslice](https://github.com/ImpulseAdventure/GUIslice) - A lightweight GUI framework suitable for embedded displays
99-
- [M5ez](https://github.com/ropg/M5ez) - The easy way to program on the M5Stack
100-
- [M5Stack MultiApp Advanced](https://github.com/botofancalin/M5Stack-MultiApp-Advanced) - A M5Stack firmware made on PlatformIO
101-
- [M5Stack ESP32 Oscilloscope](https://github.com/botofancalin/M5Stack-ESP32-Oscilloscope) - A fully functional oscilloscope based on ESP32 M5Stack
102-
- [M5Stack-Avatar](https://github.com/meganetaaan/m5stack-avatar) - An M5Stack library for rendering avatar faces
103-
- [M5Stack_CrackScreen](https://github.com/nomolk/M5Stack_CrackScreen) - Crack your M5Stack!!
104-
- [M5_Shuttle_Run](https://github.com/n0bisuke/M5_Shuttle_Run) - M5_Shuttle_Run
105-
- [nixietubeM5](https://github.com/drayde/nixietubeM5) - (Fake) Nixie Tube Display on a M5Stack
106-
- [M5Stack_BTCTicker](https://github.com/dankelley2/M5Stack_BTCTicker) - A small Bitcoin price ticker using an M5Stack (ESP32) and the Coindesk API
107-
- [M5Stack_ETHPrice](https://github.com/donma/M5StackWifiSettingWithETHPrice) - Dependence on example Wifi Setting to get ETH Price from Maicoin
108-
- [M5Stack-PacketMonitor](https://github.com/tobozo/M5Stack-PacketMonitor) - M5Stack ESP32 Packet Monitor
109-
- [M5-FFT](https://github.com/ElectroMagus/M5-FFT) - Graphic Equalizer on the M5Stack platform
110-
- [M5Stack_ESP32_radio](https://github.com/anton-b/M5Stack_ESP32_radio) - Playing mp3 stream out of internet using M5Stack prototype
111-
- [mp3-player-m5stack](https://github.com/dsiberia9s/mp3-player-m5stack) - MP3 player for M5Stack
112-
- [ArduinoWiFiPhotoBackup](https://github.com/moononournation/ArduinoWiFiPhotoBackup) - M5STACK Arduino WiFi Photo Backup device
113-
- [M5StackHIDCtrlAltDel](https://github.com/mhama/M5StackHIDCtrlAltDel) - You can send ctrl+alt+del to your PC from M5Stack
114-
- [M5Stack Markdown Web Server](https://github.com/PartsandCircuits/M5Stack-MarkdownWebServer) - Markdown & icons loaded from an Micro SD card/TF card to run a web page
115-
- [M5Stack-Tetris](https://github.com/PartsandCircuits/M5Stack-Tetris) - Tetris for M5Stack Ported to M5Stack by macsbug - https://macsbug.wordpress.com/
116-
- [M5Stack_FlappyBird_game](https://github.com/pcelli85/M5Stack_FlappyBird_game) - M5Stack FlappyBird Playable
117-
- [M5Stack-SpaceShooter](https://github.com/PartsandCircuits/M5Stack-SpaceShooter) - Space Invaders knock-off for M5Stack
118-
- [M5Stack-Pacman-JoyPSP](https://github.com/tobozo/M5Stack-Pacman-JoyPSP) - Pacman on M5Stack/PSP Joypad, with sounds
119-
- [M5Stack-Thermal-Camera](https://github.com/hkoffer/M5Stack-Thermal-Camera-) - M5Stack Thermal Camera with AMG8833 thermal sensor
120-
- [M5Stack-3DPrintFiles](https://github.com/PartsandCircuits/M5Stack-3DPrintFiles) - Links to files for 3D printing custom case parts for the M5Stack
66+
## 5. USER CASES
67+
68+
* [M5Stack-SD-Updater](https://github.com/tobozo/M5Stack-SD-Updater) - Customizable menu system for M5Stack - loads apps from the Micro SD
69+
card
70+
71+
* [TFT_eSPI](https://github.com/Bodmer/TFT_eSPI) - TFT library for the ESP8266 and ESP32 that supports different driver chips
72+
73+
74+
* [M5Widgets](https://github.com/Kongduino/M5Widgets) - Widgets for the M5Stack
75+
76+
* [M5StackSAM](https://github.com/tomsuch/M5StackSAM) - Simple Applications Menu Arduino Library for M5Stack
77+
78+
* [cfGUI](https://github.com/JF002/cfGUI) - A simple GUI library for M5Stack (ESP32)
79+
80+
* [GUIslice](https://github.com/ImpulseAdventure/GUIslice) - A lightweight GUI framework suitable for embedded displays
81+
82+
* [M5ez](https://github.com/ropg/M5ez) - The easy way to program on the M5Stack
83+
84+
85+
* [M5Stack MultiApp Advanced](https://github.com/botofancalin/M5Stack-MultiApp-Advanced) - A M5Stack firmware made on PlatformIO
86+
87+
88+
* [M5Stack ESP32 Oscilloscope](https://github.com/botofancalin/M5Stack-ESP32-Oscilloscope) - A fully functional oscilloscope based on ESP32 M5Stack
89+
90+
* [M5Stack-Avatar](https://github.com/meganetaaan/m5stack-avatar) - An M5Stack library for rendering avatar faces
91+
92+
* [M5Stack_CrackScreen](https://github.com/nomolk/M5Stack_CrackScreen) - Crack your M5Stack!!
93+
94+
* [M5_Shuttle_Run](https://github.com/n0bisuke/M5_Shuttle_Run) - M5_Shuttle_Run
95+
96+
* [nixietubeM5](https://github.com/drayde/nixietubeM5) - (Fake) Nixie Tube Display on a M5Stack
97+
98+
* [M5Stack_BTCTicker](https://github.com/dankelley2/M5Stack_BTCTicker) - A small Bitcoin price ticker using an M5Stack (ESP32) and the Coindesk API
99+
100+
* [M5Stack_ETHPrice](https://github.com/donma/M5StackWifiSettingWithETHPrice) - Dependence on example Wifi Setting to get ETH Price from Maicoin
101+
102+
* [M5Stack-PacketMonitor](https://github.com/tobozo/M5Stack-PacketMonitor) - M5Stack ESP32 Packet Monitor
103+
104+
* [M5-FFT](https://github.com/ElectroMagus/M5-FFT) - Graphic Equalizer on the M5Stack platform
105+
106+
* [M5Stack_ESP32_radio](https://github.com/anton-b/M5Stack_ESP32_radio) - Playing mp3 stream out of internet using M5Stack prototype
107+
108+
* [mp3-player-m5stack](https://github.com/dsiberia9s/mp3-player-m5stack) - MP3 player for M5Stack
109+
110+
* [ArduinoWiFiPhotoBackup](https://github.com/moononournation/ArduinoWiFiPhotoBackup) - M5STACK Arduino WiFi Photo Backup device
111+
112+
* [M5StackHIDCtrlAltDel](https://github.com/mhama/M5StackHIDCtrlAltDel) - You can send ctrl+alt+del to your PC from M5Stack
113+
114+
* [M5Stack Markdown Web Server](https://github.com/PartsandCircuits/M5Stack-MarkdownWebServer) - Markdown & icons loaded from an Micro SD card/TF card to run a web page
115+
116+
* [M5Stack-Tetris](https://github.com/PartsandCircuits/M5Stack-Tetris) - Tetris for M5Stack Ported to M5Stack by macsbug - https://macsbug.wordpress.com/
117+
118+
* [M5Stack_FlappyBird_game](https://github.com/pcelli85/M5Stack_FlappyBird_game) - M5Stack FlappyBird Playable
119+
120+
* [M5Stack-SpaceShooter](https://github.com/PartsandCircuits/M5Stack-SpaceShooter) - Space Invaders knock-off for M5Stack
121+
122+
* [M5Stack-Pacman-JoyPSP](https://github.com/tobozo/M5Stack-Pacman-JoyPSP) - Pacman on M5Stack/PSP Joypad, with sounds
123+
124+
* [M5Stack-Thermal-Camera](https://github.com/hkoffer/M5Stack-Thermal-Camera-) - M5Stack Thermal Camera with AMG8833 thermal sensor
125+
126+
* [M5Stack-3DPrintFiles](https://github.com/PartsandCircuits/M5Stack-3DPrintFiles) - Links to files for 3D printing custom case parts for the M5Stack
127+
128+
* [truetype2gfx](https://github.com/ropg/truetype2gfx) - Converting fonts from TrueType to Adafruit GFX
129+
130+
* [m5stack-onscreen-keyboard](https://github.com/yellowelise/m5stack-onscreen-keyboard) - Full size qwerty keyboard for M5Stack
131+
132+
#### Note:
133+
134+
* How to install USB driver for establishing serial port
135+
136+
https://docs.m5stack.com/#/en/related_documents/establish_serial_connection
137+
138+
* How to upgrade M5Stack Libary
139+
140+
https://docs.m5stack.com/#/en/related_documents/upgrade_m5stack_lib

0 commit comments

Comments
 (0)