Skip to content

Modules

SuperMechaCow edited this page Aug 1, 2017 · 1 revision

Module Support

Using the I2C bus, multiple hardware modules can be "plugged in" to the main critter platform to add functionality. The critter platform is always the I2C master and the modules the slaves.

OpenCritter includes code to automatically detect, identify and pass appropriate information to modules plugged into the main platform.

Input/Output Processing Unit (IOPU)

Having changed to the compact ESP-01 module for development, and to circumvent software PWM hassles of the NodeMCU, an additional "IOPU" is used to handle input/output functions for the user. The current version of the IOPU is Atmega or Attiny based. It includes three buttons, a speaker, a vibration motor, and a heartbeat LED.

Code is being developed to support a variety of IOPU types. The I2C scanning protocol should be able to ask the IOPU in question exactly which functions it is capable of. This may include X/Y joystick values, analog information, and additional buttons.

Graphics Processing Unit

By using a basic graphics I2C API, the built-in OLED can be overridden with a better display and graphics processor on the I2C bus. Working GPUs are still in the works at the time of writing.

Clone this wiki locally