Maker.io main logo

SparkFun MicroMod Input and Display Carrier Board Hookup Guide

2024-09-03 | By SparkFun Electronics

License: See Original Project Displays LEDs / Discrete / Modules MicroMod Qwiic

Courtesy of SparkFun

Guide by Alex the Giant, Ell C

Introduction

Introducing the SparkFun MicroMod Input and Display Carrier Board! This nifty little board works ‎with all SparkFun MicroMod processors so you can create your own display with one of a multitude ‎of processors.‎

The carrier board includes 6 APA102 Addressable LEDs, 6 Input Buttons, Onboard Voltage ‎Regulation, 2.4" TFT Display Screen, IO Connector, and a Buzzer. In addition, there's a microSD ‎card slot to store and read data.‎

Let's dive in and see what we can do!‎

 

Required Materials

Like all of our MicroMod Carrier Boards, there is no processor included but instead you can plug in ‎a processor board of your choice to the MicroMod M.2 connector on the carrier. Below are a few ‎options to choose for your processor:‎

You'll also need a USB-C cable to connect the Carrier to your computer and if you want to add ‎some Qwiic breakouts to your MicroMod project you'll want at least one Qwiic cable to connect it all ‎together. Below are some options for both of those cables:‎

Along with a processor and the pertinent cables and accessories, if you want to take full advantage ‎of the features of the Input and Display Carrier Board, you will need a microSD card:‎

  • microSD Card - 16GB (Class 10)

Suggested Reading

The SparkFun MicroMod ecosystem is a unique way to allow users to customize their project to ‎their needs. Do you want to send your data via a wireless signal (e.g., Bluetooth or WiFi)? There's a ‎MicroMod processor for that. Looking to instead maximize efficiency and processing power? You ‎guessed it, there's a MicroMod processor for that. If you are not familiar with the MicroMod system, ‎take a look here:‎

micromod

MicroMod Ecosystem

We also recommend taking a look through the following tutorials if you are not familiar with the ‎concepts covered in them:‎

  • Getting Started with MicroMod: Dive into the world of MicroMod - a compact interface to connect a microcontroller to various ‎peripherals via the M.2 Connector!‎
  • Designing with MicroMod: This tutorial will walk you through the specs of the MicroMod processor and carrier board as well as ‎the basics of incorporating the MicroMod form factor into your own PCB designs!‎
  • MicroMod ESP32 Processor Board Hookup Guide: A short hookup guide to get started with the SparkFun MicroMod ESP32 Processor Board.‎

Hardware Overview

In this section we'll cover the various hardware and sensors included on the MicroMod Input & ‎Display Carrier Board.‎

Common Components

Most SparkFun MicroMod Carriers will have some common components and all MicroMod Carriers ‎will have the keyed M.2 MicroMod Connector to plug your processor into. The photo and list below ‎outline some of the components you can expect on most SparkFun MicroMod Carriers.‎

  • M.2 MicroMod Connector - This special keyed M.2 connector lets you install your MicroMod ‎Processor of choice on your Input & Display Carrier Board
  • USB-C Connector - Connect to your computer to program your Processor and also can ‎provide power to your MicroMod system
  • 3.3V Regulator - Provides a regulated 3.3V and sources up to 1A
  • Qwiic Connector - The standard Qwiic connector so you can add other Qwiic devices to your ‎MicroMod system
  • Boot/Reset Buttons - Push buttons to enter Boot Mode on Processor boards and to Reset ‎your MicroMod circuit. More information needed - LAC
  • microSD Slot - Insert a microSD card for reading and writing data

board_2

Power

The Input and Display Carrier Board takes an input voltage range from 2.7V - 6V via the USB-C ‎connector. We've incorporated a power regulation circuit that caps the voltage for power sensitive ‎circuits and the Qwiic connector.‎

Input & Display Carrier Board Specific Components

ATTiny84‎

We've populated this carrier board with Atmel's ATtiny84 with 8kB of programmable flash. This little ‎guy is preprogrammed to communicate with the processor over I2C to read button presses.‎

tiny_3

TFT Display

‎4DLCD's 24320240-IPS is a color active-matrix LCD module incorporating amorphous silicon TFT ‎‎(Thin Film Transistor). The module display area measures 2.4" and contains 240 x 320 pixels.‎

Note: IPS displays have higher display quality, better colors, and much better viewing angles than ‎their non-IPS counterparts.‎

display_4

LEDs

The Input and Display Carrier Board has 6 Addressable APA102 LEDs.

leds_5

Input Buttons

Button button, who's got the button? We do! We have two input buttons (A and B), and a 5 way ‎switch that allows you to navigate a UI or play an onboard game.

buttons_6

JTAG Debugging

We've populated the JTAG footprint for more advanced users who need breakpoint level ‎debugging. We recommend checking out our JTAG section for the compatible JTAG programmer ‎and debugger.‎

debug_7

Jumpers

jumpers_8

I2C Jumper

