Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

Dlazder/m5stick_crystal_firmware

Repository files navigation

M5Stick-crystal

Menu demonstration

Simple, stable, customizible, and extensible.

This firmware's structure follows the KISS principle. The code is extremely simple and structured. All functions use my wrappers, allowing you to quickly add new "programs" while focusing on the functionality itself, without wasting time interacting with the interface.

You can easily add a new function using the short guide or by looking on already created funcs in functions/ folder.

You can download firmware from M5Burner, build firmware by yourself or download binary from github releases (see the instructions below).

Install from M5Burner

You can use the M5Burner for simple firmware installation. Select m5stick in left side menu and start writing in the search line "Crystal".

Get latest build

Latest Release

🚀 Upcoming Features

  • Add clock setting
  • Add text size setting
  • Add font style setting
  • New languages
  • Create new battery indicator
  • Level tool based on gyro (why not?)
  • Add NFC features
  • Add IR features

🛠 Project Maintenance

  • Structure functions, by the domain or by belonging to the category
  • Create PID categories (like http status codes)
  • Complete and structure the documentation
  • Set up linting
  • Rethract the web interface(beta)
  • Support new devices

How to build?

Arduino CLI

Libraries:

arduino-cli lib install --git-url https://github.com/T-vK/ESP32-BLE-Keyboard

Compile:

arduino-cli compile --fqbn m5stack:esp32:m5stack_stickc_plus2 --build-path ./build -e --build-property build.partitions=huge_app --build-property upload.maximum_size=3145728 ./m5stick_crystal_firmware.ino

Merge binaries:

esptool --chip esp32s3 merge_bin --output build/firmware.bin 0x1000 build/m5stick_crystal_firmware.ino.bootloader.bin 0x8000 build/m5stick_crystal_firmware.ino.partitions.bin 0x10000 build/m5stick_crystal_firmware.ino.bin

Flash firmware:

esptool write_flash 0 build/firmware.bin

Arduino community edition

You can also use the extension arduino community edition for build and upload firmware in VS code.

Here is example of configuration files for this extension which I'm using:

.vscode/arduino.json

{
	"sketch": "m5stick_crystal_firmware.ino",
	"port": "/dev/ttyACM0",
	"board": "m5stack:esp32:m5stack_stickc_plus2",
	"output": "./build",
	"programmer": "esptool",
	"configuration": "PSRAM=enabled,PartitionScheme=default_8MB,CPUFreq=240,FlashMode=qio,FlashFreq=80,FlashSize=8M,UploadSpeed=1500000,LoopCore=1,EventsCore=1,DebugLevel=none,EraseFlash=none"
}

.vscode/settings.json

{
		"C_Cpp.intelliSenseEngine": "default",
		"C_Cpp.default.includePath": [
				// [Windows] (Adjust path for your locations)
				"${env:USERPROFILE}/AppData/Local/Arduino15/packages/**",
				"${env:USERPROFILE}/AppData/Local/Arduino15/**",
				"${env:USERPROFILE}/OneDrive/Documents/Arduino/libraries/**",
				
				// Linux
				// Later
		],
		// For memcpy function recognition
		"C_Cpp.default.defines": [
				"_GLIBXX_HAVE_MEMCPY",
		],

		"arduino.enableUSBDetection": true,
		"arduino.additionalUrls": ["https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json"],
		"arduino.disableIntelliSenseAutoGen": true,
}

Documentation

❤️ Support my project with a star if you liked it. Contributing is welcome.

I need your support and experience in contributing. Any form of assistance is welcome. Ask any questions through Issues or Disscusions.

Web interface screenshot:

web interface

(The function is not fully implemented)

About

Create, edit and customize the firmware functions for yourself by yourself

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published