#+TITLE: MicroPython Implementation Notes * Circuit Layout | Pin | Used For | | 37 | SDA - MPU6050 | | 36 | SCL - MPU6050 | | | | * SSD 1306 #+BEGIN_SRC python from machine import I2C, Pin import ssd1306 rst = Pin(16, Pin.OUT) rst.value(1) scl = Pin(15, Pin.OUT, Pin.PULL_UP) sda = Pin(4, Pin.OUT, Pin.PULL_UP) i2c = I2C(scl=scl, sda=sda, freq=450000) oled = ssd1306.SSD1306_I2C(128, 64, i2c, addr=0x3c) oled.fill(0) oled.text('ESP32', 45, 5) oled.text('MicroPython', 20, 20) oled.show() #+END_SRC * MPU 6050 #+BEGIN_SRC python from machine import I2C, Pin from mpu6050 import accel scl=Pin(36, Pin.OUT) sda=Pin(37, Pin.OUT) i2c = I2C(scl=scl, sda=sda, freq=450000) a = accel(i2c) a.get_values() #+END_SRC * Connections Pin 23 ESP -> SDA MPU Pin 19 ESP -> SCL MPU MPU AD0 -> - Rail MPU GND -> - Rail MPU Vcc -> + Rail ESP GND -> - Rail ESP VEXT -> +Rail * Things to look at - Can we turn off the MPU with VEXT Control? (ESP Pin 21). - Connecting to WiFi - Client Mode - Connecting to WiFi - Direct Mode - BLE? - NTP? - How to store the data appropriately - How to retrieve data over WiFi - How to detect battery low