If you are daisy chaining multiple Qwiic devices, you will want to cut this jumper; if multiple sensors ‎are connected to the bus with the pull-up resistors enabled, the parallel equivalent resistance could ‎create too strong of a pull-up for the bus to operate correctly. As a general rule of thumb, disable all ‎but one pair of pull-up resistors if multiple devices are connected to the bus. To disable the pull up ‎resistors, use an X-acto knife to cut the joint between the two jumper pads highlighted below.‎

PWR Jumper

Cutting this jumper will disable the "Power" LED on the front of the board.‎

‎3V3CTRL Jumper‎

Many of the MicroMod carrier boards have an RTC backup battery on board and as part of the ‎standardized voltage regulation circuit we include a 3V3 jumper that, when closed, allows you to ‎control the 3V3 control regulator. This shuts down everything on the 3V3 rail, but the battery keeps ‎the processor awake. The Input and Display Carrier Board does not have a backup battery, so this ‎jumper should remain open.‎

BYP Jumper

If you really, really, REALLY need more power, closing this jumper will bypass the 2A fuse. Close at ‎your own risk!‎

Measure Jumper

Want to measure the juice running through your circuits? Cut the trace between these PTH pads in ‎order to measure the current with a Digital Multimeter.‎

PinOuts

Note: You may not recognize the COPI/CIPO labels for SPI pins. SparkFun is working to move ‎away from using MISO/MOSI to describe signals between the controller and the peripheral. Check ‎out this page for more on our reasoning behind this change.‎

INPUT & DISPLAY CARRIER BOARD PINOUT TABLE

table_9

MICROMOD GENERAL PINOUT TABLE

table_10

MICROMOD GENERAL PIN DESCRIPTIONS

table_11

Board Dimensions

The Input and Display Carrier Board measures 3.25 inches by 2.25 inches.

dimensions_12

Hardware Hookup

To get started with the Input and Display Carrier Board, you'll need a processor board. Here we are ‎using the MicroMod ESP32 Processor Board.‎

Align the top key of the MicroMod ESP32 Processor Board to the screw terminal of the Input and ‎Display Carrier Board and angle the board into the socket. Insert the board at an angle into the M.2 ‎connector.‎

Note: There is no way to insert the processor backward since the key prevents it from mating with ‎the M.2 connector and as an extra safeguard to prevent inserting a processor that matches the key, ‎the mounting screw is offset so you will not be able to secure an improperly connected processor ‎board.‎

align_13

The Processor Board will stick up at an angle, as seen here:

stick_14

Once the board is in the socket, gently hold the MicroMod Processor Board down and tighten the ‎screw with a Phillip's head.‎

tighten_15

Once the board is secure, your assembled MicroMod system should look similar to the image below!‎

assembled_16

Connecting Everything Up

With your processor inserted and secured it's time to connect your carrier board to your computer ‎using the USB-C connector on the Carrier. Depending on which carrier you choose and which ‎drivers you already have installed, you may need to install drivers.‎

Note: Make sure that for whatever processor board you choose, you have the correct board ‎definitions installed. ‎

For this particular tutorial, we are using the MicroMod ESP32 Processor Board. Board definitions ‎for this processor board can be found in the Software Setup and Programming section of ‎the MicroMod ESP32 Processor Board Hookup Guide. ‎

If you are using a different processor board, go to our MicroMod Processor Boards landing page, ‎find your processor board, and head on over to that tutorial for help installing your board definition.‎

Software Setup and Programming

Note: This example assumes you are using the latest version of the Arduino IDE on your desktop. ‎If this is your first time using Arduino, please review our tutorial on installing the Arduino IDE. If you ‎have not previously installed an Arduino library, please check out our installation guide.

To get started, you're going to want to get familiar with our HyperDisplay libraries. HyperDisplay is ‎an abstracted library for pretty much any 2D graphics display and has a focus on extensibility. Since ‎the interface is standardized, you can write display applications just once and make them work on ‎many different displays with a few small changes. If you want to go more in depth check out this ‎HyperDisplay tutorial.‎

hyper_17

Everything You Should Know About HyperDisplay

‎This is a tutorial to go in-depth about the SparkFun HyperDisplay Arduino Library.‎

To use HyperDisplay with this carrier board, you will need to have all three of the following libraries ‎installed in your Arduino IDE. You can head on over to the individual GitHub pages to download or ‎simply click the appropriate link for each of the libraries listed below:‎

table_18

HyperDisplay GitHub

HyperDisplay Download

SparkFun HyperDisplay ILI9341 Arduino Library GitHub

SparkFun HyperDisplay ILI9341 Arduino Library Download

HyperDisplay 4DLCD-320240 Arduino Library GitHub

HyperDisplay 4DLCD-320240 Arduino Library Download

Check out this tutorial on how to install an Arduino library if you are unfamiliar.‎

Each of the libraries above contain some examples, however the ones that will actually make your ‎Input and Display Carrier Board light up are contained in the 'HyperDisplay 4DLCD-320240 Arduino ‎Library' -- in case you are wondering, that name comes from the name of the display module that is ‎used on the board. Once your libraries have been installed move on to the next section and try out ‎a few of the examples.‎

Example Code

