mirror of
https://github.com/SlimeVR/SlimeVR-Tracker-ESP.git
synced 2026-04-05 17:51:57 +02:00
ESP32-C3 super mini and gy601n1 custom pin not used by compiler #36
Open
opened 2026-04-05 17:51:40 +02:00 by MrUnknownDE
·
0 comments
No Branch/Tag Specified
main
feat/serialbuffer
fix/use-realtime-tos
network-experiments
dependabot/github_actions/jidicula/clang-format-action-4.18.0
feat_flashmode
icm-55686
antiing-the-aliases
chg_networkname
feat/mlx90393-support
mag-support
fancy-wifi-provisioning
fake_v0.7.0
mdns-discovery
fix-server-discovery
config-change-logic
add-id-command
logging-ids
feat_benchmark
machine-optimized-spi
ads111x-implementation
mag-and-spi
glove-dynamic-sfusion
llelievr/ci-release
espnow
feat/toggle-mag
cleanup-feature-flags
v0.7.2
v0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.4
v0.5.3
v0.5.2
v0.5.1
v0.5.0
v0.4.0
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.3
v0.2.2
v0.2.1
v0.2.0
Labels
Clear labels
Area: Continuous Integration
Area: Continuous Integration
Area: Continuous Integration
Area: Documentation
Area: Hardware Protocol
Area: Hardware Protocol
Area: Hardware Protocol
Area: Hardware Protocol
Area: IMU Support
Area: IMU Support
Area: IMU Support
Area: IMU Support
Area: IMU Support
Area: IMU Support
Area: IMU Support
Area: IMU Support
Area: Sensor Fusion
Area: Sensor Fusion
Area: Sensor Fusion
Area: Sensor Fusion
Difficulty: Math Heavy
Difficulty: Newbie Friendly
Priority: High
Priority: High
Priority: High
Priority: High
Priority: High
Priority: High
Priority: Low
Priority: Low
Priority: Low
Priority: Low
Priority: Low
Priority: Low
Priority: Normal
Priority: Normal
Priority: Normal
Priority: Normal
Priority: Normal
Priority: Normal
Priority: Normal
Priority: Normal
Status: Blocked by other issue
Status: Help Wanted
Status: Help Wanted
Status: Obsolete
Status: Unlabeled
Status: Unlabeled
Status: Unlabeled
Status: Unlabeled
Status: Unlabeled
Status: Unlabeled
Status: Wontfix
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Bug
Type: Discussion
Type: Discussion
Type: Discussion
Type: Discussion
Type: Discussion
Type: Discussion
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
Type: Enhancement
dependencies
dependencies
dependencies
dependencies
dependencies
dependencies
dependencies
dependencies
dependencies
dependencies
dependencies
dependencies
github_actions
github_actions
github_actions
github_actions
github_actions
github_actions
github_actions
github_actions
github_actions
github_actions
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
MrUnknownDE
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github/SlimeVR-Tracker-ESP#36
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @drepou on 11/8/2025
Hi I try to compile my own firmware but it seem it to take defines.h change in consideration.
i also disable external clock in icm45686.h :
#if IMU_USE_EXTERNAL_CLOCK
//m_RegisterInterface.writeReg(Regs::Pin9Config::reg, Regs::Pin9Config::value);
//m_RegisterInterface.writeReg(Regs::RtcConfig::reg, Regs::RtcConfig::value);
#endif
return ICM45Base::initializeBase();
}
};
defines.h :
// Set parameters of IMU and board used
#ifndef IMU
#define IMU IMU_ICM45686
#endif
#ifndef SECOND_IMU
#define SECOND_IMU IMU_NONE
#endif
#ifndef BOARD
#define BOARD BOARD_CUSTOM
#endif
#ifndef IMU_ROTATION
#define IMU_ROTATION DEG_270
#endif
#ifndef SECOND_IMU_ROTATION
#define SECOND_IMU_ROTATION DEG_270
#endif
#ifndef PRIMARY_IMU_OPTIONAL
#define PRIMARY_IMU_OPTIONAL false
#endif
#ifndef SECONDARY_IMU_OPTIONAL
#define SECONDARY_IMU_OPTIONAL true
#endif
// Set I2C address here or directly in IMU_DESC_ENTRY for each IMU used
// If not set, default address is used based on the IMU and Sensor ID
// #define PRIMARY_IMU_ADDRESS_ONE 0x4a
// #define SECONDARY_IMU_ADDRESS_TWO 0x4b
#ifndef BATTERY_MONITOR
// Battery monitoring options (comment to disable):
// BAT_EXTERNAL for ADC pin,
// BAT_INTERNAL for internal - can detect only low battery,
// BAT_MCP3021 for external ADC connected over I2C
#define BATTERY_MONITOR BAT_EXTERNAL
#endif
// --- OVERRIDES FOR DEFAULT PINS
#define PIN_IMU_SDA 8
#define PIN_IMU_SCL 9
i see wrong pin usages on compil log :
-Verbose mode can be enabled via
-v, --verboseoptionUpload is on but track dont connect even on usb debug in slimevr
Executing task: C:\Users\drepou.platformio\penv\Scripts\platformio.exe run --target upload --environment BOARD_ESP32C3DEVKITM1 --upload-port COM5
Processing BOARD_ESP32C3DEVKITM1 (platform: espressif32 @ 6.7.0; board: esp32-c3-devkitm-1; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via
-v, --verboseoptionLDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 56 compatible libraries
Scanning dependencies...
Dependency Graph
|-- CmdParser @ 0.0.0+sha.dcaa7ea
|-- base64 @ 1.4.0+sha.ac168f5
|-- Adafruit MCP23017 Arduino Library @ 2.3.2+sha.9e67e37
|-- PCA9547 @ 0.1.1+sha.1286452
|-- LittleFS @ 2.0.0
|-- ota
|-- Wire @ 2.0.0
|-- i2cscan
|-- bno080
|-- mpu6050
|-- magneto
|-- math
|-- i2cdev
|-- SparkFun 9DoF IMU Breakout - ICM 20948 - Arduino Library @ 1.2.9
|-- WiFi @ 2.0.0
|-- SPI @ 2.0.0
|-- vqf
|-- bno055_adafruit
|-- mpu9250
Building in release mode
Retrieving maximum program size .pio\build\BOARD_ESP32C3DEVKITM1\firmware.elf
Checking size .pio\build\BOARD_ESP32C3DEVKITM1\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [= ] 12.1% (used 39804 bytes from 327680 bytes)
Flash: [========= ] 92.9% (used 1217444 bytes from 1310720 bytes)
Configuring upload protocol...
AVAILABLE: cmsis-dap, esp-bridge, esp-builtin, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...
Using manually specified: COM5
Uploading .pio\build\BOARD_ESP32C3DEVKITM1\firmware.bin
esptool.py v4.5.1
Serial port COM5
Connecting...
Chip is ESP32-C3 (revision v0.4)
Features: WiFi, BLE
Crystal is 40MHz
MAC: cc:ba:97:be:1a:78
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00003fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00144fff...
Compressed 13632 bytes to 9883...
Writing at 0x00000000... (100 %)
Wrote 13632 bytes (9883 compressed) at 0x00000000 in 0.3 seconds (effective 331.2 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 146...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.2 seconds (effective 118.0 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.2 seconds (effective 314.8 kbit/s)...
Hash of data verified.
Compressed 1264704 bytes to 762207...
Writing at 0x00010000... (2 %)
Writing at 0x0001c40c... (4 %)
Writing at 0x000281b8... (6 %)
Writing at 0x0002e408... (8 %)
Writing at 0x00033c7a... (10 %)
...
Writing at 0x001271e6... (91 %)
Writing at 0x0012e85e... (93 %)
Writing at 0x0013538f... (95 %)
Writing at 0x0013aecc... (97 %)
Writing at 0x0014143a... (100 %)
Wrote 1264704 bytes (762207 compressed) at 0x00010000 in 11.0 seconds (effective 918.1 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
================================================================== [SUCCESS] Took 31.24 seconds ==================================================================
Environment Status Duration
BOARD_ESP32C3DEVKITM1 SUCCESS 00:00:31.236
=================================================================== 1 succeeded in 00:00:31.236 =================================================================== * Terminal will be reused by tasks, press any key to close it.
imu is not found refer to android serial console :
[INFO ] [SlimeVR] SlimeVR vmain starting up...
[INFO ] [SlimeVR] Vendor: Drepou, product: DIY SlimeVR Tracker
[INFO ] [Configuration] Found up-to-date configuration v1
[INFO ] [Configuration] Loaded configuration
[ERROR] [SensorManager] Mandatory sensor 1 not found at address I2C(0x00)
[DEBUG] [SensorManager] Optional sensor 2 not found at address I2C(0x69)
[INFO ] [SensorManager] 0 sensor(s) configured
[ERROR] [SensorManager] Can't find I2C device on provided addresses, scanning for all I2C devices in the background
[INFO ] [WiFiHandler] Setting up WiFi
[INFO ] [WiFiHandler] Loaded credentials for SSID '' and pass length 0
[DEBUG] [WiFiHandler] Skipping saved credentials attempt on 0-length SSID...
[NOTICE] OTA updates allowed
[ 814][E][Wire.cpp:449] endTransmission(): NULL TX buffer pointer
[WARN ] I2C (@ 2(2) : 3(3)): Unable to start transaction at address 0x01!
[ 821][E][Wire.cpp:449] endTransmission(): NULL TX buffer pointer
[WARN ] I2C (@ 2(2) : 3(3)): Unable to start transaction at address 0x02!
[ 827][E][Wire.cpp:449] endTransmission(): NULL TX buffer pointer
sample code from 45686 arduino lib work perfect https://github.com/tdk-invn-oss/motion.arduino.ICM45686/tree/main/examples/Polling_I2C