Skip to content
This repository was archived by the owner on Sep 9, 2025. It is now read-only.

MakerSidekick/code

 
 

Repository files navigation

MPU6050-MicroPython

A very simple portable "Sidekick" Bot powered by GY-521 IMU 3-axis Accelerometer/Gyro Module (MPU6050) on ESP32 using MicroPython

Info

A simple expressive home-made Open-Source Buddy made with lying-around hobbyist parts, powered by an ESP32 Development Board. Thanks to this, it will be infinitely hackable, allowing end users to install their own firmware or features if they wish.

Loosely inspired by tamagotchi and community-made desk toys, it will react to its surroundings through gyro movement, and expresses itself accordingly through the display and more!

Note

Project state: Initial Planning/FAFO

Project Code: https://github.com/MakerSidekick/code

Automatic Setup/Flash

Prepare this repo:

git clone https://github.com/MakerSidekick/MakerSidekick-Bot

Enter the Folder:

cd MakerSidekick-Bot

Setup Prerequisites:

Install pixi tool from the official link: https://pixi.sh/latest/#installation

Easy Setup Commands(Subject to change)

Setup Environment:

pixi install

Upload:

pixi run upload

Manual Setup/Flash

Prepare this repo:

git clone https://github.com/MakerSidekick/MakerSidekick-Bot

Enter the Folder:

cd MakerSidekick-Bot

Clone Libraries:

git clone https://github.com/stlehmann/micropython-ssd1306 lib/

Cleanup to save space:

lib/.gitignore
lib/README.md
lib/sdist_upip.py
lib/setup.py
lib/.git

(adjust commands for other systems/shells)

Bash:

rm -rf lib/.git lib/.gitignore lib/README.md lib/sdist_upip.py lib/setup.py

Cmd/Powershell:

rmdir /s /q "lib\.git"
del "lib\.gitignore"
del "lib\README.md"
del "lib\sdist_upip.py"
del "lib\setup.py"

Next Steps:

Tip

Automating this with mpremote would be prudent. Check out upload-to-esp32.py in this folder.

  • Open Folder in Thonny
  • Upload lib folder
  • Upload .py files

Modes

Normal Mode

Social Buddy, the Maker's Sidekick! It will react to surroundings

Menu Mode

Select Options. Placeholder for now, it just blinks led 25 times

Eventually will be able to launch user's custom code!

Wiring

Pin assignment for ESP32 and MPU6050:
VCC -> 3v3
GND -> GND
SCL -> GPIO A0
SDA -> GPIO A1

Tip

(You can change SCL pin and SDA pin in file main.py line 17)

Pin assignment for ESP32 and Buzzer:
GPIO 8 -> Buzzer Terminal
GND -> Buzzer Terminal

Tip

(You can change buzzer pin in file pin_values.py line 6)

Warning

Touch pin isn't working as expected :( It works as a touch pin but it's not super good at sensing values, especially when the device is far-ish away!

Pin assignment for ESP32 and Touch Pin(For registering headpats):
GND --(Resistor with 220k to 560k Ohm)--> Pin A2 -> Metal Contact

Tip

(You can change touch pin in file pin_values.py line 4)

Pin assignment for ESP32 to Debug Pin(, for debugging):
GPIO 8 -> GND

Tip

(You can change enable pin in file pin_values.py line 5) If this button is pressed in main mode, it stops execution. If it is pressed in debug mode, it exits the menu and goes back to main mode.

About

ESP32/MPU6050 Playground, also the home base for the actual bot code 🤖 Moved to https://github.com/meetsidekick/code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.0%
  • Batchfile 1.3%
  • Shell 0.7%