The HyperDisplay library for the Input and Display Carrier Board is named after the LCD module ‎that it uses - the 4DLCD-320240. If you've properly installed the required libraries, you'll notice a ‎number of examples in File->Examples->SparkFun HyperDisplay 4DLCD-320240. If you haven't ‎already, make sure you've got the following three libraries installed:‎

You will also need to make sure that you have the board definitions for your chosen processor ‎board installed. ‎

For this particular tutorial, we are using the MicroMod ESP32 Processor Board. Board definitions ‎for this processor board can be found in the Software Setup and Programming section of ‎the MicroMod ESP32 Processor Board Hookup Guide.‎

All of the following examples are explained in depth in the Everything You Should Know About ‎HyperDisplay Tutorial. We'll show you a quick overview of each example here, but if you want more ‎information on how these examples and their code work, head on over to the HyperDisplay Tutorial.‎

hyper_17

Everything You Should Know About HyperDisplay

This is a tutorial to go in-depth about the SparkFun HyperDisplay Arduino Library.‎

Note: The display's colors are inverted from the standard ILI9341 driver library. If you're using the ‎HyperDisplay libraries, this is taken care of in the HyperDisplay 4DLCD-320240. But if you prefer ‎using a different ILI9341 library, no hard feelings, but you will have to run that library's invert ‎display function in order for the colors to display like you expect.

Example 1: Display Test

Example one verifies that your display is working and gives you some basic code to draw lines and ‎shapes. To start, go to File->Examples->SparkFun HyperDisplay 4DLCD-320240 and ‎load Example1_DisplayTest. In windows, it will look like this:‎

test_19

Make sure you have the correct board selected, as well as the correct COM port. Your processor ‎board of choice will dictate which board definition you need to load.‎

MicroMod_Input_Display_Carrier_Board_Update_1

Example 2: HyperDisplay Basics

This code walks you through the simplest uses of HyperDisplay so that you can start to write your ‎own code. To start, go to File->Examples->SparkFun HyperDisplay 4DLCD-320240 and ‎load Example2_HyperDisplayBasics.‎

menu_20

As with Example 1, please make sure you have the correct board selected, as well as the correct ‎COM port. Go ahead and upload your code, and you should see something like the following (note ‎that the gif is sped up):‎

MicroMod_Input_Display_Carrier_Board_Update_2

Example 3: Advanced HyperDisplay

Example 3 goes over Color Cycles and the drawing functions currently available in the HyperDisplay ‎drawing functions. For a more in-depth look at the functions available in this example, refer to ‎the Advanced Drawing Functions section of the Everything You Should Know About ‎HyperDisplay tutorial.‎

To start, go to File->Examples->SparkFun HyperDisplay 4DLCD-320240 and ‎load and ‎load Example4_BufferingHyperDisplay.

load_21

As above, please make sure you have the correct board selected, as well as the correct COM port. ‎Go ahead and upload your code. You should see something like the following (note that the gif is ‎sped up):‎ ‎

MicroMod_Input_Display_Carrier_Board_3

Example 4: Buffering HyperDisplay

This last example shows you the basics of how to use the buffering abilities of HyperDisplay. You ‎can get more in-depth discussion of this by referring to the Buffering section of the Everything You ‎Should Know About HyperDisplay tutorial.‎

To start, go to File->Examples->SparkFun HyperDisplay 4DLCD-320240 and ‎load Example4_BufferingHyperDisplay.‎‎

buffering_22

As above, please make sure you have the correct board selected, as well as the correct COM port. ‎Go ahead and upload your code. You should see something along the lines of the following (note ‎that the gif is sped up):‎

MicroMod_Input_Display_Carrier_Board_4

Troubleshooting

Not working as expected and need help? ‎

If you need technical assistance and more information on a product that is not working as you ‎expected, we recommend heading on over to the SparkFun Technical Assistance page for some ‎initial troubleshooting.

SPARKFUN TECHNICAL ASSISTANCE PAGE‎ ‎

If you don't find what you need there, the SparkFun Forums: MicroMod are a great place to find ‎and ask for help. If this is your first visit, you'll need to create a Forum Account to search product ‎forums and post questions.

SPARKFUN FORUMS: MICROMOD

Resources and Going Further

For more information about the MicroMod Input and Display Carrier, check out the following links:‎

For more information about the SparkFun MicroMod Ecosystem, take a look at the links below:‎

制造商零件编号 DEV-16985
MICROMOD INPUT/DISPLAY CARRIER
SparkFun Electronics
制造商零件编号 WRL-16781
MICROMOD ESP32 PROCESSOR
SparkFun Electronics
制造商零件编号 DEV-16791
MICROMOD SAMD51 PROCESSOR
SparkFun Electronics
制造商零件编号 KIT-15081
QWIIC CABLE KIT
SparkFun Electronics
制造商零件编号 CAB-15424
CBL USB2.0 A PLUG TO C PLG 6.56'
SparkFun Electronics
制造商零件编号 CAB-14743
CABLE A PLUG TO C PLUG 3.28'
SparkFun Electronics
Add all DigiKey Parts to Cart
TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum