Skip to content

Trinket

Trinket USB Accellerometer Keyboard

This project combines an Adafruit Trinket with a i2c accelerometer to create a USB seismograph. The output is sent as the keys A to Z to make it easy to integrate with environments like Scratch.

Assembly

The header pins need to be cut to the right length for the Trinket. The breadboard can be used as a jig to hold the pins straight on the Trinket. For the accelerometer it helps to put another header underneath to hold it level.

We held a soldering party to put together forty kits. So many header pins!

Wiring

The two components can be connected on the breadboard or in the air using female-female jumper wires. Don't connect them while the Trinket is powered to avoid accidental shorts or other problems! The pinout is:

Function Trinket MMA8451 Color
Power USB VIN Red
Ground GND GND Black
Data #0 SDA Yellow
Clock #2 SCL Green

Code

The code flashed on the devices is in github.com/osresearch/trinket in the imu/ directory. If you want to change the update rate it is controlled by the last_keystroke timeout in loop().

To setup the Arduino IDE you need to install the Adafruit board package. In Preferences, add to the Board Manager URL: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json

Install the Trinket Keyboard/Mouse library: https://github.com/adafruit/Adafruit-Trinket-USB/archive/master.zip or go into Library Manager and install Trinket Keyboard

Tutorial: https://learn.adafruit.com/trinket-usb-keyboard/code

Adafruit MMA8451 library was too big to fit along with the keyboard library, so I cut it down to just the pieces that were required. The driver is included in the source tree above.

2016 AVR Arduino


Last update: November 8, 2020