Contributors:
Alex the Giant,
Ell C IntroductionIntroducing 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 MaterialsLike 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:
SparkFun MicroMod ESP32 Processor WRL-16781This board combines Espressif's ESP32 with our M.2 connector interface to bring a power-packed processor board into our Micro…
SparkFun MicroMod SAMD51 Processor DEV-16791With a 32-bit ARM Cortex-M4F MCU, the SparkFun MicroMod SAMD51 Processor Board is one powerful microcontroller packaged on a …
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:
SparkFun Qwiic Cable Kit KIT-15081To make it even easier to get started, we've assembled this Qwiic Cable Kit with a variety of Qwiic cables from 50mm to 500mm…
USB 3.1 Cable A to C - 3 Foot CAB-14743USB C is fantastic. But until we have converted all our hubs, chargers, and ports over to USB C this is the cable you're goin…
Reversible USB A to C Cable - 2m CAB-15424These 2m cables have minor modifications that allow them to be be plugged into their ports regardless of orientation on the U…
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) COM-15051This is a class 10 16GB microSD memory card, perfect for housing operating systems for single board computers and a multitude…
Retired Suggested ReadingThe 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 (eg. 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:
We also recommend taking a look through the following tutorials if you are not familiar with the concepts covered in them:
Getting Started with MicroModDive into the world of MicroMod - a compact interface to connect a microcontroller to various peripherals via the M.2 Connector!
Designing with MicroModThis 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!
Hardware OverviewIn this section we'll cover the various hardware and sensors included on the MicroMod Input & Display Carrier Board.
Common ComponentsMost 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.
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 ATTiny84We'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.
TFT Display4DLCD'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.
LEDsThe Input and Display Carrier Board has 6 Addressable APA102 LEDs.
Input ButtonsButton 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.
JTAG DebuggingWe'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.
Jumpers I2C JumperIf 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 JumperCutting this jumper will disable the "Power" LED on the front of the board.
3V3CTRL JumperMany 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 JumperIf you really, really, REALLY need more power, closing this jumper will bypass the 2A fuse. Close at your own risk!
Measure JumperWant 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 pagefor more on our reasoning behind this change.
The Input and Display Carrier Board measures 3.25 inches by 2.25 inches.
Hardware HookupTo 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.
The Processor Board will stick up at an angle, as seen here:
[
Once the board is in the socket, gently hold the MicroMod Processor Board down and tighten the screw with a Phillip's head.
Once the board is secure, your assembled MicroMod system should look similar to the image below!
Connecting Everything UpWith 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.
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:
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 CodeThe 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:
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.
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 TestExample 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:
Having a hard time seeing? Click the image for a closer look.
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.
Having a hard time seeing? Click the image for a closer look.
Example 2: HyperDisplay BasicsThis 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.
Having a hard time seeing? Click the image for a closer look.
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):
Having a hard time seeing? Click the image for a closer look.
Example 3: Advanced HyperDisplayExample 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 Example3_AdvancedHyperDisplay.
Having a hard time seeing? Click the image for a closer look.
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):
Having a hard time seeing? Click the image for a closer look.
Example 4: Buffering HyperDisplayThis 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.
Having a hard time seeing? Click the image for a closer look.
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):
Having a hard time seeing? Click the image for a closer look.
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.
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.
Resources and Going FurtherFor 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:
Looking for some project inspiration using your Input and Display Carrier Board? The tutorials below can help you get started!
MicroMod RP2040 Processor Board Hookup GuideThis tutorial covers the basic functionality of the MicroMod RP2040 Processor Board and highlights the features of the dual-core ARM Cortex-M0+ processors development board. Get started with the first microcontroller from the Raspberry Pi Foundation!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4