M5StickC: Difference between revisions
Brian Wilson (talk | contribs) Created page with " [https://github.com/m5stack/M5StickC M5StickC] orange and wearable. I have a few of these because they are cheap, come with lots of sensors, a tiny 80x160 LCD, and are nicely enclosed in a little case. Also has a 6-axis gyro/accelerometer, and a microphone. Also it can detect alien lifeforms in a 100 meter radius. It uses an ESP32-PICO-M4 processor with 4MB of RAM. It's supposed to be a wearable so it has a battery. This MCU uses more power than an ESP32S3 if that mat..." |
Brian Wilson (talk | contribs) mNo edit summary |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Overview == | |||
[https://github.com/m5stack/M5StickC M5StickC] orange and wearable. I have 3 of these because they are cheap, come with lots of sensors, a tiny 80x160 LCD, and are nicely enclosed in a little case. | |||
[https:// | It uses an [https://www.espressif.com/sites/default/files/documentation/esp32-pico_series_datasheet_en.pdf ESP32-PICO] processor with 520KB of RAM and 4MB of FLASH. It's supposed to be a wearable so it has a battery. This MCU uses more power than an ESP32S3 if that matters to you. I've read that the AXP192 PMS reads the internal battery and refuses to boot if it's dead. That means when the battery dies I will need to replace it if I want to continue using them. | ||
I set up one with a PIR hat and used it to control a light for about a year. It works really perfectly for this with an MQTT connection to Home Assistant. | |||
It works really perfectly for this with an MQTT connection to Home Assistant. | |||
* What can I do with the internal temp sensor? There are sensors in both the PMIC and the MEMS sensors | * What can I do with the internal temp sensor? There are sensors in both the PMIC and the MEMS sensors | ||
Line 24: | Line 20: | ||
Looks like taking it apart is a waste of time, things are pretty packed in there. Don't bother. Have lots of other ESP32 things already. | Looks like taking it apart is a waste of time, things are pretty packed in there. Don't bother. Have lots of other ESP32 things already. | ||
== Development environment == | |||
So far I have tried ESPHome, CircuitPython on it so far. Since this board has only 520KB of RAM I will just break down and use C. ESPHome worked fine for my PIR sensor / MQTT IoT project, that's an option still for C programming. | |||
== Peripherals == | |||
Grove port GND 5V G32 G33 from the datasheet : '''GPIO32''', ADC1_CH4, TOUCH9, RTC_GPIO9 '''GPIO33''', | |||
ADC1_CH5, TOUCH8, RTC_GPIO8 | |||
LCD display | |||
6-axis IMU: SH200Q | |||
PMIC: AXP192 power management IC, controls the battery and display backlight. | |||
MIC | |||
RTC | |||
IR LED G9 | |||
Red LED G10 | |||
Button1 = Power on / off / reset | |||
Button2 = G37 | |||
Button3 = G39 | |||
Temperature | |||
Pin header (used for add-ons such as the PIR Hat) -- GND 5VOUT G26 G36 G0 BAT 3V3 5VIN | |||
'''GPIO26''', DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1 | |||
SENSOR_VP 5 I '''GPIO36''', ADC1_CH0, RTC_GPIO0 | |||
'''GPIO0''', ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1, EMAC_TX_CL | |||
== Projects == | == Projects == | ||
Motion sensor -- | Motion sensor -- ESPhome + PIR Hat + a spare phone charger = a cheap motion sensor that reports over WiFi + MQTT. | ||
Open Authenticator -- https://hackaday.io/project/176959-open-authenticator | |||
Rheem / Econet Heat Pump Water Heater controller for Home Assistant -- ESPhome + RS485 hat = non-cloud control of water heater. | |||
== Resources == | == Resources == | ||
https://docs.m5stack.com/en/core/m5stickc | |||
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/esp32-pico-d4_datasheet_en.pdf | |||
[https://docs.m5stack.com/en/quick_start/m5stickc_plus/mpy Micropython] | [https://docs.m5stack.com/en/quick_start/m5stickc_plus/mpy Micropython] | ||
Latest revision as of 23:54, 19 December 2024
Overview
M5StickC orange and wearable. I have 3 of these because they are cheap, come with lots of sensors, a tiny 80x160 LCD, and are nicely enclosed in a little case.
It uses an ESP32-PICO processor with 520KB of RAM and 4MB of FLASH. It's supposed to be a wearable so it has a battery. This MCU uses more power than an ESP32S3 if that matters to you. I've read that the AXP192 PMS reads the internal battery and refuses to boot if it's dead. That means when the battery dies I will need to replace it if I want to continue using them.
I set up one with a PIR hat and used it to control a light for about a year. It works really perfectly for this with an MQTT connection to Home Assistant.
- What can I do with the internal temp sensor? There are sensors in both the PMIC and the MEMS sensors
- What can I do with its RTC? Datasheet https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/Stamp/StampTimerPower/RTC8563.pdf
- What can I do with the accel/gyro? Detect vibration or change of direction in a car? Step count? It supports "wake on motion". You can find its orientation by reading the accelerometer. "Down" is usually Z=1g for example.
- What can I do with the mic? Make lights blink? https://www.hackster.io/esikora/audio-visualization-with-esp32-i2s-mic-and-rgb-led-strip-4a251c
- Can I turn off TV's with the IR LED? https://www.hackster.io/alessandro-polselli/turn-m5stickc-into-universal-ir-remote-home-automation-d3ec0d
Internal photos (This "plus" version has bigger screen) https://www.gwendesign.ch/kb/m5stack/m5stickcplus/ and https://www.gwendesign.ch/kb/m5stack/m5stickc/
It has some magnets in it so you can stick it to things! Cool.
Batteries - it has an RTC button cell and a tiny (95mAH) LiPo. More of a UPS than a power supply.
Looks like taking it apart is a waste of time, things are pretty packed in there. Don't bother. Have lots of other ESP32 things already.
Development environment
So far I have tried ESPHome, CircuitPython on it so far. Since this board has only 520KB of RAM I will just break down and use C. ESPHome worked fine for my PIR sensor / MQTT IoT project, that's an option still for C programming.
Peripherals
Grove port GND 5V G32 G33 from the datasheet : GPIO32, ADC1_CH4, TOUCH9, RTC_GPIO9 GPIO33,
ADC1_CH5, TOUCH8, RTC_GPIO8
LCD display
6-axis IMU: SH200Q
PMIC: AXP192 power management IC, controls the battery and display backlight.
MIC
RTC
IR LED G9
Red LED G10
Button1 = Power on / off / reset
Button2 = G37
Button3 = G39
Temperature
Pin header (used for add-ons such as the PIR Hat) -- GND 5VOUT G26 G36 G0 BAT 3V3 5VIN
GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
SENSOR_VP 5 I GPIO36, ADC1_CH0, RTC_GPIO0
GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1, EMAC_TX_CL
Projects
Motion sensor -- ESPhome + PIR Hat + a spare phone charger = a cheap motion sensor that reports over WiFi + MQTT.
Open Authenticator -- https://hackaday.io/project/176959-open-authenticator
Rheem / Econet Heat Pump Water Heater controller for Home Assistant -- ESPhome + RS485 hat = non-cloud control of water heater.