On the front are two 240x240 IPS TFTs.
They are ST7789V chipset displays, with 240x240 pixels and backlight control. Each has an individual unshared SPI bus so we can DMA-blast pixels out as fast as possible.
The TFT displays are connected to the M4SK using display connectors located on the back of the board. The ribbon cables for the displays fit through a slot in the center of each side of the M4SK.
The main processor chip is the ATSAMD51G19 Cortex M4 microcontroller running at 120MHz with 512KB Flash, and 192KB RAM.
Towards the center left on the right side, next to the microcontroller, is 8 MB QSPI flash for storing graphics and sound effects.
Towards the top center of the left side is the seesaw chip. This chip handles the tactile buttons and the light sensor. You can read the data from them using the I2C seesaw library and the pins specified. This is what lets us have only 9 wires to bridge the two halves of the PCB
There is one USB port on the board.
On the top of the right side is a USB Micro port, which is used for powering and programming the board.
You can also power your MONSTER M4SK by plugging in a 3.7/4.2V Lipoly battery into the JST 2-PH battery port found in the center of the right side. You can then recharge the battery over the Micro USB jack. When charging, the CHG LED will light up.
It's normal for the yellow CHG LED to flicker when no battery is in place, that's the charge circuitry trying to detect whether a battery is there or not. If you are powering only over USB, you can cover it with tape
In the upper right corner on the right side is the power switch. You can power off the board when you're not using it to conserve power.
There is a stereo headphone jack on the top of the right side. This is connected to the two analog DAC pins on the SAMD51 - A0 and A1
There is a mono speaker driver for smaller 8 ohm 1W speakers. Add a speaker using the Molex PicoBlade speaker connector located on the right side of the board towards the top. The speaker is connected to the A0 analog DAC, and can be enabled/disabled using the SPEAKER ENABLE pin (pin 20)
At the bottom on the right side is a 4 pin JST SH port for connecting an optional PDM microphone. Note that the PDM microphone is connected to two SERCOM pins, and we use SPI2 to read PDM data (if you think about it, PDM is just fixed-frequency SPI!) You could in theory turn this into an I2C or UART port. The SAMD51G19 chip used on this board does not support I2S, so we can't use I2S to read the PDM data.
Front and center, is a capacitive touch pad nose this is connected to D2. It's not a great capacitive touch input, because of the zener diode on D2's protection circuitry, but it can detect presses with some startup-calibration. Use as an input.
On the left side are three tactile buttons for user interfacing. They are connected to the seesaw chip on pins 9, 10, 11. You need to use the seesaw library to enable the pull-ups on all three and read the buttons (they will be connected to ground when pressed)
There is an LIS3DH 3-axis accelerometer, on the right side near the bottom towards the middle, connected to the I2C pins for detection motion, tilt or taps.
On the left side is a light sensor. It's connected to the seesaw chip on pin 1. Read the analog value using the seesaw library. Lower values like 50 mean its dark. Higher values like 1000 means its bright. It's reverse mount so you can read light levels from the front on the right side of the M4SK.
There is a 4-pin JST I2C connector in the center on the left, that is STEMMA and Grove compatible. In CircuitPython, you can use the STEMMA connector with board.SCL
and board.SDA
, or board.STEMMA_I2C()
. The I2C connection is shared with the seesaw chip and the accelerometer.
The I2C connector defaults to 5V. There is a jumper located immediately to the right of the connector that you can cut or solder to change it between 5V and 3V.
On the right and left sides, towards the bottom, are two connectors labeled D2 and D3. These are 3-pin JST digital or analog connectors for sensors or NeoPixels. These pins can be analog inputs or digital I/O.
They have protection 1K resistors + 3.6V zener diodes so you can drive an LED directly from the output. Connect to them via board.D2
and board.D3
or Arduino 2
and 3
. For analog reading in Arduino use A2 for D2 and A3 for D3.
The reset button is located on the bottom of the right side.
Click it once to re-start your firmware. Click twice to enter bootloader mode.
On the top of the right side, next to the USB connector, is a little red LED tied to pin D13. You can control it in your code. It pulses when the board is in bootloader mode.
Text editor powered by tinymce.