The interface hardware is pretty simple. My end goal is to build it around an ItsyBitsy M4 Express board. Alas there aren't any yet, so I did the next best thing: I build it as a Metro M4 Express shield. Not the compact form factor I wanted, but all the same capabilities.

There's a microSD breakout hooked to the SPI lines, a 128x32 OLED on the I2C lines, and a rotary encoder (with push switch) using 3 digital inputs. 

See the related guides for more details on each of these:

Because I made the decision to use I2C between the interface circuit and the emulator circuit, any MCU with I2C capabilities would work.

One small wrinkle: the Metro M4 is a 3.3v system while the emulator is 5v. Adafruit to the rescue with the BSS138 based 4-channel I2C-safe Bi-directional Logic Level Converter. We just need to run the I2C lines through this between the two circuits.

components_Controller_back.jpg
The 30 gauge silicon covered hookup wire (black is listed in the related products sidebar) has revolutionized my builds. Red is power, Black is ground, blue is SPI, yellow is SCL, green is SDA, white is the digital signals for the encoder, and for some reason I used a bit of green and white for reset.

This guide was first published on May 14, 2018. It was last updated on May 14, 2018.

This page (Interface Hardware) was last updated on May 08, 2018.

Text editor powered by tinymce.