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

Skip to content

meetsidekick/code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sidekick v0

A very simple portable "Sidekick" Bot powered by an IMU(ADXL345) 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: WIP v0

Project Homepage: https://meetsidekick.tech Project Code: https://github.com/MeetSidekick/code

Development Setup

Automatic Setup/Flash

Prepare this repo:

git clone https://github.com/MeetSidekick/code MeetSidekick-code

Enter the Folder:

cd MeetSidekick-code

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/MeetSidekick/code MeetSidekick-code

Enter the Folder:

cd MeetSidekick-code

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, this is done automatically. Here are the steps to do it manually:

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

Modes

Normal Mode

Normal Sidekick! It will react to surroundings

Menu Mode

This allows the user to:

  • Mute/Unmute
  • Switch Personality Cores
  • Execute User Code
  • Enter Dashboard Mode(Starts web server, first seen on first boot and when called)
  • Wipe Stuff(User Code, Settings, etc)

Code Loader Mode

With this, any user can place files called custom_code_CodeTitle.py, where the title of the program to be detected in the Code Loader is CodeTitle(change this to your liking). See next section for builtin examples.

Custom Code

Builtin

Tools

  • DeviceTemp
    • Demo program to output the builtin temp sensor on the chip. NOT ACCURATE!
  • Pomodoro Timer
    • A simple pomodoro timer to keep breaks.
  • Stopwatch
    • A simple stopwatch for temporary counting.
  • WifiScan
    • Scan nearby Wifi SSIDs

Games

  • Rhythm Game using two buttons
  • Flappy Clone
  • Dino

Wiring

IIC/I2C

Pin assignment for ESP32 and IMU/Display:
VCC -> 3v3
GND -> GND
SCL -> GPIO 5
SDA -> GPIO 4

Tip

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

Buzzer

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 5)

Touch

Warning

Touch Pin is disabled for now! This needs more testing and work... Pin assignment for ESP32 and Touch Pin(For registering hold data):
GND --(Resistor with 10kOhm)--> Pin A3 -> Metal Contact

Tip

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

Buttons

Pin assignment for ESP32 to Menu Pin:
GPIO 1 -> GND

Tip

(You can change enable pin in file pin_values.py line 3)

Pin assignment for ESP32 to OK Pin:
GPIO 0 -> GND

Tip

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages