Sparkfun
General
Accelerometer, Gyro and IMU Buying Guide
Products for Movement – IMU
SparkFun 9DoF Razor IMU M0 – MPU-9250
- SAMD21 (32-bit ARM Cortex-M0+)
- MPU-9250
SparkFun 9DoF Razor IMU M0
9DoF Razor IMU M0 Hookup Guide
github.com/sparkfun/9DOF_Razor_IMU/, 9DOF Razor IMU available from SparkFun Electronics
github.com/sparkfun/SparkFun_MPU-9250-DMP_Arduino_Library, Arduino library for the MPU-9250 enabling its digital motion process (DMP) features.
SparkFun 9DoF IMU Breakout – ICM-20948
SparkFun 9DoF IMU Breakout – ICM-20948 (Qwiic)
SparkFun 9DoF IMU (ICM-20948) Breakout Hookup Guide
github.com/sparkfun/SparkFun_Qwiic_9DoF_IMU_Breakout, The ICM20948 is the next IMU in the lineup from Invensense, following the MPU-9250
github.com/sparkfun/Qwiic_9DoF_IMU_ICM20948_Py, Python module for the SparkFun 9DoF IMU Breakout – ICM-20948 (Qwiic)
OpenLog Artemis
SparkFun OpenLog Artemis
SparkFun OpenLog Artemis (without IMU)
Others
MPU-9250
YouTube
MPU9250 module with Arduino Tutorials -Accelerometer, gyroscope and Magnetometer sensor
IMU MPU-9250 + Arduino + AHRS (Madgwick’s algorithm)
MPU9250 Test
3D Orientation-Rotation Tracking using MPU9250
MPU9250 initialization and gyro zero drift
Tutorials
MPU-9250 and Arduino (9-Axis IMU), with Source Code for Arduino + Client!!
Open source IMU and AHRS algorithms, Madgwick algorithm, sensor fusion algorithm, 2012
MPU-6050
YouTube
LabNote: MPU6050 Based IMU Arm Motion Capture + Blender Realtime Sync
GitHub
https://github.com/T-K-233/Dual-MPU6050-Motion-Sync
IMU
- Inertial Measurement Unit [IMU]
- inertial reference unit [IRU]
- motion reference unit [MRU]
- motion sensing
measurement of motion
- acceleration
- rotation
- velocity
is essential to understanding the orientation of an object
- production line machines
- robotic devices
- vehicles
- autonomous systems (autonomen Systemen,)
- gimbals (kardanischen Aufhängungen)
- machine tools (Werkzeugmaschinen)
- robotic prosthetics (Roboterprothesen)
Modules
- Bosch BMI270 (SpeedyBee F405 V3)
- TDK InvenSense MPU-6000
- TDK InvenSense MPU-6050
- TDK InvenSense MPU-9250 (SparkFun 9DoF Razor IMU M0)
- TDK InvenSense ICM-20689
- TDK InvenSense ICM-20602
- TDK InvenSense ICM-20948
Python
conda create --name QuatAnimation python=3.12 conda activate QuatAnimation # conda cannot use pyside6-addons and pyside6-essentials!! # conda install -c conda-forge numpy pyside6 pyqtgraph pyopengl pip install pyside6 matplotlib numpy pyqtgraph pyopengl
Tutorials
PyQt6 vs PySide6
Plotting with PyQtGraph, Create custom plots in PySide6 with PyQtGraph
Stackoverflow
Pyqtgraph GLMeshItem set rotation with quaternion
ImportError: No module named OpenGL.GL
opengl glLineWidth() doesn’t change size of lines
Wikipedia
Quaternions and spatial rotation
ELRS
Glossary
CRSF
: TBS Crossfire, more specifically in our case most often referring to the communication protocol between
- TX and TX module and
- RX and FC respectively
Supported receiver protocols: CRSF
, SBUS
, SUMD
, HoTT
Telemetry, MAVLink
, and PWM
ExpressLRS
is written in C++ using the Arduino framework.
ExpressLRS
Glossary
Toolchain Setup
DIY Transmitter
PlatformIO
YouTube
SimpleTX introducion
Arduino Based Simple Transmitter for ELRS TX Module
CLOSED – ExpressLRS DIY Transmitter Module Giveaway
ELRS / CRSF HID Joystick with Pi Pico
ExpressLRS Configurator Diy Firmware
ExpressLRS 2 4Ghz Transmitter Module Build and Flash
GitHub
github.com/ExpressLRS/ExpressLRS/, ESP32/ESP8285-based High-Performance Radio Link for RC applications
github.com/kkbin505/Arduino-Transmitter-for-ELRS/tree/SimpleTX_ELRS_3.X_Test, Arduino based RC transmitter for ELRS external TX Module
github.com/dbloemhard/Arduino-Transmitter-for-ELRS3.x, Arduino based RC transmitter for ELRS external TX Module
github.com/cruwaller/elrs_handset/, Custom DIY dual band (900/2400MHz) transmitter (handset) based on ExpressLRS.
github.com/cruwaller/ExpressLRS, ESP32/ESP8285 based LoRa Radio Link
github.com/mikeneiderhauser/CRSFJoystick, Arduino code that runs on a Pi Pico (2040) to emulate a USB HID Joystick
github.com/Sam4uk/CRSF
Tutorials
DIY RC radio link: the problem of protocols, Paweł Spychalski, Nov 2, 2017
FPV Protocols Explained (CRSF, SBUS, DSHOT, ACCST, PPM, PWM and more), 1st April 2021
CRSF Protocol
github.com/crsf-wg/crsf/wiki, CRSF Protocol Specifications
github.com/ExpressLRS/ExpressLRS/blob/master/src/lib/CrsfProtocol/crsf_protocol.h
github.com/britannio/pico_crsf/blob/main/crsf.h
github.com/CapnBry/CRServoF/tree/main/lib/CrsfSerial
DIY ESP32 E28
RandomNerdTutorials.com: ESP32 Pinout Reference: Which GPIO pins should you use?
LastMinuteEngineers.com: ESP32-WROOM-32 Pinout Reference
RP2040
GitHub
github.com/earlephilhower/arduino-pico, Raspberry Pi Pico Arduino core, for all RP2040 and RP2350 boards
Documentation
Raspberry Pi Pico-series Microcontrollers
Arduino Pico: Serial Ports (USB and UART)
Glossary
Serial
is the USB serial port
Serial1
is UART0
, and Serial2
is UART1
Product
Waveshare RP2040-Zero
AliExpress: TZT RP2040-Zero