Skip to content

jabezwinston/etplib-python

Repository files navigation

Embedded Tester Protocol (ETP) library for Python

etplib allows access to microcontroller peripherals from a host computer. Microcontroller should be running the ETP firmware.

Inital setup

  • Install etplib using pip
    pip install etplib
    

Flashing ETP firmware

Arduino Uno

  • Download ETP firmware for Arduino Uno

  • Flash ETP firmware to the Arduino Uno using avrdude (Get avrdude here)

     avrdude -v -p atmega328p -c arduino -P COM4 -b 115200 -D -U flash:w:etp_fw_arduino_uno_v0.1.0.hex:i
    

NOTE : Replace COM4 with the port where the Arduino Uno is connected

ESP32

  • Download ETP firmware package for ESP32
  • Install esptool using pip
    pip install esptool
    
  • Run flash.bat (Windows) or flash.sh (Linux) to flash the ETP firmware to the ESP32

NOTE : ETP firmware for ESP32 is experimental !

Usage

Blink LED

import etplib
import time

etp = etplib.ETP(transport='serial', port='COM4', baudrate=115200)
etp.open()
etp.reset()

etp.gpio.init({"_13": "output"})

# Blink LED on pin 13 of the Arduino Uno
while True:
    etp.gpio_write({"_13": 1})
    time.sleep(1)
    etp.gpio_write({"_13": 0})
    time.sleep(1)

etp.close()