basys mx3™ board reference manual - elexp.com

62
1300 Henley Court Pullman, WA 99163 509.334.6306 www.store.digilent.com Basys MX3 ™ Board Reference Manual Revised April 21, 2017 This manual applies to the Basys MX3 rev. B DOC#: 410-336 Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 1 of 56 Table of Contents Table of Contents .................................................................................................................. 1 Overview............................................................................................................................... 5 Software Support ........................................................................................................................ 6 Coursework and Additional Materials ........................................................................................ 6 1 Programming the Board ................................................................................................. 7 1.1 Programming Tools .......................................................................................................... 7 1.2 Programming Basics ......................................................................................................... 8 1.3 Digital Inputs and Outputs ............................................................................................... 9 1.4 Remappable Pins ............................................................................................................ 10 1.5 CPU Clock Source ........................................................................................................... 11 2 Power Supplies ............................................................................................................ 12 3 User LEDs ..................................................................................................................... 13 3.1 Connectivity.................................................................................................................... 14 3.2 Functionality ................................................................................................................... 14 4 User Switches .............................................................................................................. 14 4.1 Connectivity.................................................................................................................... 15 4.2 Functionality ................................................................................................................... 16 4.3 Shared Pins ..................................................................................................................... 16

Upload: others

Post on 08-Nov-2021

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Basys MX3™ Board Reference Manual - elexp.com

1300 Henley Court Pullman, WA 99163

509.334.6306 www.store.digilent.com

Basys MX3™ Board Reference Manual

Revised April 21, 2017 This manual applies to the Basys MX3 rev. B

DOC#: 410-336 Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 1 of 56

Table of Contents

Table of Contents .................................................................................................................. 1

Overview ............................................................................................................................... 5

Software Support ........................................................................................................................ 6

Coursework and Additional Materials ........................................................................................ 6

1 Programming the Board ................................................................................................. 7

1.1 Programming Tools .......................................................................................................... 7

1.2 Programming Basics ......................................................................................................... 8

1.3 Digital Inputs and Outputs ............................................................................................... 9

1.4 Remappable Pins ............................................................................................................ 10

1.5 CPU Clock Source ........................................................................................................... 11

2 Power Supplies ............................................................................................................ 12

3 User LEDs ..................................................................................................................... 13

3.1 Connectivity .................................................................................................................... 14

3.2 Functionality ................................................................................................................... 14

4 User Switches .............................................................................................................. 14

4.1 Connectivity .................................................................................................................... 15

4.2 Functionality ................................................................................................................... 16

4.3 Shared Pins ..................................................................................................................... 16

Page 2: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 2 of 56

5 User Buttons ................................................................................................................ 16

5.1 Connectivity .................................................................................................................... 17

5.2 Functionality ................................................................................................................... 17

5.3 Shared Pins ..................................................................................................................... 18

6 RGB LED ....................................................................................................................... 18

6.1 Connectivity .................................................................................................................... 19

6.2 Functionality ................................................................................................................... 19

6.2.1 RGB LED Implemented Using PWM ........................................................................ 19

6.2.2 RGB LED Implemented Using PDM ......................................................................... 20

7 Seven-segment Display ................................................................................................ 20

7.1 Connectivity .................................................................................................................... 22

7.2 Functionality ................................................................................................................... 23

8 LCD Module ................................................................................................................. 24

8.1 Connectivity .................................................................................................................... 25

8.2 Functionality ................................................................................................................... 26

9 I2C Interface ................................................................................................................. 27

10 Accelerometer ............................................................................................................. 28

10.1 Connectivity ................................................................................................................ 28

10.2 Functionality ............................................................................................................... 28

10.3 Shared Pins ................................................................................................................. 29

11 Serial Peripheral Interface ............................................................................................ 29

11.1 SPI1 ............................................................................................................................. 29

11.2 SPI2 ............................................................................................................................. 29

12 Flash Memory .............................................................................................................. 30

12.1 Connectivity ................................................................................................................ 30

Page 3: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 3 of 56

12.2 Functionality ............................................................................................................... 31

13 UART ........................................................................................................................... 31

13.1 Connectivity ................................................................................................................ 32

13.2 Functionality ............................................................................................................... 32

14 Motor Driver ................................................................................................................ 32

14.1 Connectivity ................................................................................................................ 33

14.2 Functionality ............................................................................................................... 35

15 Servo Headers .............................................................................................................. 35

15.1 Connectivity ................................................................................................................ 36

15.2 Functionality ............................................................................................................... 36

15.3 Shared Pins ................................................................................................................. 37

16 IrDA Module ................................................................................................................ 37

16.1 Connectivity ................................................................................................................ 37

16.2 Functionality ............................................................................................................... 38

17 Audio Out .................................................................................................................... 39

17.2 Connectivity ................................................................................................................ 39

17.2 Functionality ............................................................................................................... 40

18 Microphone ................................................................................................................. 40

18.1 Connectivity ................................................................................................................ 41

18.2 Functionality ............................................................................................................... 41

19 Analog Input Control .................................................................................................... 42

19.1 Connectivity ................................................................................................................ 42

19.2 Functionality ............................................................................................................... 43

20 Pmod Connectors ......................................................................................................... 43

Page 4: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 4 of 56

21 Analog Discovery Debug Header ................................................................................... 45

Appendix 1: Remappable Input Pins .................................................................................... 47

Appendix 2: Remappable Output Pins .................................................................................. 49

Appendix 3: Basys MX3 Pinout ............................................................................................ 53

Page 5: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 5 of 56

Overview

The Basys MX3 is a true MCU trainer board designed from the ground up around the teaching experience. Basys

MX3 features the PIC32MX370 from Microchip and was designed to be used with the MPLAB® X IDE. With an

exhaustive set of peripherals, students gain exposure to a wide range of embedded systems related concepts while

using a professional grade tool set. Accompanied by free and open source coursework, including seven in-depth

teaching units and 15 complete labs, the Basys MX3 is a versatile MCU trainer board ideal for teaching introductory

embedded systems courses.

Power: Switches, Push-buttons, LEDs, and Displays:

Audio, Motor Control, and Other Devices:

Powered from USB or any 5V external power source

USB and Debugging:

USB-UART Bridge

USB programmer/debugger

30-pin Analog Discovery 2 connector

5 Push-buttons

1 Reset button

8 Slide switches

8 LEDs

1 RGB LED

4-digit 7-segment display

LCD character display

Expansion Connectors:

Two standard Pmod ports o 16 Total

microcontroller I/O

One I2C Connector o 2 Total

microcontroller I/O

Speaker with Audio Output Jack and volume control

Microphone with volume control

Dual H-Bridge Motor Driver for up to two 1.5 A Brushed DC Motors or one stepper motor

2 Servo Connectors

FIR-compatible IrDA Module

Potentiometer

3-axis, 12-bit accelerometer

4 MB SPI Flash

The Basys MX3.

PIC32MX370F512L Microcontroller

MIPS32® M4K® core runs up to

96 MHz using onboard 8 MHz oscillator

512 KB of Program Flash Memory, 12 KB

of Boot Flash Memory

128 KB of SRAM

Four Direct Memory Access (DMA)

Modules

Two SPI, Two I²C, and Five UART serial

interfaces

Parallel Master Port (PMP) for graphics

interfaces

Five 16-bit Timers/Counters

Five Input Capture Modules

Five Output Compare Modules

85 I/O pins

o 54 pins support Peripheral Pin

Select (PPS) for function

remapping

Page 6: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 6 of 56

Software Support

The Basys MX3 is fully supported by Microchip’s MPLAB X IDE. See section 1 on Programming the Board for more

information on using the Basys MX3 in MPLAB X IDE. Digilent provides a set of libraries called the Basys MX3

Library Pack that adds support for all onboard peripherals. This library pack can be downloaded from the Basys

MX3 Resource Center.

The Basys MX3 can also be used in Arduino IDE once the Digilent Core for Arduino IDE has been installed.

Instructions for installing the Digilent Core for Arduino IDE can be found on the Basys MX3 Resource Center.

Coursework and Additional Materials

Basys MX3 comes with a complete set of coursework designed to give teaching professionals flexibility in designing

embedded systems and other microprocessor courses. With almost 300 pages of material, “Embedded Systems

Basys MX3 and PIC32MX370” covers topics from toggling LEDs, motor control, and introduction to digital signal

processing. Access to the full coursework is available on the Basys MX3 Resource Center.

Links to additional materials from Digilent and Microchip, including the Basys MX3 schematic and the

PIC32MX370F512L datasheet, can also be found on the Basys MX3 Resource Center.

The Basys MX3 uses a lot of devices to implement all of the functionality it provides (accelerometer, flash memory,

motor driver, IRDA, etc.). The manufacturers of each of these devices provide detailed descriptions of their

functionality in their datasheets.

Page 7: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 7 of 56

1 Programming the Board

1.1 Programming Tools

The Basys MX3 can be used with Microchip’s standard MPLAB X IDE. This software suite can be downloaded for

free from the Microchip website and includes a free evaluation copy of the XC32 compiler for use with the PIC32

microcontroller family.

MPLAB X IDE is the tool used to write, compile, program, and debug code running on the Basys MX3 board.

Programming and debugging a program on the Basys MX3 using the MPLAB X IDE is possible using the DEBUG USB

connector. The board contains all the required circuitry for MPLAB X to communicate with the onboard PIC32, so

no additional programming tools need to be purchased.

When creating a new project in MPLAB X, a wizard allows you to setup the environment and device specific tools.

The steps for this include the following:

1. Select Microchip Embedded / Standalone Project, then use the “Select Device” option to specify the PIC32

microcontroller being used: PIC32MX370F512L.

2. Select the programming tool named Basys MX3 corresponding to the board you want to program, under

Licensed Debugger group.

Figure 1.1. MPLAB X tool selection.

3. Select the compiler you want to use.

Figure 1.2. MPLAB X compiler selection.

Page 8: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 8 of 56

Another useful tool included with MPLAB X is MPLAB X IPE. This tool allows the direct programming/erasing of the

microcontroller, but it does not provide an environment for writing, compiling, or debugging the code. Please see

Microchip documentation for instructions on using this tool.

1.2 Programming Basics

It is often very helpful to include the xc.h header when writing code for the Basys MX3:

#include <xc.h>

This further provides the inclusion of another header (p32mx370f512l.h) into the project that provides useful

definitions such as:

Register names

o example (register LATA is set to 0):

LATA = 0;

Specific register bits that can be accessed using a structure having the name of the register suffixed by

“bits”.

o example (bit LATA1 of the register LATA is set to 1):

LATAbits.LATA1 = 1;

Digilent provides a set of libraries called the Basys MX3 Library Pack that addresses much of the functionality on

the Basys MX3:

ACL (accelerometer)

ADC (analog-to-digital converter)

AUDIO

BTN (buttons)

IRDA

LCD

LED

MIC (microphone)

MOT (motors)

PMODS

RGBLED

SPIFLASH

SSD

SWT (switches)

UART

These libraries are wrappers over the lower level functions that access the registers, allowing the user to call the

functionality using functions like:

LED_Init();

LED_SetValue(4, 1); //turn on LED4

Page 9: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 9 of 56

This set of libraries comes with the user documentation, but this is what you must do in order to use them:

Include in your project the .c and .h files corresponding to the module you want to use (for example led.c and led.h).

In your code, include the header of the module:

#include "led.h"

In your code, call the needed functions

1.3 Digital Inputs and Outputs

The PIC32MX370F512L microcontroller offers access to all the board resources through its pins, so understanding

how to access their features is very important. The list that describes each pin functionality is included in Appendix

3. You can see that each pin may have multiple functions, but all pins have one feature in common: they have an

associated digital I/O (input/output) bit. On PIC32 microcontrollers, the I/O pins are grouped into I/O Ports and are

accessed via peripheral registers in the microcontroller. There are seven I/O Ports numbered A–G and each is 16

bits wide. Depending on the PIC32 microcontroller, some of the I/O Ports are not present, and not all 16 bits are

accessible in all I/O Ports.

Each I/O Port has the following control registers: TRIS, LAT, PORT, ANSEL, CNPU, CNPD, and ODC. The registers for

each I/O Port are named after it: TRISx, LATx, PORTx, ANSELx, CNPUx, CNPDx and ODCx. For example, port A will

have the following assigned registers: TRISA, LATA, etc.

The TRIS register is used to set the pin direction. Setting a TRIS bit to 0 makes the corresponding pin an output.

Setting the TRIS bit to 1 makes the pin an input.

The LAT register is used to write to the I/O Port. Writing to the LAT register sets any pins configured as outputs.

Reading from the LAT register returns the last value written.

The PORT register is used to read from the I/O Port. Reading from the PORT register returns the current state of all

the pins in the I/O Port. Writing to the PORT register may not produce the expected result, therefore writing to LAT

register is recommended.

To summarize: write using LAT, read using PORT.

PIC32 microcontrollers allow any pin set as an output to be configured as either a normal digital output or as an

open-drain output. The ODC register is used to control the output type. Setting an ODC bit to 0 makes the pin a

normal output and setting it to 1 makes the pin an open-drain output.

The multifunction pins that include analog input functionality need to be configured in order to be used as digital

pins by clearing the corresponding bit from ANSEL register. These pins will include ANx in their name. For example:

AN11/PMA12/RB11 for RB11.

This microcontroller has a weak pull-up and a weak pull-down connected to each pin. These pull-ups and pull-

downs are enabled/disabled by setting the corresponding bits from CNPU and CNPD registers to 1/0. The default

setting is 0 (pull-ups and pull-downs disabled).

You can see a typical example of I/O pin configuration as output and digital output operations in the User LEDs

section.

You can see a typical example of I/O pin configuration as input (including analog disable) and digital input

operations in the User Buttons section.

Page 10: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 10 of 56

Refer to the PIC32MX3XX/4XX Family Datasheet, and the PIC32 Family Reference Manual, Section 12, IO Ports, for

more detailed information about the operation of the I/O Ports in the microcontroller.

1.4 Remappable Pins

Users may independently map the input and/or output of most digital peripherals to a fixed subset of digital I/O

pins. Pins that support the peripheral pin select feature include the designation “RPn” in their full pin designation,

where “RP” designates a remappable peripheral and “n” is the remappable port number.

The available peripherals to be mapped are digital-only. These include general serial communications (UART and

SPI), general purpose timer clock inputs, timer-related peripherals (input capture and output compare), and

interrupt-on-change inputs.

On the other hand, some peripheral modules cannot be included in the peripheral pin select feature because it

requires special I/O circuitry on a specific port and it cannot be easily connected to multiple pins. These modules

include I2C and analog-to-digital converters (ADC), among others.

Peripheral pin select features are controlled using two sets of Special Function Registers (SFRs): one to map

peripheral inputs, and one to map peripheral outputs.

The peripheral inputs are mapped and named from the peripheral perspective (based on the peripheral). The [pin

name]R registers, where [pin name] refers to the specific peripheral pins, are used to configure peripheral input

mapping. TABLE 12-1 in the PIC32MX370F512L datasheet from Microchip (and Appendix 1 in this document)

shows the different pins and their values available to assign to a peripheral pin.

The following example shows how different I/Os, such as pin RF4, can be assigned to U1RX input pin of the UART1

peripheral:

U1RXR = 0x02; // 0010 corresponds to RF4

Figure 1.3. Remappable input example.

The peripheral outputs are mapped and named from the pin perspective (on the basis of the pin). The RPnR

registers (Register 12-2) are used to control output mapping. The PIC32MX370F512L datasheet details in TABLE 12-

2 (and Appendix 2 in this document) the values corresponding to each IO pin, associated to each available

peripheral pin. Note that the current version of the Basys MX3 schematic (B.0) incorrectly lists RD6 and RD7 as

remappable pins (RPD6 and RPD7, respectively); these pins are not remappable on the PIC32MX370F512L.

The following example shows how different peripheral outputs, such as U3TX, can be assigned to pin RF4:

Page 11: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 11 of 56

RPF4R = 0x01; // 0001 corresponds to U3TX

Figure 1.4. Remappable output example.

Input and output remapping is illustrated in the SPI2 section, where the SPI2 pins are mapped over the pins of

PMOD A connector.

1.5 CPU Clock Source

The PIC32 microcontroller supports numerous clock source options for the main processor operating clock. The

Basys MX3 uses an 8 MHz external crystal for use with the XT oscillator option. Oscillator options are selected via

the configuration settings specified using the #pragma config statement. Use #pragma config

POSCMOD=XT to select the XT option.

Using the internal system clock phase-locked loop (PLL), it is possible to select numerous multiples or divisions of

the 8 MHz oscillator to produce CPU operating frequencies up to 80 MHz. The clock circuit PLL provides an input

divider, multiplier, and output divider. The external clock frequency (8 MHz) is first divided by the input divider

value selected. This is multiplied by the selected multiplier value and then finally divided by the selected output

divider. The result is the system clock, SYSCLK, frequency. The SYSCLK frequency is used by the CPU, DMA

controller, interrupt controller, and pre-fetch cache.

The values controlling the operating frequency are specified using the PIC32MX370 configuration variables. These

are set using the #pragma config statement. Use #pragma config FPLLIDIV to set the input divider,

#pragma config FPLLMUL to set the multiplication factor, and #pragma config FPLLODIV to set the

output divider. Refer to the PIC32MX3XX/4XX Family Datasheet and the PIC32MX Family Reference Manual,

Section Oscillators, for information on how to choose the correct values, as not all combinations of multiplication

and division factors will work.

In addition to configuring the SYSCLK frequency, the peripheral bus clock, PBCLK, frequency is also configurable.

The peripheral bus clock is used for most peripheral devices; particularly the clock used by the timers and serial

controllers (UART, SPI, I2C). The PBLCK frequency is a division of the SYSCLK frequency selected using #pragma

config FPBDIV. The PBCLK divider can be set to divide by 1, 2, 4, or 8.

The following example will set up the Basys MX3 for operation with a SYSCLK frequency of 80 MHz and a PBCLK

frequency of 80 MHz.

#pragma config FNOSC = FRCPLL

#pragma config FSOSCEN = OFF

Page 12: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 12 of 56

#pragma config POSCMOD = XT

#pragma config OSCIOFNC = ON

#pragma config FPBDIV = DIV_1

#pragma config FPLLIDIV = DIV_2

#pragma config FPLLMUL = MUL_20

#pragma config FPLLODIV = DIV_1

2 Power Supplies

The Basys MX3 requires a 5V power source to operate. This power source can come from the Programming /

Debugging USB port (J12), the USB-UART (J10), or from an external 5V DC power supply that’s connected to Power

Jack (J11). These three power inputs are connected through Schottky diodes to form the primary input power

network, VIN, which is used to power the onboard regulators and the majority of the onboard peripherals. No

jumper is required to select the input power source. The board will automatically power on while the Power Switch

(SW8) is in the on position and power is present on any of the power inputs.

A power-good LED (LD11), driven by the output of the 3.3V regulator (LMR10515), indicates that the board is

receiving power and that the onboard supplies are functioning as expected. An overview of the Basys MX3 power

circuit is shown in Fig 2.1.

Micro-USB

Port (J10)

UART

Micro-USB

Port (J12)

DEBUG

Power Jack (J11)

5V Input

Power OnLED (LD11)

VBAR

VCC3V3

J2

1

DBG_5V0

FT_5V0

J1

1

Servo Headers

JP1

1

TerminalBlock (J5)

VEXT (0 – 11V)

PowerSwitch (SW8)

IC10: LMR10515

1.5AVIN

EN

+ -

ON/OFF

IC7: DRV8835

Motor

Driver

VM

VU5V0

IC11: LP2985IM5-3.3

VOUTVIN

ON

VIN

PWR_ON

VINDBG3V3

Figure 2.1. Power supply circuit.

The USB port(s) can deliver enough power for most designs; however, a few demanding applications, including any

that drive multiple peripheral boards, may require more power than a USB port can provide. In these instances, an

external power supply can be used. Due to their high current demands, motors and servos cannot be powered

through either of the USB ports, and may only be powered through an external supply.

Page 13: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 13 of 56

An external power supply can be used by plugging into Power Jack J11. The supply must use a coaxial, center-

positive 2.0 mm internal-diameter plug, and provide a voltage of 5V DC (4.75V minimum, 5.5V maximum). The

supply should provide a minimum current of 2A if servos are to be used. Ideally, the supply should be capable of

provide 20 Watts of power (5V DC, 4A). Many suitable supplies can be purchased from Digilent or other catalog

vendors.

The onboard motor driver (Texas Instruments DRV8835) may be powered by a 5V supply connected to Power Jack

J11, or by an external supply (0V-11V) connected to pins 1 and 2 of Terminal Block J5. Jumper JP1 is used to select

which power source is used by the motor driver.

Table 2.1. Power rail characteristics.

3 User LEDs

Eight LEDs are provided, labeled LD0 – LD7 on the board (and LED0 – LED7 on the schematic), attached to eight

digital I/O pins. Controlling the LEDs is done by basic access to an output I/O pin. Read more details in the Digital

Inputs and Outputs section.

Figure 3.1 shows the way the LEDs are electrically connected on the Basys MX3.

Supply Circuits Device Current (max/typical)

3.3V (VCC3V3)

PIC32MX370, PMODs, and all onboard peripherals excluding the LCD backlight, RGB LED, IrDA LED, Servos, and Motors

IC10: Texas Instruments LMR10515

1.5A/NA

3.3V (DBG3V3)

Onboard Microchip Programmer/Debugger

IC11: Texas Instruments LP2985IM5-3.3

150mA/NA

Page 14: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 14 of 56

Figure 3.1. LED schematic diagram.

3.1 Connectivity

Label Schematic name

PIC32 pin Description

LD0 LED0 TMS/CTED1/RA0 Led 0

LD1 LED1 TCK/CTED2/RA1 Led 1

LD2 LED2 SCL2/RA2 Led 2

LD3 LED3 SDA2/RA3 Led 3

LD4 LED4 TDI/CTED9/RA4 Led 4

LD5 LED5 TDO/RA5 Led 5

LD6 LED6 TRCLK/RA6 Led 6

LD7 LED7 TRD3/CTED8/RA7 Led 7

Table 3.1. LED connectivity.

All the pins must be defined as digital output (their corresponding TRIS bit must be set to 0):

TRISAbits.TRISA<0-7> = 0; // LED<0-7> configured as output

3.2 Functionality

To turn an LED on or off, turn the corresponding digital output pin high or low by writing 1 or 0 to the

corresponding LATA register bit.

LATAbits.LATA<0-7> = 1; // turn led on

or

LATAbits.LATA<0-7> = 0; // turn led off

Library functions for using the LEDs are contained in the Basys MX3 library pack, LED library; however, the user can

easily use the LEDs without the LED library, as presented above.

4 User Switches

Eight switches are provided, labeled SW0 – SW7 on the board and in the schematic, attached to eight digital I/O

pins of the PIC32. Reading the switches is done by basic access to an input I/O pin. Read more details in Digital

Inputs and Outputs section.

Figure 4.1 shows the way the switches are electrically connected on the Basys MX3.

Page 15: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 15 of 56

Figure 4.1. Switches schematic diagram.

4.1 Connectivity

Label Schematic Name

PIC32 Pin Pin Shared With

Description

SW0 SW0 RPF3/RF3 Switch 0

SW1 SW1 RPF5/PMA8/RF5 Switch 1

SW2 SW2 RPF4/PMA9/RF4 Switch 2

SW3 SW3 RPD15/RD15 Switch 3

SW4 SW4 RPD14/RD14 Switch 4

SW5 SW5 AN11/PMA12/RB11 Switch 5

SW6 SW6 CVREFOUT/AN10/RPB10/CTED11PMA13/RB10 Switch 6

SW7 SW7 AN9/RPB9/CTED4/RB9 TRIG_2 Switch 7

Table 4.1. Switches connectivity.

All the pins must be defined as digital input: their corresponding TRIS bit must be set to 1, and analog function must be disabled for pins routed to SW5, SW6, and SW7.

TRISFbits.TRISF3 = 1; // RF3 (SW0) configured as input

TRISFbits.TRISF5 = 1; // RF5 (SW1) configured as input

TRISFbits.TRISF4 = 1; // RF4 (SW2) configured as input

TRISDbits.TRISD15 = 1; // RD15 (SW3) configured as input

TRISDbits.TRISD14 = 1; // RD14 (SW4) configured as input

TRISBbits.TRISB11 = 1; // RB11 (SW5) configured as input

ANSELBbits.ANSB11 = 0; // RB11 (SW5) disabled analog

TRISBbits.TRISB10 = 1; // RB10 (SW6) configured as input

ANSELBbits.ANSB10 = 0; // RB10 (SW6) disabled analog

Page 16: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 16 of 56

TRISBbits.TRISB9 = 1; // RB9 (SW7) configured as input

ANSELBbits.ANSB9 = 0; // RB9 (SW7) disabled analog

4.2 Functionality

In order to read the switches, the user needs to read the corresponding digital input pin. A value of 1 indicates the

switch as being on (high) or 0 indicates the switch as being off (low).

val = PORTFbits.RF3; // read SW0

val = PORTFbits.RF5; // read SW1

val = PORTFbits.RF4; // read SW2

val = PORTDbits.RD15; // read SW3

val = PORTDbits.RD14; // read SW4

val = PORTBbits.RB11; // read SW5

val = PORTBbits.RB10; // read SW6

val = PORTBbits.RB9; // read SW7

Library functions for using the switches are contained in the Basys MX3 library pack, SWT library; however, the

user can easily use the switches without the SWT library, as presented above.

4.3 Shared Pins

As shown in the connectivity table above, SW7 driving signal is shared with the TRIG_2 signal in 2x15 pins Debug

Header.

5 User Buttons

There are five buttons on the board, labeled BTNU, BTNL, BTNC, BTNR, BTND both on the board and in the

schematic, attached to five digital I/O pins of PIC32. Reading the buttons is done by basic access to an input I/O

pin. Read more details in Digital Inputs and Outputs section.

Figure 5.1 shows the way the buttons are electrically connected on the Basys MX3.

Page 17: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 17 of 56

Figure 5.1. Button schematic diagram.

The Basys MX3 also has a red button labeled RESET. This button is connected directly to the MCLR pin of the PIC32

and will trigger it to be reset.

5.1 Connectivity

Label Schematic Name

PIC32 Pin Pin Shared With

Description

BTNU BTNU PGEC1/AN1/RPB1/CTED12/RB1 PGC Button up

BTNL BTNL PGED1/AN0/RPB0/RB0 PGD Button left

BTNC BTNC RPF0/PMD11/RF0 TRIG_1 Button center

BTNR BTNR AN8/RPB8/CTED10/RB8 S0_PWM Button right

BTND BTND RPA15/RA15 S1_PWM Button down

Table 5.1. Button connectivity.

All the pins must be defined as digital input: their corresponding TRIS bit must be set to 1, and analog function must be disabled for pins corresponding to BTNU, BTNL, BTNR, BTND.

TRISBbits.TRISB1 = 1; // RB1 (BTNU) configured as input

ANSELBbits.ANSB1 = 0; // RB1 (BTNU) disabled analog

TRISBbits.TRISB0 = 1; // RB1 (BTNL) configured as input

ANSELBbits.ANSB0 = 0; // RB1 (BTNL) disabled analog

TRISFbits.TRISF4 = 1; // RF0 (BTNC) configured as input

TRISBbits.TRISB8 = 1; // RB8 (BTNR) configured as input

ANSELBbits.ANSB8 = 0; // RB8 (BTNR) disabled analog

TRISAbits.TRISA15 = 1; // RA15 (BTND) configured as input

5.2 Functionality

To read the buttons, the user needs to read the corresponding digital input pin, a value of 1 indicating the button is

pressed or 0 indicating the button is released:

Page 18: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 18 of 56

val = PORTBbits.RB1; // read BTNU

val = PORTBbits.RB0; // read BTNL

val = PORTFbits.RF0; // read BTNC

val = PORTBbits.RB8; // read BTNR

val = PORTAbits.RA15; // read BTND

Please note that if you want the buttons to trigger a specific functionality, proper software debouncing is required.

Library functions for using the buttons are contained in the Basys MX3 library pack, BTN library; however, the user

can easily use the buttons without the BTN library, as presented above.

5.3 Shared Pins

As shown in the connectivity Table 5.1 above, some pins are shared:

Buttons BTNL and BTNU share functions with PGD and PGC signals used for programming. Therefore, the

following line should be inserted in the code, to disable their programming function.

#pragma config JTAGEN = OFF

Buttons BTNR and BTND share the pins with S0_PWM and S1_PWM, explained in Servo headers section,

so these resources should be used exclusively.

BTNC is shared with TRIG_1 signal in 2x15 Pins Debug Header, so it can be used to trigger events in an

Analog Discovery board experiment.

6 RGB LED

The Basys MX3 board contains one tri-color (RGB) LED. The LED allows the user to obtain any RGB color by

configuring the R, G and B color components.

Figure 6.1. RGB LED schematic diagram.

The usage of the RGB LED is the same as controlling three separate LEDs, one for each color. Figure 6.1 shows the

way the RGB LED is electrically connected on the Basys MX3.

Page 19: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 19 of 56

There is one digital signal to control each color component. Using either 0 or 1 values for these signals will only

give the user a limited number of colors (two colors for each component), so most of the time this is not enough in

applications using the RGB feature. The solution is to send a sequence of 1 and 0 values on these digital lines,

switched rapidly with a frequency higher than human perception. The “duty factor” will finally determine the

color, as the human eye will “integrate” the discrete illumination values into the final color sensation.

The most used approach in solving this problem is the use of pulse-width modulation (PWM) signals. Another

approach is the use of pulse-density modulation (PDM). These methods are explained in the RGB LED Implemented

Using PWM and RGB LED Implemented Using PDM sections.

6.1 Connectivity

Label Schematic Name

PIC32 Pin Description

R LED8_R AN25/RPD2/RD2 Signal corresponding to the R component of the RGB

G LED8_G RPD12/PMD12/RD12 Signal corresponding to the G component of the RGB

B LED8_B AN26/RPD3/RD3 Signal corresponding to the R component of the RGB

Table 6.1. RGB LED connectivity.

6.2 Functionality

6.2.1 RGB LED Implemented Using PWM

The percentage of each period that the pulse is high determines the signals “duty cycle”. Figure 6.2 shows how

different duty cycles are implemented using PWM.

Figure 6.2. PWM duty cycle.

Using this method, the intensity of each component of the RGB LED is determined by the duty cycle being applied.

PWM is most often implemented in the microcontroller using the output compare (OC) peripheral modules along

with a timer.

One timer (Timer y) is assigned to the OC module. Setting the PRy register of the timer will set the PWM period.

Setting the OCxRS register of the OC module will set the actual duty cycle.

The PIC32 datasheet displayed in Fig. 6.3 below explains how one period of the PWM is generated.

Page 20: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 20 of 56

Figure 6.3. PIC32 PWM generation.

The RGBLED library from the Basys MX3 library pack contains a commented example of PWM implementation with

the following features:

LED8_R, LED8_G, and LED8_B are mapped to OC3, OC5, and OC4.

OC3, OC5, and OC4 are properly configured, together with assigned Timer 2.

When a new color is set, its components (R, G, and B) are assigned to OC3RS, OC5RS, and OC4RS.

6.2.2 RGB LED Implemented Using PDM

PDM method adjusts both the frequency and length of the “High” pulses in the modulated signal.

A PDM is implemented using a register and an accumulator adder with carry output. The n-bit register can store

any binary value from 0 to 2𝑛 − 1. In each clock period, the register content is added to the accumulator. The carry

bit (overflow of the n-bit accumulator) is the output. It is “High” as often as the accumulator overflows, so that

when large values are added, carry will occur often. The “High” pulse is only 1 clock period long, but more “High”

pulses can succeed when the register content is close to maximum.

The RGBLED library from the Basys MX3 library pack contains an example of PDM implementation, with the

following features:

LED8_R, LED8_G, and LED8_B are configured as simple digital outputs.

Timer 5 is configured to generate an interrupt every approx. x us.

Three 16-bit accumulators are used, one for each color.

In the interrupt service routine, for each color, the 8-bit color value is added to the corresponding 16-bit

accumulator.

For each color, the 9th bit of the accumulator is considered the carry bit. The resulted carry bits are

assigned to LED8_R, LED8_G, and LED8_B.

For each color, the accumulator is masked so that it only contains an 8-bit value (carry is cleared).

7 Seven-segment Display

The Basys MX3 board contains a four-digit common anode seven-segment LED display. Each of the four digits is

composed of seven segments displaying a “figure 8” pattern and a decimal point with an LED embedded in each

segment. Segment LEDs can be individually illuminated. Of the number of possible patterns, the ten corresponding

to the decimal digits are the most useful.

Page 21: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 21 of 56

Figure 7.1. Seven-segment schematic diagram.

The anodes of the seven LEDs forming each digit are tied together into one “common anode” circuit node, but the

LED cathodes remain separate, as shown in Fig. 7.2. The common anode signals are available as four “digit enable”

input signals to the 4-digit display. The cathodes of similar segments on all four displays are connected into seven

circuit nodes labeled CA through CG (so, for example, the four “D” cathodes from the four digits are grouped

together into a single circuit node called “CD”). These seven cathode signals are available as inputs to the 4-digit

display. This signal connection scheme creates a multiplexed display, where the cathode signals are common to all

digits but they can only illuminate the segments of the digit whose corresponding anode signal is asserted.

Figure 7.2. Seven-segment digits.

To illuminate a segment, the anode should be driven high while the cathode is driven low; however, since the

Basys MX3 uses transistors to drive enough current into the common anode point, the anode enables are inverted.

Therefore, both the AN0 … AN3 and the CA … G/DP signals are driven low when active.

Figure 7.3. Common anode circuit node.

Page 22: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 22 of 56

A scanning display controller circuit can be used to show a 4-digit number on this display. This circuit drives the

anode signals and corresponding cathode patterns of each digit in a repeating, continuous succession at an update

rate that is faster than the human eye can detect. Each digit is illuminated just one-fourth of the time, but because

the eye cannot perceive the darkening of a digit before it is illuminated again, the digit appears continuously

illuminated. If the update, or “refresh”, rate is slowed to around 45Hz, a flicker can be noticed on the display.

To make each of the four digits appear bright and continuously illuminated, all should be driven once every 1 to

16ms, with a refresh frequency of about 1kHz to 60Hz. For example, if every digit is refreshed every 3ms,

corresponding to a frequency of 333Hz, the entire display will be refreshed every 12ms. The controller must drive

low the cathodes with the correct pattern when the corresponding anode signal is driven high.

To illustrate the process:

1. If AN0 is asserted while CB and CC are asserted, then a “1” will be displayed in digit position 1.

2. If AN1 is asserted while CA, CB, and CC are asserted, a “7” will be displayed in digit position 2.

3. If AN0, CB, and CC are driven for 4ms, and then AN1, CA, CB, and CC are driven for 4ms in an endless

succession, the display will show “71” in the first two digits. An example timing diagram for a four-digit

controller is shown in Fig. 7.4.

AN0

AN1

AN2

AN3

Cathodes Digit 0

Refresh period = 1ms to 16ms

Digit period = Refresh / 4

Digit 1 Digit 2 Digit 3

Figure 7.4. 4-digit scanning display controller timing diagram.

Please note that the two dots (situated between the middle digits) are not connected.

7.1 Connectivity

Name PIC32 Pin Description

AN0 AN12/PMA11/RB12 Anode 0 pin

AN1 AN13/PMA10/RB13 Anode 1 pin

AN2 VREF-/CVREF-/PMA7/RA9 Anode 2 pin

AN3 VREF+/CVREF+/PMA6/RA10 Anode 3 pin

CA TRD1/RG12 Cathode A pin

CB RPA14/RA14 Cathode B pin

CC PMD14/RD6 Cathode C pin

CD TRD0/RG13 Cathode D pin

CE RG15 Cathode E pin

CF PMD15/RD7 Cathode F pin

CG PMD13/RD13 Cathode G pin

DP TRD2/RG14 Cathode DP (decimal point) pin

Table 7.1. Seven-segment connectivity.

Page 23: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 23 of 56

All the pins (AN0-3, CA-CG and DP) must be configured as digital output and Anode 0 and Anode 1 must have the

analog functionality disabled:

TRISBbits.TRISB12 = 0; //RB12 set as output

ANSELBbits.ANSB12 = 0; //RB12 analog functionality disabled

TRISBbits.TRISB13 = 0; //RB13 set as output

ANSELBbits.ANSB13 = 0; //RB13 analog functionality disabled

TRISAbits.TRISA9 = 0; //RA9 set as output

TRISAbits.TRISA10 = 0; //RA10 set as output

TRISGbits.TRISG12 = 0; //RG12 set as output

TRISAbits.TRISA14 = 0; //RA14 set as output

TRISDbits.TRISD6 = 0; //RD6 set as output

TRISGbits.TRISG13 = 0; //RG13 set as output

TRISGbits.TRISG15 = 0; //RG15 set as output

TRISDbits.TRISD7 = 0; //RD7 set as output

TRISDbits.TRISD13 = 0; //RD13 set as output

TRISGbits.TRISG14 = 0; //RG14 set as output

7.2 Functionality

A seven-segment display controller is implemented in the SSD library of the Basys MX3 library pack. Here are some

details on the implementation of the library:

One array contains constant values for the segment’s configurations (one bit for each segment)

corresponding to various digits (0-9, A-F).

When the user selects the values to be displayed, they are used as index into this segment’s configuration

table and the resulting configuration bytes are stored in global variables.

Timer1 is used to generate interrupts every 3ms (corresponding to the period register PR1 = 3750).

Every time the interrupt handler routine is called, the following operations are performed:

o The next digit becomes the current digit, in a circular approach (thus each digit will be addressed

once after 4 calls of the interrupt handler routine).

o All digits are deactivated by outputting 1 to their corresponding anodes.

o The cathodes are outputted according to the segment’s information corresponding to the

current digit.

o The current digit is activated (0 is outputted to its corresponding anode).

Page 24: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 24 of 56

8 LCD Module

The Basys MX3 features a basic LCD module, the Sunlike Display SD1602H with a KS0066U display controller. It

displays two rows of 16 characters. It is controlled using a set of command signals (DISP_RS, DISP_R/W, DISP_EN)

and 8 data signals (DB0 - DB7). These signals make up a parallel port for communicating with the display.

The board also provides a switch to turn on and off the LCD display backlight, situated on the bottom right corner

of the LCD display.

Figure 8.1. LCD schematic diagram.

The LCD display is controlled by a set of commands written to the device. Also, read commands provide the ability

to read status and data. Please read the SD1602H datasheet for a detailed list of read and write commands. The

LCD display requires a specific initialization sequence, also detailed in the datasheet.

The device features two types of memory: CGRAM and DDRAM.

The LCD controller contains a character-generator ROM (CGROM) with 192 preset 5×8 character patterns, a

character-generator RAM (CGRAM) that can hold 8 user-defined 5×8 characters, and a display data RAM (DDRAM)

that can hold 80 character codes. Character codes written into the DDRAM serve as indexes into the CGROM (or

CGRAM). Writing a character code into a particular DDRAM location will cause the associated character to appear

at the corresponding display location. Display positions can be shifted left or right by setting a bit in the instruction

register (IR). The write-only IR directs display operations (such as clear display, shift left or right, set DDRAM

address, etc.). A busy flag shows whether the display has completed the last requested operation; prior to

initiating a new operation, the flag can be checked to see if the previous operation has been completed.

The display has more DDRAM locations than can be displayed at any given time. DDRAM locations 00H to 27H map

to the first display row, and locations 40H to 67H map to the second row. Normally, DDRAM location 00H maps to

the upper left display corner (the “home” location), and 40H to the lower left. Shifting the display left or right can

change this mapping. The display uses a temporary data register (DR) to hold data during DDRAM /CGRAM reads

or writes, and an internal address register to select the RAM location. Address register contents, set via the

instruction register, are automatically incremented after each read or write operation. The LCD display uses ASCII

character codes. Codes up through 7F are standard ASCII (which includes all “normal” alphanumeric characters).

Codes above 7F produce various international characters.

Page 25: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 25 of 56

The following timing diagrams detail how write and read processes must be implemented. The essential difference

is the polarity of the DISP_RW signal (0 for write and 1 for read). For more detailed timing information, refer to the

KS0066U datasheet.

Figure 8.2. LCD write timing.

Figure 8.3. LCD read timing.

8.1 Connectivity

Name PIC32 Pin Description

DISP_RS AN15/RPB15/OCFB/CTED6/PMA0/RB15 Register Select: High for Data Transfer, Low for Instruction Transfer.

DISP_RW RPD5/PMRD/RD5 Read/Write signal: High for Read mode, Low for Write mode.

DISP_EN RPD4/PMWR/RD4 Read/Write Enable: High for Read, falling edge writes data

DB0 PMD0/RE0

Data bits 0 -7.

DB1 PMD1/RE1

DB2 AN20/PMD2/RE2

DB3 RPE3/CTPLS/PMD3/RE3

DB4 AN21/PMD4/RE4

DB5 AN22/RPE5/PMD5/RE5

DB6 AN23/PMD6/RE6

DB7 AN27/PMD7/RE7

Table 8.1. LCD connectivity.

Page 26: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 26 of 56

The command pins (DISP_RS, DISP_RW and DISP_EN) must be defined as digital output with analog functionality

disabled for DISP_RS:

TRISBbits.TRISB15 = 0; // RB15 (DISP_RS) set as an output

ANSELBbits.ANSB15 = 0; // disable analog functionality on RB15

(DISP_RS)

TRISDbits.TRISD5 = 0; // RD5 (DISP_RW) set as an output

TRISDbits.TRISD4 = 0; // RD4 (DISP_EN) set as an output

The data pins (DB0 – DB7) must be set as digital pins, with the direction according to the type of operation (read /

write). The analog functionality should also be disabled for DB2, DB4, DB5, DB6, and DB7.

TRISEbits.TRISE0 = 1; // RE0 (DB0) set as input (change 1 to 0 for

output/write functionality)

TRISEbits.TRISE1 = 1; // RE1 (DB1) set as input (change 1 to 0 for

output/write functionality)

TRISEbits.TRISE2 = 1; // RE2 (DB2) set as input (change 1 to 0 for

output/write functionality)

ANSELEbits.ANSE20 = 0; // disable analog functionality on RE2 (DB2)

TRISEbits.TRISE3 = 1; // RE3 (DB3) set as input (change 1 to 0 for

output/write functionality)

TRISEbits.TRISE4 = 1; // RE4 (DB4) set as input (change 1 to 0 for

output/write functionality)

ANSELEbits.ANSE21 = 0; // disable analog functionality on RE4 (DB4)

TRISEbits.TRISE5 = 1; // RE5 (DB5) set as input (change 1 to 0 for

output/write functionality)

ANSELEbits.ANSE22 = 0; // disable analog functionality on RE5 (DB5)

TRISEbits.TRISE6 = 1; // RE6 (DB6) set as input (change 1 to 0 for

output/write functionality)

ANSELEbits.ANSE23 = 0; // disable analog functionality on RE6 (DB6)

TRISEbits.TRISE7 = 1; // RE7 (DB7) set as input (change 1 to 0 for

output/write functionality)

ANSELEbits.ANSE27 = 0; // disable analog functionality on RE7 (DB7)

8.2 Functionality

The recommended approach to controlling the LCD module is to use the LCD library of the Basys MX3 library pack.

Features implemented:

Low level read and write functionality are implemented using command / data pins, according to the

parallel port approach described above.

Page 27: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 27 of 56

Basic commands are implemented using the low level read and write functions.

The initialization sequence is implemented according to the implemented commands.

Other functions include

o Write to LCD screen.

o Access the CGRAM and DDRAM memories.

9 I2C Interface

The inter-integrated circuit (I2C) interface provides a medium speed (100K or 400Kbps) synchronous serial

communications bus. The I2C interface allows master and slave operation using either 7-bit or 10-bit device

addressing. Each device is given a unique address, and the protocol can address packets to a specific device or to

broadcast packets to all devices on the bus. Refer to the Microchip PIC32MX3XX/4XX Family Datasheet and the

PIC32 Family Reference Manual for detailed information on configuring and using the I2C interface.

The PIC32MX370F512L microcontroller provides two independent I2C interfaces. The Basys MX3 is designed to

offer dedicated access to one of these interfaces, I2C1 (pins SCL1 and SDA1), using the I2C daisy chain connector

labeled I2C situated under the LCD. The other I2C interface, I2C2, is not available on the Basys MX3 board, since its

pins (SCL2 and SDA2) are not wired to external connectors.

As mentioned in Section 1.4 Remappable pins, I2C interfaces are not involved in pin remapping. The SCL1 and SDA1

don’t need to be configured or managed, they are properly accessed through the I2C1 interface.

The I2C daisy chain connector provides two positions each for connecting to the I2C signals, power and ground. By

using two-wire or four-wire MTE cables (available separately from Digilent) a daisy chain of multiple I2C-capable

devices can be created.

One onboard I2C device is connected on the I2C1 interface: the accelerometer. See the Accelerometer section for

more information on its use.

The I2C bus is an open-collector bus. Devices on the bus actively drive the signals low. The high state of the I2C

signals is achieved by pull-up resistors when no device is driving the lines low. One device on the I2C bus must

provide the pull-up resistors. On the Basys MX3, I2C1 has pull-up resistors attached to it. Generally, only one device

on the bus will need to have the pull-ups enabled.

Detailed information about the operation of the I2C peripherals can be found in the PIC32 Family Reference

Manual, Section 24, Inter-Integrated Circuit.

The following table details the content of the I2C connector (the col1 and col2 columns correspond to the two

parallel rows of pins):

Label on the Board

Left Column Right Column

PIC32 Pin

SCL SCL SCL SCL1/RG2

SDA SDA SDA SDA1/RG3

GND GND GND GND

V 3V3 3V3 VCC3V3

Table 9.1. I2C connector pinout.

Page 28: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 28 of 56

10 Accelerometer

Basys MX3 provides an onboard accelerometer: NXP’s MMA8652FCR1. It is a 3-axis, 12-bit digital accelerometer,

exposing an I2C digital interface. It is possible to use its ACL_INT2 pin for raising a programmable interrupt.

The accelerometer is located on the top of the board; you can recognize the arrows that show the directions of the

three axes.

The Fig. 10.1 shows the way Accelerometer is controlled using digital signals.

Figure 10.1. Accelerometer schematic diagram.

10.1 Connectivity

The accelerometer is connected to SCL1 and SDA1 lines of the I2C1 interface. A general I/O signal is connected to

INT2 pin.

Schematic Name PIC32 pin Description

SCL SCL1/RG2 I2C Clock signal

SDA SDA1/RG3 I2C Data signal

ACL_INT2 RPG0/PMD8/RG0 Programmable Interrupt

Table 10.1. Accelerometer connectivity.

10.2 Functionality

To use the accelerometer, proper I2C communication (read, write) must be implemented over I2C1. The I2C1

interface must be initialized, and then accessed through read and write functions. The I2C device address of the

accelerometer is 0x1D.

Communication over the I2C is implemented in the ACL library of the Basys MX3 library pack. If the user wants to

use the accelerometer without the ACL library, they must implement their own I2C functions.

The accelerometer has a set of registers that can be written to configure the device and read to access the data

collected by the accelerometer.

Note that you can visualize the communication with the accelerometer by attaching a logic analyzer to the 8-pin

I2C connector, located on the top of the board.

Page 29: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 29 of 56

Please read the MMA8652FCR1 documentation for more details.

10.3 Shared Pins

The Accelerometer shares the I2C1 pins with other devices that can be connected using the interface connector

(detailed in the I2C Interface section).

11 Serial Peripheral Interface

Serial peripheral interface (SPI) is a four-wire synchronous serial interface and devices can operate as either an SPI

master device or as an SPI slave device. The four SPI signals are generally called Slave Select (SS), Master Out Slave

In (MOSI), Master In Slave Out (MISO), and Serial Clock (SCK). The master device generates MOSI, SS, and SCK. The

SS signal is used to enable the slave device. It is only necessary to use a dedicated _SS signal when using the

PIC32’s SPI controller in slave mode, because in master mode any general purpose I/O pin can be used to generate

SS.

The PIC32MX370F512L microcontroller provides two serial peripheral interfaces: SPI1 and SPI2 (see SPI1 and SPI2

sections). These hardware interfaces implement the MOSI, MISO, and SCK behavior and leave SS to be handled by

the user.

The PIC32 microcontroller labels the SPI signals as: Slave Select (SS), Serial Data Out (SDO), Serial Data In (SDI), and

Serial Clock (SCK). When the PIC32 microcontroller is enabled as a master device, SDO serves the purpose of MOSI

and SDI serves the purpose of MISO. When the PIC32 microcontroller is operating as an SPI slave device, SDI serves

the purpose of MOSI and SDO serves the purpose of MISO.

Detailed information about the operation of the SPI peripherals can be found in the PIC32 Family Reference

Manual, Section Serial Peripheral Interface.

11.1 SPI1

SPI1 is used for the onboard Flash memory.

There is also a connector labeled SPI (J6) on the bottom that exposes the SPI1 signals. Assuming that another

digital output pin is used for slave select, SPI1 signals can be used in order to connect another slave SPI device

using this connector. Please read the Flash memory section for details about connecting to SPI1.

11.2 SPI2

It is possible to configure SPI2 to be accessed using the pins of PMOD A. The SPI2_SS, SPI2_SCK, and SPI2_SI pins

should be configured as digital output, while the SPI2_SO pin must be configured as digital input.

Note that RC1(SPI2_SI) and RC4 (SPI2_SO) need to be remapped to perform SDO2 and SDI2 functions. Also, note

that the naming of the signals is reversed, as SPI2_SI and SPI2_SO are named from slave perspective, while SDO2

and SDI2 are named from the microcontroller perspective.

PMODA pin Function PIC32 pin Needed mapping for SPI2

JA1 SPI2_SS RPC2/RC2

JA2 SPI2_SI RPC1/RC1 RPC1R = 0x06; // SDO2 – RC1

JA3 SPI2_SO RPC4/CTED7/RC4 SDI2R = 0x0A; // SDI2 – RC4

Page 30: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 30 of 56

PMODA pin Function PIC32 pin Needed mapping for SPI2

JA4 SPI2_SCK AN16/C1IND/RPG6/SCK2/PMA5/RG6

Table 11.1. SPI connectivity.

Communication over the SPI2 interface is implemented in the SPIJA library of the Basys MX3 library pack. If the

user wants to use the SPI2 without the SPIJA library, they must define their own SPI functions.

12 Flash Memory

The Basys MX3 comes with 4 MB of onboard flash memory. The part used is the Spansion S25FL132 and is an SPI

memory. More information about the SPI interface is found in the Serial Peripheral Interface section.

Figure 12.1 depicts the way the Flash memory is controlled by digital signals.

Figure 12.1. Flash memory schematic diagram.

It contains 1024 sectors of 4 KB, making the total capacity 4MB. The following table, shown in Table 12.1 extracted

from the S25FL132K datasheet, shows the main memory address map.

Sector Size Sector Count Sector Range Address Range (Byte

Address) Notes

4 1024

SA0 000000h-000FFFh Sector Starting

Address

: --

SA1023 3FF000h-3FFFFFh Sector Ending Address

Table 12.1. Flash address map.

Please read the S25FL132K documentation for more details.

12.1 Connectivity

The flash memory is connected to the following pins that provide access to the SPI1 interface. Note that RF2

(SPI_SI) and RF7 (SPI_SO) need to be remapped to perform SDO1 and SDI1 functions.

Page 31: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 31 of 56

The SPI_CE, SPI_SCK, and SPI_SI pins should be configured as digital output, while the SPI_SO pin must be

configured as digital input.

Name Label on J6 PIC32 pin Needed mapping for SPI1

SPI_CE CE RPF8/RF8

SPI_SI SI RPF2/RF2 RPF2R = 0x08; // SDO1 – RF2

SPI_SO SO RPF7/RF7 SDI1R = 0x0F; // SDI1 – RF7

SPI_SCK SCK RPF6/SCK1/INT0/RF6

Table 12.2. Flash connectivity.

12.2 Functionality

To use the flash memory, the SPI pins must be properly configured to implement SPI1 functions (see Section 12.1

above). Then, proper SPI communication (read, write) must be implemented over SPI1. The SPI1 interface must be

initialized and then accessed through read and write functions.

Flash communication is implemented in the SPIFLASH library of the Basys MX3 library pack. If a user wants to use

the SPI flash without the SPIFLASH library, they must implement their own SPI functions.

Note that users can visualize the communication with the SPI flash using a connector labeled SPI (J6), located on

the back of the board under PMOD A connector.

13 UART

Figure 13.1. UART schematic diagram.

The PIC32MX370F512L microcontroller provides five UART interfaces: UART1, UART2, …, UART5. Each UART can

provide either a 2-wire or a 4-wire asynchronous serial interface. The 2-wire interface uses only receive (RX) and

transmit (TX) signals. The 4-wire interface includes request-to-send (RTS) and clear-to-send (CTS) in addition to

receive and transmit signals.

Page 32: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 32 of 56

The Basys MX3 provides a USB to UART serial converter, via a micro-USB connector and uses UART_TX and

UART_RX pins of the PIC32. These 2 pins can be mapped to implement UART4 or UART5 functionality. See

Remappable pins section for more details about remapping.

Besides the UART port mapped to the USB_UART interface, other UART interfaces can be mapped to the Pmod’s

pins, depending on the remappable functionality available. See Pmod Connectors for more details.

13.1 Connectivity

The following table shows the signals that go to the USB-Serial module from PIC32.

Name PIC32 pin

UART_TX RPF12/RF12

UART_RX RPF13/RF13

Table 13.1. UART connectivity.

The UART_TX must be defined as digital output and the UART_RX as a digital input:

TRISFbits.TRISF12 = 0; //RF12 (UART_TX) set as an output

TRISFbits.TRISF13 = 1; //RF13 (UART_RX) set as an input

13.2 Functionality

The USB-UART converter module functionality is implemented in the UART library of the Basys MX3 library pack.

Implementation features:

USB-UART converter signals are mapped over the UART4 communication signals:

o U4RXR = 0x09; // UART_RX (RF13) -> U4RX

o RPF12R = 0x02; // UART_TX (RF12) -> U4TX

Send and receive functions over UART are implemented in the library.

If the users want to use the UART module without the UART library, they need to implement their own UART

functionality.

14 Motor Driver

The Basys MX3 features a Dual H-Bridge Motor Driver. The part used is the Texas Instruments DRV8835. It supports

up to two 1.5A brushed DC motors or one stepper motor.

The PIC32 uses 5 signals: MODE, AIN1, AIN2, BIN1, BIN2, to connect to the motor driver MODE, AIN1/APHASE,

AIN2/AENBL, BIN1/BPHASE, BIN2/BENBL control pins.

The Basys MX3 board provides a 6-pin wire-to-board terminal block that allows firm contact to the motor driver

pins using a screwless, tension clamped connector labeled MOTOR OUT (J5 on the schematic). The control signals

are labeled A1, A2, B1, B2, and they correspond to AOUT1, AOUT2, BOUT1, BOUT2 signals of motor driver.

Page 33: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 33 of 56

Figure 14.1. Motor driver schematic diagram.

The MODE signal selects one of the two operating modes: logic low selects IN/IN mode, while logic high selects PH/EN mode.

When using IN/IN mode, the logical values of AIN1, AIN2, BIN1, BIN2 control the 4 command signals of a stepper motor: A1, A2, B1, B2.

When using PH/EN mode:

AIN1, AIN2 signals (through their APHASE, AENABLE functions) control the Phase (direction) and Enable of

the H Bridge - the DC motor A (outputs A1, A2) driver

BIN1, BIN2 signals (through their BPHASE, BENABLE function) control the Phase (direction) and Enable of

the H Bridge - the DC motor B (outputs B1, B2) driver.

The voltage on the output pins A1, A2, B1, B2 is dependent of the motor supply power applied to the motor controller. It is possible to use the VBAR power pin (5V - the power from the external barrel), or an external power supplied by the user using the VEXT / GND pins of the MOTOR OUT connector block (0V to 11V). These two options are selectable using the MOTOR PWR jumper block (situated just above the MOTOR OUT connector).

Using the motors with the jumper on the VBAR position requires external power source connected to the barrel power connector.

The Table 14.1 details the usage of the MOTOR PWR jumper block:

Jumper position Description

VBAR The power provided from the external power supply (using the barrel connector) is used for motors.

VEXT The power VEXT provided from an external supply (using the VEXT pin of the MOTOR OUT connector block) is used for motors.

Table 14.1. Motor power selection.

Please read the Texas Instruments DRV8835 datasheet for more details about the motor controller.

14.1 Connectivity

Table 14.2 shows the signals connecting the Motor Driver to the PIC32.

Page 34: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 34 of 56

Name PIC32 pin Motor Driver pin Description

MODE RPF1/PMD10/RF1 MODE logic low selects IN/IN mode logic high selects PH/EN mode

AIN1 PGED3/AN3/C2INA/RPB3/RB3 AIN1/APHASE IN/IN mode: Logic high sets AOUT1 high PH/EN mode: Sets direction of H-bridge A

AIN2 RPE8/RE8 AIN2/AENBL IN/IN mode: Logic high sets AOUT2 high PH/EN mode: Logic high enables H-bridge A

BIN1 RPE9/RE9 BIN1/BPHASE IN/IN mode: Logic high sets BOUT1 high PH/EN mode: Sets direction of H-bridge B

BIN2 AN5/C1INA/RPB5/RB5 BIN2/BENBL IN/IN mode: Logic high sets BOUT2 high PH/EN mode: Logic high enables H-bridge B

Table 14.2. Motor connectivity.

The command pins (MODE, AIN1, AIN2, BIN1, BIN2) must be defined as digital output and the analog functionality

for AIN1 and BIN2 disabled:

TRISFbits.TRISF1 = 0; //set RF1 (MODE) to be an output

TRISBbits.TRISB3 = 0; //set RB3 (AIN1) to be an output

ANSELBbits.ANSB3 = 0; //disable analog functionality for RB3 (AIN1)

TRISEbits.TRISE8 = 0; //set RE8 (AIN2) to be an output

TRISEbits.TRISE9 = 0; //set RE9 (BIN1) to be an output

TRISBbits.TRISB5 = 0; //set RB5 (BIN2) to be an output

ANSELBbits.ANSB5 = 0; //disable analog functionality for RB5 (BIN2)

The following signals are routed to the MOTOR_OUT board to wire connector:

Connector Label Motor Driver pin Description

VEXT - The external power that can be applied to the motors, selected using MOTOR PWR jumper block (0 to 11 Volts)

GND - The GND for the external power applied on VEXT

A1 AOUT1 IN/IN mode: Signal 1 of the stepper motor PH/EN mode: Signal 1 of the DC motor A

A2 AOUT2 IN/IN mode: Signal 2 of the stepper motor PH/EN mode: Signal 2 of the DC motor A

B1 BOUT1 IN/IN mode: Signal 3 of the stepper motor PH/EN mode: Signal 1 of the DC motor B

B2 AOUT2 IN/IN mode: Signal 4 of the stepper motor PH/EN mode: Signal 2 of the DC motor B

Table 14.3. Motor connector pinout.

Page 35: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 35 of 56

14.2 Functionality

The control of Motor module is implemented in the MOT library of the Basys MX3 library pack. Features of the

implementation:

Mode selection is implemented by setting the digital output MODE pin.

Separate functionalities are implemented, corresponding to the two modes: IN/IN and PH/EN.

in IN/IN mode, the 4 control pins AIN1, AIN2, BIN1, BIN2 are used as digital outputs, in this manner:

o They are initialized in a (1, 1, 0, 0) configuration, considered an unsigned hexadecimal value

0x0C.

o To perform stepper motor steps, the configuration value is rotated left or right (according to the

motor’s direction) with the desired number of steps.

In PH/EN mode, the AIN1 and BIN1 are used as outputs, while the AIN2 and BIN2 are mapped to OC2 and

OC3 modules, which are configured to generate PWM signals. The control of the 2 DC motors is done like

this:

o The direction is set to digital output AIN1 (DC motor A) or BIN1 (DC motor B)

o The speed of the motor is implemented by loading the OC2RS (DC motor A) or OC3RS (DC motor

B) registers with the desired values

If the user wants to use the Motor driver module without the MOT library, they must implement their own Motor

driver control functionality and can use the code in the library as a reference.

15 Servo Headers

Figure 15.1. Servo header schematic diagram.

The Basys MX3 provides two 3-pin servo headers, labeled SERVO 0 and SERVO 1.

Servo motors are designed to move to a precise desired position and then stop, and are composed of a control

board, motor, sense potentiometer, and gears that connect the motor and output shaft. A digital signal is sent to

the control board which then drives the motor until the sense potentiometer verifies that the output shaft is in the

correct position.

Page 36: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 36 of 56

All servos come with three wires: power, ground, and control. Pulses are sent via the control wire and a pulse-

width modulation signal controls the direction and degree of rotation. Usually servos are designed with limited

rotation angles like 60º, 90°, 180°, and so on.

Using the control signals exposed by the two servo connectors, called S0_PWM and S1_PWM, the PIC32 can

command the servos attached to the two connectors. Since the control should use the PWM functionality, these

pins need to be mapped over output compare modules OC5 and OC4.

Each servo motor connector exposes the barrel voltage (5V) together with the GND. This means using the servo

headers requires that an external power supply is connected to the barrel power connector.

15.1 Connectivity

Table 15.1 below shows the content of the two servo headers, providing details on S0_PWM and S1_PWM signals.

Connector Label on the Servo Connector

Signal Name PIC32 pin Description

SERVO 0

PWM S0_PWM AN8/RPB8/CTED10/RB8 The control signal for servo 0

VBAR VBAR

The power VBAR (5V) and GND provided from the external power supply (using the barrel connector), to be used for servo 0

GND GND

SERVO 1

PWM S1_PWM RPA15/RA15 The control signal for servo 1

VBAR VBAR

The power VBAR (5V) and GND provided from the external power supply (using the barrel connector), to be used for servo 1

GND GND

Table 15.1. Servo header connectivity.

The S0_PWM and S1_PWM pins will be used as digital output pins:

The corresponding TRIS bit must be set to 0:

TRISBbits.TRISB8 = 0;

TRISAbits.TRISA15 = 0;

The ANSEL bit corresponding to S0_PWM should be set to 0:

ANSELBbits.ANSB8 = 0;

15.2 Functionality

Servo motor driver functionality is implemented in the SRV library of the Basys MX3 library pack. Implementation

features include:

RB8 is mapped to OC5

RPB8R = 0x0B; // 1011 = OC5

RA15 is mapped to OC4

RPA15R = 0x0B;// 1011 = OC4

OC5 and OC4 are properly configured, together with associated Timer 3

Page 37: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 37 of 56

Configuration functions are implemented for each servo. These functions configure OC5RS or OC4RS

according to the desired duty.

If users want to control the servos without the SRV library, they must implement their own servo control

functionality.

15.3 Shared Pins

As you can see from the schematic, the S0_PWM signal shares the same PIC32 pin with BTNR and the S1_PWM

signals shares the same PIC32 pin with BTND (see User Buttons). These buttons should not be used in designs that

are also using servos.

16 IrDA Module

Basys MX3 features an onboard FIR-compatible IrDA module. The part used is the ROHM Semiconductor RPM973-

H11. The RPM973-H11 is a high-performance IrDA module that integrates an infrared remote control transmission

function and a high-speed (4Mbps) FIR-compatible IrDA module. It features an LED for transmitting and a PIN

photo diode for receiving.

Figure 16.1. IrDA schematic diagram.

The PIC32 communicates with the IrDA module via two pins (named from PIC32 perspective): IR_TX, connected to

the TXD pin of the RPM973 and used for transmitting over IRDA, and IR_RX, connected to the RXD pin of the

RPM973 and used for receiving data over IrDA. Also, an IR_PDOWN signal, connected to the PWDOWN pin of the

RPM973, is used by the microcontroller to enable (0 value) or disable (1 value) the module.

When TXD (IR_TX) is 1, the transmitting LED of the RPM973 module is lit. When the PIN photo diode detects light,

it outputs 1 on RXD (IR_RX).

16.1 Connectivity

The following table shows the signals connecting the IRDA module to the PIC32:

Name PIC32 pin IRDA module pin

IRDA_PDOWN RPG1/PMD9/RG1 PWDOWN/Mode

Page 38: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 38 of 56

Name PIC32 pin IRDA module pin

IR_TX PGED2/AN7/RPB7/CTED3/RB7 TXD

IR_RX PGEC2/AN6/RPB6/RB6 RXD

Table 16.1. IrDA connectivity.

The IRDA_PDOWN and IR_TX must be defined as digital outputs and disable the analog functionality on IR_TX:

TRISGbits.TRISG1 = 0; //set RG1 (IRDA_PDOWN) as an output

TRISBbits.TRISB7 = 0; //set RB7 (IR_TX) as an output

ANSELBbits.ANSB7 = 0; //disable analog functionality on RB7 (IR_TX)

The IR_RX must be defined as digital input and the analog functionality disabled:

TRISBbits.TRISB6 = 1; //set RB6 (IR_RX) as an input

ANSELBbits.ANSB6 = 0; //disable analog functionality on RB6 (IR_RX)

16.2 Functionality

The control of the IrDA module is implemented in the IrDA library of the Basys MX3 library pack. Library features

include:

IRDA_PDOWN is used as a basic digital output pin.

IRDA communication signals are mapped over the UART5 communication signals:

o U5RXR = 0x05; // IR_RX (RB6) -> U5RX

o RPB7R = 0x04; // IR_TX (RB7) -> U5TX

UART5 interface is configured in the IrDA mode (the IREN bit is set) with 9600 baud and used for sending

and receiving data to IrDA module.

If the users want to use the IrDA module without the IrDA library, they need to implement their own IrDA

functionality.

Page 39: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 39 of 56

17 Audio Out

Figure 17.1. Audio out schematic diagram.

The Basys MX3 contains an audio out module, controlled by the PIC32 using the digital signal A_OUT. This digital

signal is PWM controlled to generate multiple values between 0 and 3.3V. A PWM signal is a chain of pulses

generated at fixed frequency, with each pulse potentially having a different width. This digital signal can be passed

through a simple low-pass filter that integrates the digital waveform to produce an analog voltage proportional to

the average pulse-width over some interval (the interval is determined by the cut-off frequency of the low-pass

filter and the pulse frequency). For example, if the pulses are high for an average of 10% of the available pulse

period, then an integrator will produce an analog value that is 10% of the Vdd voltage, in this case .33V. Figure 17.2

shows a waveform represented as a PWM signal.

Vdd

Gnd

Pulse Window

Pulse Width Digital Signal Analog Signal (PWMA)

= 1 / Pulse Frequency (f)

Figure 17.2. Waveform represented as a PWM signal.

The volume of the output audio signal can be adjusted using a thumbwheel potentiometer labeled SPEAKER

VOLUME, situated in the top left corner of the board.

The generated audio out signal is outputted to an onboard speaker through a 1.2W audio power amplifier

(IS31AP4991) and to an onboard headphones connector, labeled LINE OUT. When headphones are connected to

the LINE OUT port, the onboard speaker is automatically muted.

17.2 Connectivity

Table 17.1 shows the details about the A_OUT signal connecting the audio module to the PIC32.

Page 40: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 40 of 56

Name PIC32 pin

A_OUT AN14/RPB14/CTED5/PMA1/RB14

Table 17.1. Audio out connectivity.

The A_ OUT pin will be used as a digital output pin:

The corresponding TRIS bit must be set to 0:

TRISBbits.TRISB14 = 0;

The corresponding ANSEL bit should be set to 0:

ANSELBbits.ANSB14 = 0;

17.2 Functionality

Functionality for access to the audio module is implemented in the AUDIO library of the Basys MX3 library pack.

These are the features of the implementation:

The RB14 is mapped to OC1

RPB14R = 0x0C; // OC1

OC1 is properly configured, together with associated Timer 3

Every time the timer 3 interrupt handler routine is called, the OC1RS register gets the value of the audio

sample that needs to be represented using PWM.

If the user wants to use the audio out module without the AUDIO library, they must implement their own audio

functionality.

18 Microphone

Figure 18.1. Microphone schematic diagram.

The Basys MX3 provides a basic microphone module. It is based on the Knowles Acoustics SPA2410LR5H-B MEMs

microphone that has a high signal-to-noise ratio (SNR) of 94 dB SPL at 1 kHz.

Page 41: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 41 of 56

Figure 18.2. Microphone frequency response.

The output of the microphone module is an analog signal A_MIC, connected to an analog input pin of PIC32. This

analog pin must be sampled using the PIC32’s ADC functionality to get a digital value. The PIC32 provides 10-bit

data ADC sampling. Read more on the PIC32’s ADC functionality in the Analog-To-Digital Converter (ADC) section of

the PIC32 documentation.

The microphone on the Basys MX3 also features adjustable gain that is controlled using a thumbwheel

potentiometer labeled MIC VOLUME. This dial directly controls the gain of the A_MIC signal going into the PIC32.

18.1 Connectivity

Table 18.1 below shows the details about the A_MIC signal connecting the microphone module to the PIC32.

Name PIC32 pin SPA2410LR5H-B pin

A_MIC AN4/C1INB/RB4 OUT

Table 18.1. Microphone connectivity.

The A_MIC pin will be used as analog input pin:

The corresponding TRIS bit must be set to 1:

TRISBbits.TRISB4 = 1;

The corresponding ANSEL bit should be set to 1:

ANSELBbits.ANSB4 = 1;

18.2 Functionality

The microphone usage is described through library functions in the MIC and ADC libraries of the Basys MX3 library

pack. Implementation features include:

Page 42: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 42 of 56

The ADC module is initialized.

Channel 4 is read (corresponding to AN4).

If the user wants to acquire data from microphone module without the MIC and ADC libraries, they must

implement their own ADC functionality.

19 Analog Input Control

Figure 19.1. Analog input control schematic diagram.

The Basys MX3 provides a basic analog input module. This module exposes an analog input signal called AIC to the

PIC32. The user can provide an analog value between 0 and 3.3V using a thumbwheel potentiometer labeled

ANALOG INPUT CONTROL.

A pair of wire loops on the Basys MX3, labeled AIC and GND (J8 and J14 on the schematics), can be used to

measure the voltage across the potentiometer using an external tool like a multimeter or oscilloscope.

The AIC analog signal must be sampled using the PIC32’s ADC functionality to get a digital value. The PIC32

provides 10-bit data ADC sampling. Read more on the PIC32’s ADC functionality in the Analog-To-Digital Converter

(ADC) section of the PIC32 documentation.

19.1 Connectivity

Table 19.1 shows the details about the AIC signal connecting the analog input module to the PIC32.

Name PIC32 pin

AIC PGEC3/AN2/C2INB/RPB2/CTED13/RB2

Figure 19.1. Analog input control connectivity.

The AIC pin will be used as an analog input pin:

The corresponding TRIS bit must be set to 1:

TRISBbits.TRISB2 = 1;

The corresponding ANSEL bit should be set to 1:

ANSELBbits.ANSB2 = 1;

Page 43: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 43 of 56

19.2 Functionality

The Analog Input module is implemented in the ADC library of the Basys MX3 library pack. Implementation

features include:

The ADC module is properly initialized.

Channel 2 is read (corresponding to AN2).

If the users want to acquire data using the Analog Input module without the ADC library, they need to implement

their own ADC functionality.

20 Pmod Connectors

The Basys MX3 provides two host connectors for Digilent Pmods. The Pmod connectors, labeled PMOD A and

PMOD B, are 2x6 right-angle, female pin header connectors.

The schematic diagram in Fig. 20.1 depicts the signals routed to the two connectors.

Figure 20.1. Pmod schematic diagram.

The pin numbering that Digilent uses on the twelve-pin Pmod connectors may not seem typical. In the upper row

the pins are numbered 1–6, left to right (when viewed from the top, middle of the board), and the pins in the

lower row are numbered 7–12, left to right. This complies with the convention that the upper and lower rows of

pins can be considered as two stacked six-pin connectors. When viewed from the end of the connector, pin 1 is the

upper right pin and pin 7 is immediately below. Pin 1 is labeled on the Basys MX3 board with “1” and can be

recognized by its squared pad (both on the main board and on the Pmod device).

Each row of pins provides a pair of VCC (3.3V) and GND, as shown Fig. 20.2.

Page 44: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 44 of 56

Pin 1

Pin 12

Pin 6

8 signalsVCC GND

Figure 20.2. Pmod connectors: front view, as loaded on PCB.

Table 20.1 summarizes the content of PMODA connector.

Pmod pin Schematic Label

PIC32 pin

PMODA_1 JA1 RPC2/RC2

PMODA_2 JA2 RPC1/RC1

PMODA_3 JA3 RPC4/CTED7/RC4

PMODA_4 JA4 AN16/C1IND/RPG6/SCK2/PMA5/RG6

PMODA_7 JA7 RPC3/RC3

PMODA_8 JA8 AN17/C1INC/RPG7/PMA4/RG7

PMODA_9 JA9 AN18/C2IND/RPG8/PMA3/RG8

PMODA_10 JA10 AN19/C2INC/RPG9/PMA2/RG9

Table 20.1. Pmod A pinout.

Table 20.2 summarizes the content of PMODB connector.

Pmod pin Schematic Label

PIC32 pin

PMODB_1 JB1 RPD9/RD9

PMODB_2 JB2 RPD11/PMCS1/RD11

PMODB_3 JB3 RPD10/PMCS2/RD10

PMODB_4 JB4 RPD8/RTCC/RD8

PMODB_7 JB7 SOSCO/RPC14/T1CK/RC14

PMODB_8 JB8 RPD0/RD0

PMODB_9 JB9 AN24/RPD1/RD1

PMODB_10 JB10 SOSCI/RPC13/RC13

Table 20.2. Pmod B pinout.

The signals going to Pmod connectors are also connected to input/output pins on the PIC32 microcontroller.

Review Section 1.3 Digital Inputs and Outputs for more details regarding digital I/Os.

Instead of using the Pmod pins as regular digital input/output pins, the pins can be mapped to several peripherals,

as explained in Section 1.4 Remappable pins. For example, the SPI2 interface is implemented over the PMODA

pins, as explained in Section 11.2 SPI2.

In the above tables, the highlighted pins are 5V tolerant pins. It is safe to apply 5V logic signals directly to these

pins without risk of damage to the microcontroller. All other pins support 3.3V only.

Each pin has a 200-ohm series resistor and an ESD protection diode. The series resistor provides short circuit

protection to prevent damaging the I/O block in the microcontroller if the pin is inadvertently shorted to VDD or

GND, or two outputs are shorted together. The ESD protection diode protects the I/O block from damage due to

electro-static discharge.

Page 45: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 45 of 56

Although ESD protection is provided between the connector pins and the microcontroller pins, ESD safe handling

procedures should be followed when handling the circuit board. The pins on the microcontroller and other circuits

on the board are exposed and can be damaged through ESD when handling the board.

Digilent Pmods can either be plugged directly into the connectors on the Basys MX3 or attached via cables.

Digilent has a variety of Pmod cables available.

You can read more details about the Digilent Pmod Interface Specification from the most recent specification

document, available on the Digilent Pmod Wiki.

21 Analog Discovery Debug Header

The Basys MX3 board provides a 2x15 Debug Header, exposing some pins that allow key onboard peripheral

signals to be visualized with an oscilloscope or logic analyzer.

Figure 21.1. Debug header schematic diagram.

The connector is designed to match the Analog Discovery and OpenScope connectors, but the pins can be used

with other tools as well.

Table 21.1 below shows the signals exposed by this connector.

Pin # Silk Screen Name

Type Connected to / Module Analog Discovery pin

1 SPI_SI RPF2/RF2 SPI_SI / Flash memory Digital IO 7

2 BIN2 AN5/C1INA/RPB5/RB5 BIN2 / Motor driver Digital IO 15

3 SPI_CE RPF8/RF8 SPI_CE / Flash memory Digital IO 6

4 BIN1 RPE9/RE9 BIN1 / Motor driver Digital IO 14

5 SPI_SO RPF7/RF7 SPI_SO / Flash memory Digital IO 5

6 AIN2 RPE8/RE8 AIN2 / Motor driver Digital IO 13

7 SPI_SCK RPF6/SCK1/INT0/RF6 SPI_SCK / Flash memory Digital IO 4

8 AIN1 PGED3/AN3/C2INA/RPB3/RB3 AIN1 / Motor driver Digital IO 12

9 D_RS AN15/RPB15/PMA0/CTED6/RB15 DISP_RS / LCD module Digital IO 3

10 IRRX PGEC2/AN6/RPB6/RB6 IR_RX / IrDA module Digital IO 11

Page 46: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 46 of 56

Pin # Silk Screen Name

Type Connected to / Module Analog Discovery pin

11 DISP_R/W RPD5/PMRD/RD5 DISP_R/W / LCD module Digital IO 2

12 IRTX PGED2/AN7/RPB7/CTED3/RB7 IR_TX / IrDA module Digital IO 10

13 D_EN RPD4/PMWR/RD4 DISP_EN / LCD module Digital IO 1

14 URX RPF13/RF13 UART_RX / UART Digital IO 9

15 DB0 PMD0/RE0 DB0 / LCD module Digital IO 0

16 UTX RPF12/RF12 UART_TX / UART Digital IO 8

17 T1 RPF0/PMD11/RF0 BTNC / TRIG_1 / User Buttons

T1

18 T2 AN9/RPB9/CTED4/RB9 SW7 / TRIG_2 / User Switches

T2

19 GND GND GND

20 GND GND GND

25 GND GND GND

26 GND GND GND

27 AOP analog pin A_OUT_P / Audio out Scope 2+

28 AON analog pin A_OUT_N / Audio out Scope 2-

29 AMIC AN4/C1INB/RB4 A_MIC / Microphone Scope 1+

30 GND GND Scope 1-

Table 20.1. Debug header pinout.

Page 47: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 47 of 56

Appendix 1: Remappable Input Pins

Peripheral Pin [pin name]R SFR [pin name]R bits [pin name]R Value to RPn Pin Selection

INT3 INT3R INT3R<3:0>

0000 = RPD2 0001 = RPG8 0010 = RPF4 0011 = RPD10 0100 = RPF1 0101 = RPB9 0110 = RPB10 0111 = RPC14 1000 = RPB5 1001 = Reserved 1010 = RPC1 1011 = RPD14 1100 = RPG1 1101 = RPA14 1110 = Reserved 1111 = RPF2

T2CK T2CKR T2CKR<3:0>

IC3 IC3R IC3R<3:0>

U1RX U1RXR U1RXR<3:0>

U2RX U2RXR U2RXR<3:0>

U5CTS U5CTSR U5CTSR<3:0>

REFCLKI REFCLKIR REFCLKIR<3:0>

Peripheral Pin [pin name]R SFR [pin name]R bits [pin name]R Value to RPn Pin Selection

INT4 INT4R INT4R<3:0>

0000 = RPD3 0001 = RPG7 0010 = RPF5 0011 = RPD11 0100 = RPF0 0101 = RPB1 0110 = RPE5 0111 = RPC13 1000 = RPB3 1001 = Reserved 1010 = RPC4 1011 = RPD15 1100 = RPG0 1101 = RPA15 1110 = RPF2 1111 = RPF7

T5CK T5CKR T5CKR<3:0>

IC4 IC4R IC4R<3:0>

U3RX U3RXR U3RXR<3:0>

U4CTS U4CTSR U4CTSR<3:0>

SDI1 SDI1R SDI1R<3:0>

SDI2 SDI2R SDI2R<3:0>

Peripheral Pin [pin name]R SFR [pin name]R bits [pin name]R Value to RPn Pin Selection

INT2 INT2R INT2R<3:0> 0000 = RPD9 0001 = RPG6

Page 48: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 48 of 56

T4CK T4CKR T4CKR<3:0> 0010 = RPB8 0011 = RPB15 0100 = RPD4 0101 = RPB0 0110 = RPE3 0111 = RPB7 1000 = Reserved 1001 = RPF12 1010 = RPD12 1011 = RPF8 1100 = RPC3 1101 = RPE9 1110 = Reserved 1111 = RPB2

IC2 IC2R IC2R<3:0>

IC5 IC5R IC5R<3:0>

U1CTS U1CTSR U1CTSR<3:0>

U2CTS U2CTSR U2CTSR<3:0>

SS1 SS1R SS1R<3:0>

Peripheral Pin [pin name]R SFR [pin name]R bits [pin name]R Value to RPn Pin Selection

INT1 INT1R INT1R<3:0> 0000 = RPD1 0001 = RPG9 0010 = RPB14 0011 = RPD0 0100 = RPD8 0101 = RPB6 0110 = RPD5 0111 = RPB2 1000 = RPF3 1001 = RPF13 1010 = Reserved 1011 = RPF2 1100 = RPC2 1101 = RPE8 1110 = Reserved 1111 = Reserved

T3CK T3CKR T3CKR<3:0>

IC1 IC1R IC1R<3:0>

U3CTS U3CTSR U3CTSR<3:0>

U4RX U4RXR U4RXR<3:0>

U5RX U5RXR U5RXR<3:0>

SS2 SS2R SS2R<3:0>

OCFA OCFAR OCFAR<3:0>

Page 49: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 49 of 56

Appendix 2: Remappable Output Pins

RPn Port Pin RPnR SFR RPnR Value to Peripheral Selection

RPD2 RPD2R

0000 = No Connect 0001 = U3TX 0010 = U4RTS 0011 = Reserved 0100 = Reserved 0101 = Reserved 0110 = SDO2 0111 = Reserved 1000 = Reserved 1001 = Reserved 1010 = Reserved 1011 = OC3 1100 = Reserved 1101 = C2OUT 1110 = Reserved 1111 = Reserved

RPG8 RPG8R

RPF4 RPF4R

RPD10 RPD10R

RPF1 RPF1R

RPB9 RPB9R

RPB10 RPB10R

RPC14 RPC14R

RPB5 RPB5R

RPC1 RPC1R

RPD14 RPD14R

RPG1 RPG1R

RPA14 RPA14R

RPn Port Pin RPnR SFR RPnR Value to Peripheral Selection

RPD3 RPD3R 0000 = No Connect 0001 = U2TX 0010 = Reserved 0011 = U1TX 0100 = U5RTS 0101 = Reserved 0110 = SDO2 0111 = Reserved

RPG7 RPG7R

RPF5 RPF5R

Page 50: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 50 of 56

RPD11 RPD11R 1000 = SDO1 1001 = Reserved 1010 = Reserved 1011 = OC4 1100 = Reserved 1101 = Reserved 1110 = Reserved 1111 = Reserved

RPF0 RPF0R

RPB1 RPB1R

RPE5 RPE5R

RPC13 RPC13R

RPB3 RPB3R

RPF3 RPF3R

RPC4 RPC4R

RPD15 RPD15R

RPG0 RPG0R

RPA15 RPA15R

RPn Port Pin RPnR SFR RPnR Value to Peripheral Selection

RPD9 RPD9R 0000 = No Connect 0001 = U3RTS 0010 = U4TX 0011 = REFCLKO 0100 = U5TX 0101 = Reserved 0110 = Reserved 0111 = SS1 1000 = SDO1 1001 = Reserved 1010 = Reserved 1011 = OC5 1100 = Reserved 1101 = C1OUT 1110 = Reserved 1111 = Reserved

RPG6 RPG6R

RPB8 RPB8R

RPB15 RPB15R

RPD4 RPD4R

RPB0 RPB0R

RPE3 RPE3R

Page 51: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 51 of 56

RPB7 RPB7R

RPB2 RPB2R

RPF12 RPF12R

RPD12 RPD12R

RPF8 RPF8R

RPC3 RPC3R

RPE9 RPE9R

RPD9 RPD9R

RPn Port Pin RPnR SFR RPnR Value to Peripheral Selection

RPD1 RPD1R 0000 = No Connect 0001 = U2RTS 0010 = Reserved 0011 = U1RTS 0100 = U5TX 0101 = Reserved 0110 = SS2 0111 = Reserved 1000 = SDO1 1001 = Reserved 1010 = Reserved 1011 = OC2 1100 = OC1 1101 = Reserved 1110 = Reserved 1111 = Reserved"

RPG9 RPG9R

RPB14 RPB14R

RPD0 RPD0R

RPD8 RPD8R

RPB6 RPB6R

RPD5 RPD5R

RPF3 RPF3R

RPF6 RPF6R

RPF13 RPF13R

Page 52: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 52 of 56

RPC2 RPC2R

RPE8 RPE8R

RPF2 RPF2R

Page 53: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 53 of 56

Appendix 3: Basys MX3 Pinout

The following table details the Basys MX3 pinout, showing the following information:

Pin #, Full Pin Name: The number and the name of the microcontroller pin, as in the microcontroller

datasheet pin.

Peripheral: The Basys MX3 peripheral that uses this pin.

Schematic Name: the name of the pin in the schematic.

PPS: The PPS remapping function of this pin.

Function: The available function(s) of this pin.

Pin # Full Pin Name Peripheral Schematic Name

PPS Function

1 RG15 SSD CE RG15

2 VDD POWER VCC3V3

3 AN22/RPE5/PMD5/RE5 LCD DB5 I/O PMD5

4 AN23/PMD6/RE6 LCD DB6 PMD6

5 AN27/PMD7/RE7 LCD DB7 PMD7

6 RPC1/RC1 PMOD JA2 I/O SDO2/U3TX/IC3/T2CK/INT3/OC3

7 RPC2/RC2 PMOD JA1 I/O SS2/U3CTS/IC1/T3CK/INT1/OC1/OC2

8 RPC3/RC3 PMOD JA7 I/O INT2/U1CTS/U2CTS/IC2/IC5/T4CK/OC5

9 RPC4/CTED7/RC4 PMOD JA3 I/O SDI2/U3RX/IC4/T5CK/INT4/OC4

10 AN16/C1IND/RPG6/SCK2/PMA5/RG6

PMOD JA4 I/O SCK2/U3RTS/IC2/IC5/T4CK/INT2/OC5

11 AN17/C1INC/RPG7/PMA4/RG7

PMOD JA8 I/O INT4/U1TX/U2TX/IC4/T5CK/OC4

12 AN18/C2IND/RPG8/PMA3/RG8

PMOD JA9 I/O IC3/T2CK/INT3/U1RX/U2RX/OC3

13 MCLR PROGRAM/DEBUG

PIC32_MCLR

14 AN19/C2INC/RPG9/PMA2/RG9

PMOD JA10 I/O IC1/T3CK/INT1/U1RTS/U2RTS/OC1/OC2

15 VSS POWER GND

16 VDD POWER VCC3V3

17 TMS/CTED1/RA0 LEDS LED0 RA0

18 RPE8/RE8 MOTOR AIN2 I/O OC2/RE8

19 RPE9/RE9 MOTOR BIN1 I/O OC5/RE9

20 AN5/C1INA/RPB5/RB5 MOTOR BIN2 I/O OC3/RB5

21 AN4/C1INB/RB4 MICROPHONE

A_MIC AN4/C1INB

22 PGED3/AN3/C2INA/RPB3/RB3

MOTOR AIN1 I/O OC4/RB3

23 PGEC3/AN2/C2INB/RPB2/CTED13/RB2

POTENTIOMETER

AIC I/O AN2/C2INB

Page 54: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 54 of 56

Pin # Full Pin Name Peripheral Schematic Name

PPS Function

24 PGEC1/AN1/RPB1/CTED12/RB1

PROGRAM/DEBUG/ BUTTONS

P32_PGC/BTNU

I/O RB1

25 PGED1/AN0/RPB0/RB0 PROGRAM/DEBUG/ BUTTONS

P32_PGD/BTNL

I/O RB0

26 PGEC2/AN6/RPB6/RB6 IRDA IR_RX I/O U5RX

27 PGED2/AN7/RPB7/CTED3/RB7

IRDA IR_TX I/O URTX

28 VREF-/CVREF-/PMA7/RA9 SSD AN2 RA9

29 VREF+/CVREF+/PMA6/RA10

SSD AN3 RA10

30 AVDD POWER VCC3V3

31 AVSS POWER GND

32 AN8/RPB8/CTED10/RB8 BUTTONS BTNR/S0_PWM

I/O RB8/OC5

33 AN9/RPB9/CTED4/RB9 SWITCHES SW7 I/O RB9

34 CVREFOUT/AN10/RPB10/CTED11/PMA13/RB10

SWITCHES SW6 I/O RB10

35 AN11/PMA12/RB11 SWITCHES SW5 RB11

36 VSS POWER GND

37 VDD POWER VCC3V3

38 TCK/CTED2/RA1 LEDS LED1 RA1

39 RPF13/RF13 FTDI UART_RX I/O U4RX

40 RPF12/RF12 FTDI UART_TX I/O U4TX

41 AN12/PMA11/RB12 SSD AN0 RB12

42 AN13/PMA10/RB13 SSD AN1 RB13

43 AN14/RPB14/CTED5/PMA1/RB14

AUDIO_OUT A_OUT I/O OC1

44 AN15/RPB15/OCFB/CTED6/PMA0/RB15

LCD DISP_RS I/O PMA0

45 VSS POWER GND

46 VDD POWER VCC3V3

47 RPD14/RD14 SWITCHES SW4 I/O RD14

48 RPD15/RD15 SWITCHES SW3 I/O RD15

49 RPF4/PMA9/RF4 SWITCHES SW2 I/O RF4

50 RPF5/PMA8/RF5 SWITCHES SW1 I/O RF5

51 RPF3/RF3 SWITCHES SW0 I/O RF3

52 RPF2/RF2 SPI_FLASH SPI_SI I/O SDO1/U5TX/U4RX/U5RX/IC1/T3CK/INT1OC1/OC2

53 RPF8/RF8 SPI_FLASH SPI_CE I/O SS1/U1CTS/U2CTS/IC2/IC5/T4CK/INT4/OC5

54 RPF7/RF7 SPI_FLASH SPI_SO I SDI1/U3RX/IC4/T5CK/INT4

Page 55: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 55 of 56

Pin # Full Pin Name Peripheral Schematic Name

PPS Function

55 RPF6/SCK1/INT0/RF6 SPI_FLASH SPI_SCK I/O SCK1/U1RTS/U2RTS/OC1/OC2/INT0

56 SDA1/RG3 I2C SDA SDA1

57 SCL1/RG2 I2C SCL SCL1

58 SCL2/RA2 LEDS LED2 RA2

59 SDA2/RA3 LEDS LED3 RA3

60 TDI/CTED9/RA4 LEDS LED4 RA4

61 TDO/RA5 LEDS LED5 RA5

62 VDD POWER VCC3V3

63 OSC1/CLKI/RC12 CLOCK 8MHZ CRYSTAL

64 OSC2/CLKO/RC15 CLOCK 8MHZ CRYSTAL

65 VSS POWER GND

66 RPA14/RA14 SSD CB I/O RA14

67 RPA15/RA15 BUTTONS BTND/S1_PWM

I/O RA15/OC4

68 RPD8/RTCC/RD8 PMOD JB4 I/O U1RTS/U2RTS/IC1/T3CK/INT1/OC1/OC2

69 RPD9/RD9 PMOD JB1 I/O U1CTS/U2CTS/IC2/IC5/T4CK/INT2/OC5

70 RPD10/PMCS2/RD10 PMOD JB3 I/O U1RX/U2RX/IC3/T2CK/INT3/OC3

71 RPD11/PMCS1/RD11 PMOD JB2 I/O U1TX/U2TX/IC4/T5CK/INT4/OC4

72 RPD0/RD0 PMOD JB8 I/O INT1/U5TX/IC1/T3CK/OC1/OC2

73 SOSCI/RPC13/RC13 PMOD JB10 I/O INT4/U5RTS/IC4/T5CK/OC4

74 SOSCO/RPC14/T1CK/RC14 PMOD JB7 I/O INT3/U5CTS/IC3/T2CK/OC3

75 VSS POWER GND

76 AN24/RPD1/RD1 PMOD JB9 I/O INT1/U5RX/IC1/T3CK/OC1/OC2

77 AN25/RPD2/RD2 RGB_LED LED8_R I/O OC3/RD2

78 AN26/RPD3/RD3 RGB_LED LED8_B I/O OC4/RD3

79 RPD12/PMD12/RD12 RGB_LED LED8_G I/O OC5/RD12

80 PMD13/RD13 SSD CG RD13

81 RPD4/PMWR/RD4 LCD DISP_EN I/O PMENB

82 RPD5/PMRD/RD5 LCD DISP_R/W I/O PMRD/PMWR

83 PMD14/RD6 SSD CC RD6

84 PMD15/RD7 SSD CF RD7

85 VCAP POWER CAPACITOR

86 VDD POWER VCC3V3

87 RPF0/PMD11/RF0 BUTTONS BTNC I/O RF0

88 RPF1/PMD10/RF1 MOTOR MODE I/O RF1

89 RPG1/PMD9/RG1 IRDA IR_PDOWN I/O RG1

90 RPG0/PMD8/RG0 ACCELEROMETER

ACL_INT2 I/O INT4

Page 56: Basys MX3™ Board Reference Manual - elexp.com

Basys MX3™ Board Reference Manual

Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners. Page 56 of 56

Pin # Full Pin Name Peripheral Schematic Name

PPS Function

91 TRCLK/RA6 LEDS LED6 RA6

92 TRD3/CTED8/RA7 LEDS LED7 RA7

93 PMD0/RE0 LCD DB0 PMD0

94 PMD1/RE1 LCD DB1 PMD1

95 TRD2/RG14 SSD DP RG14

96 TRD1/RG12 SSD CA RG12

97 TRD0/RG13 SSD CD RG13

98 AN20/PMD2/RE2 LCD DB2 PMD2

99 RPE3/CTPLS/PMD3/RE3 LCD DB3 I/O PMD3

100 AN21/PMD4/RE4 LCD DB4 PMD4

Page 57: Basys MX3™ Board Reference Manual - elexp.com

1

1

2

2

3

3

4

4

D D

C C

B B

A A

Title

EngineerAuthorDate

Doc#

Circuit

Rev

Sheet#

Copyright

DL

500-336MTA

7/25/20161

Basys MX3 B.0

out of 6

2016

D4 D1VCC3V3

GND GND

GND GNDD2 D3

VCC3V3

GND GND

GND GND

JA1

JA2

JA3

JA4

JA7

JA8

JA9

JA10

JB1

JB2

JB3

JB4

JB7

JB8

JB9

JB10

200

R1

200

R5

200

R9

200

R13

200

R3

200

R7

200

R11

200

R15

200

R2

200

R6

200

R10

200

R14

200

R4

200

R8

200

R12

200

R166

12345

Pmod 2x6

12

789

1011

PMODA6

12345

Pmod 2x6

12

789

1011

PMODB

SW0

SW1

SW2

SW3

SW4

SW5

SW6

SW7

10K

R18

10K

R21

10K

R24

10K

R27

10K

R30

10K

R3710K

R33

SW0

SW1

SW2

SW3

SW4

SW5

SW6

SW7

VCC3V3

GND

220

R46

10K

R49

220

R53

10K

R57

10KR64

10KNo Load

R6510KR66

GND

BTND/S1_PWM

BTNR/S0_PWM

10KNo Load

R67

VCC3V3

10KR63

BTNC

BTNL

PTA-142BTNR

PTA-142BTNU

PTA-142BTND

PTA-142BTNC

PTA-142

LD0

LD1

LD2

LD3

LD4

LD5

LD6

LD7

330

R17

330

R19

330

R23

330

R28

330

R32

330

R38

330

R41

330

R42LED7

LED6

LED5

LED4

LED3

LED2

LED1

LED0

GND

FootF1

FootF2

FootF3

FootF4

Chinese ROHSROHSCE

+4 - 1

+5 - 2

+6 - 3

Blue

Red

Green

LD8

VS NRD8

Q1A

Q2A

Q1B

86.6

R20

150

R25

75

R29

VU5V0

2.2K

R22

2.2K

R26

2.2K

R31

GND

LED8_R

LED8_G

LED8_B

2.2KR34

2.2KR35

2.2KR36

CE1 CD2

DP3

CC4

CG5 A4 6

CB7

A3 8A2 9

CF10

CA11

A1 12

7 S

egm

ent

Dis

pla

y

DISP1

KW4-281ASB

100

R44

100

R47

100

R48

100

R52

100

R54

100

R43

100

R56

100

R60

2.2K

R45

2.2K

R50

2.2K

R55

2.2K

R58

CA

CB

CC

CD

CE

CF

CG

DP

VCC3V3

AN0

AN1

AN2

AN3Q3A

Q3B

Q4A

Q4B

4.7uFC1

GNDP32_PGD/BTNL

P32_PGC/BTNU

123

1x3

J1

GNDVBAR

200R51

123

1x3

J2

GNDVBAR

200R59

4.7K

R62

4.7K

R61

TRIG_1

TRIG_2

4.7K

R40

4.7K

R39

Switches Tri Color LEDLEDs

7 Segment Display

ButtonsServo Headers

FootF5

FootF6

FootF7

FootF8

User I/O's

Basys MX3

PIBTNC01 PIBTNC02

PIBTNC03 PIBTNC04

COBTNC

PIBTND01

PIBTND02

PIBTND03

PIBTND04

COBTND

PIBTNL01

PIBTNL02

PIBTNL03

PIBTNL04

COBTNL

PIBTNR01

PIBTNR02

PIBTNR03

PIBTNR04

COBTNR

PIBTNU01

PIBTNU02

PIBTNU03

PIBTNU04

COBTNU

PIC101 PIC102

COC1

PID101

PID102

PID103 PID104 PID105

COD1 PID201

PID202

PID203 PID204 PID205

COD2 PID301

PID302

PID303 PID304 PID305

COD3 PID401

PID402

PID403 PID404 PID405

COD4

PIDISP101

PIDISP102

PIDISP103

PIDISP104

PIDISP105

PIDISP106

PIDISP107

PIDISP108

PIDISP109

PIDISP1010

PIDISP1011

PIDISP1012

CODISP1

COF1

COF2

COF3

COF4

COF5

COF6

COF7

COF8

PIJ101

PIJ102

PIJ103

COJ1

PIJ201

PIJ202

PIJ203

COJ2

PILD00A PILD00K

COLD0

PILD10A PILD10K

COLD1

PILD20A PILD20K

COLD2

PILD30A PILD30K

COLD3

PILD40A PILD40K

COLD4

PILD50A PILD50K

COLD5

PILD60A PILD60K

COLD6

PILD70A PILD70K

COLD7

PILD801

PILD802

PILD803

PILD804

PILD805

PILD806

COLD8

COLG1 COLG2 COLG3 COLG4

PIPMODA01

PIPMODA02

PIPMODA03

PIPMODA04

PIPMODA05

PIPMODA06

PIPMODA07

PIPMODA08

PIPMODA09

PIPMODA010

PIPMODA011

PIPMODA012

COPMODA

PIPMODB01

PIPMODB02

PIPMODB03

PIPMODB04

PIPMODB05

PIPMODB06

PIPMODB07

PIPMODB08

PIPMODB09

PIPMODB010

PIPMODB011

PIPMODB012

COPMODB

PIQ101 PIQ102

PIQ106 COQ1A

PIQ103

PIQ104 PIQ105

COQ1B

PIQ201 PIQ202

PIQ206 COQ2A

PIQ301 PIQ302

PIQ306

COQ3A

PIQ303

PIQ304 PIQ305

COQ3B

PIQ401 PIQ402

PIQ406 COQ4A

PIQ403

PIQ404 PIQ405

COQ4B

PIR101 PIR102

COR1 PIR201 PIR202

COR2 PIR301 PIR302

COR3 PIR401 PIR402

COR4

PIR501 PIR502

COR5 PIR601 PIR602

COR6 PIR701 PIR702

COR7 PIR801 PIR802

COR8

PIR901 PIR902

COR9 PIR1001 PIR1002

COR10 PIR1101 PIR1102

COR11 PIR1201 PIR1202

COR12

PIR1301 PIR1302

COR13 PIR1401 PIR1402

COR14 PIR1501 PIR1502

COR15 PIR1601 PIR1602

COR16

PIR1701 PIR1702

COR17

PIR1801 PIR1802 COR18

PIR1901 PIR1902 COR19

PIR2001 PIR2002

COR20

PIR2101 PIR2102

COR21 PIR2201 PIR2202

COR22

PIR2301 PIR2302

COR23

PIR2401 PIR2402

COR24 PIR2501 PIR2502

COR25

PIR2601 PIR2602

COR26

PIR2701 PIR2702

COR27 PIR2801 PIR2802

COR28

PIR2901 PIR2902

COR29

PIR3001 PIR3002

COR30 PIR3101 PIR3102

COR31

PIR3201 PIR3202 COR32

PIR3301 PIR3302 COR33

PIR3401

PIR3402

COR34 PIR3501

PIR3502

COR35 PIR3601

PIR3602

COR36 PIR3701 PIR3702

COR37 PIR3801 PIR3802

COR38

PIR3901 PIR3902 COR39

PIR4001 PIR4002 COR40

PIR4101 PIR4102

COR41

PIR4201 PIR4202

COR42

PIR4301 PIR4302

COR43

PIR4401 PIR4402

COR44

PIR4501 PIR4502

COR45 PIR4601 PIR4602

COR46

PIR4701 PIR4702

COR47

PIR4801 PIR4802 COR48

PIR4901 PIR4902 COR49

PIR5001 PIR5002

COR50 PIR5101 PIR5102 COR51

PIR5201 PIR5202

COR52

PIR5301 PIR5302

COR53

PIR5401 PIR5402 COR54

PIR5501 PIR5502 COR55

PIR5601 PIR5602

COR56 PIR5701 PIR5702

COR57

PIR5801 PIR5802

COR58 PIR5901 PIR5902 COR59

PIR6001 PIR6002 COR60

PIR6101 PIR6102 COR61

PIR6201 PIR6202 COR62

PIR6301

PIR6302 COR63 PIR6401

PIR6402 COR64 PIR6501

PIR6502 COR65 PIR6601

PIR6602 COR66 PIR6701

PIR6702 COR67

PISW001

PISW002

PISW003 COSW0

PISW101

PISW102

PISW103

COSW1 PISW201

PISW202

PISW203 COSW2

PISW301

PISW302

PISW303

COSW3 PISW401

PISW402

PISW403 COSW4

PISW501

PISW502

PISW503 COSW5

PISW601

PISW602

PISW603 COSW6

PISW701

PISW702

PISW703 COSW7

PIR5801 NLAN0

PIR5501 NLAN1

PIR5001 NLAN2

PIR4501 NLAN3

PIR6202 NLBTNC

PIR5701 PIR5902 NLBTND0S10PWM

PIR4901 PIR5102 NLBTNR0S00PWM

PIR4302 NLCA

PIR4402 NLCB

PIR4702 NLCC

PIR4802 NLCD

PIR5202 NLCE

PIR5402 NLCF

PIR5602 NLCG

PIR6002 NLDP

PIC102

PID102 PID202 PID302 PID402

PIJ103

PIJ203

PILD00K

PILD10K

PILD20K

PILD30K

PILD40K

PILD50K

PILD60K

PILD70K

PIPMODA05 PIPMODA011 PIPMODB05 PIPMODB011

PIQ101

PIQ104

PIQ201

PIR3402 PIR3502 PIR3602

PIR6301 PIR6401 PIR6501 PIR6601 PIR6701

PISW003

PISW103

PISW203

PISW303

PISW403

PISW503

PISW603

PISW703

NLGND

PIR102 NLJA1

PIR502 NLJA2

PIR902 NLJA3

PIR1302 NLJA4

PIR201 NLJA7

PIR601 NLJA8

PIR1001 NLJA9

PIR1401 NLJA10

PIR302 NLJB1

PIR702 NLJB2

PIR1102 NLJB3

PIR1502 NLJB4

PIR401 NLJB7

PIR801 NLJB8

PIR1201 NLJB9

PIR1601 NLJB10

PIR1702 NLLED0

PIR1902 NLLED1

PIR2302 NLLED2

PIR2802 NLLED3

PIR3202 NLLED4

PIR3802 NLLED5

PIR4102 NLLED6

PIR4202 NLLED7

PIR2201

PIR3601

NLLED80B

PIR3101

PIR3401

NLLED80G

PIR2601

PIR3501

NLLED80R

PIBTNC03 PIBTNC04

PIR6101

PIR6302

PIBTND03

PIBTND04

PIR5702

PIR6402

PIBTNL03

PIBTNL04

PIR4602

PIR6702

PIBTNR03

PIBTNR04

PIR4902

PIR6602

PIBTNU03

PIBTNU04

PIR5302

PIR6502

PID101

PIPMODA09

PIR1002

PID103

PIPMODA08 PIR602

PID104

PIPMODA07

PIR202

PID105

PIPMODA010

PIR1402

PID201

PIPMODB03

PIR1101

PID203

PIPMODB01

PIR301

PID204

PIPMODB02 PIR701

PID205

PIPMODB04

PIR1501

PID301

PIPMODB09

PIR1202

PID303

PIPMODB08 PIR802

PID304

PIPMODB07

PIR402

PID305

PIPMODB010

PIR1602

PID401

PIPMODA03

PIR901

PID403

PIPMODA01

PIR101

PID404

PIPMODA02 PIR501

PID405

PIPMODA04

PIR1301

PIDISP101

PIR5201

PIDISP102

PIR4801

PIDISP103

PIR6001

PIDISP104

PIR4701

PIDISP105 PIR5601

PIDISP106

PIQ403

PIDISP107

PIR4401

PIDISP108

PIQ406

PIDISP109

PIQ303

PIDISP1010

PIR5401

PIDISP1011

PIR4301

PIDISP1012

PIQ306 PIJ101 PIR5101

PIJ201 PIR5901

PILD00A PIR1701

PILD10A PIR1901

PILD20A PIR2301

PILD30A PIR2801

PILD40A PIR3201

PILD50A PIR3801

PILD60A PIR4101

PILD70A PIR4201

PILD801 PIQ106

PILD802 PIQ103

PILD803 PIQ206

PILD804 PIR2001

PILD805 PIR2501

PILD806 PIR2901

PIQ102 PIR2202

PIQ105 PIR2602

PIQ202 PIR3102

PIQ302 PIR4502

PIQ305 PIR5002

PIQ402 PIR5502

PIQ405 PIR5802

PIR1802 PISW002

PIR2102 PISW102

PIR2402 PISW202

PIR2702 PISW302

PIR3002 PISW402

PIR3302 PISW502

PIR3702 PISW602

PIR3901 PISW702

PIR5301 NLP320PGC0BTNU

PIR4601 NLP320PGD0BTNL

PIR1801 NLSW0

PIR2101 NLSW1

PIR2401 NLSW2

PIR2701 NLSW3

PIR3001 NLSW4

PIR3301 NLSW5

PIR3701 NLSW6

PIR4002 NLSW7

PIR6102 PIR6201

NLTRIG01

PIR3902 PIR4001

NLTRIG02

PIJ102

PIJ202

NLVBAR

PIBTNC01 PIBTNC02

PIBTND01

PIBTND02

PIBTNL01

PIBTNL02

PIBTNR01

PIBTNR02

PIBTNU01

PIBTNU02

PIC101

PIPMODA06 PIPMODA012 PIPMODB06 PIPMODB012

PIQ301

PIQ304

PIQ401

PIQ404

PISW001

PISW101

PISW201

PISW301

PISW401

PISW501

PISW601

PISW701

NLVCC3V3

PIR2002

PIR2502

PIR2902

NLVU5V0

Page 58: Basys MX3™ Board Reference Manual - elexp.com

1

1

2

2

3

3

4

4

D D

C C

B B

A A

Title

EngineerAuthorDate

Doc#

Circuit

Rev

Sheet#

Copyright

DL

500-336MTA

7/25/20162

Basys MX3 B.0

out of 6

2016

VD

D1

OUT 2

GN

D3 IC2

SPA2410LR5H-B

12

3 +

-

IC1A

MCP6L02T-E/MS

76

5 +

-

IC1B

MCP6L02T-E/MS

V+

8V

-4

IC1CMCP6L02T-E/MS

2.2uF

C5

2.2uF

C6

3.3KR77

100nFC2

GND

GND

GND

3.3K

R73

10KR69

100nFC3

GND

10KR68

2.2KR75

2.2K

R71

3.3nFC7 470pF

C49.1K

R72

3.92K

R74

GND

SPK1

2403-260-000012.2uFC13

IN+1

GN

D4

OUT- 2IN-3

BYPASS5

VCC

8

SDB7OUT+ 6

IC3IS31AP4991-GRLS2-TR

GND

20KR79

220nFC12

1uFC11

GND

20KR78

2.2uFC9

No Load

GND

1

2

3

Audio Jack

54

J3

35RASMT4BHNTRX

1uFC16

47KR84

GND

100R83GND

100KR85

10uFC10

A_MIC

AVCC3V3

GND

AVCC3V3

100nFC8

A_OUT

200R70

2.2KR821KR81

2.2nFC15

4.7nFC14

GND

22.2kHz Low Cut

VCC3V3

VCC3V3

SDB

1uFC17

470KR87

GND

100R86

470KR88

100nFC18

GND

SDB

A_OUT_P

A_OUT_N

Microphone Input

Audio Output

10KR80

3352T-103LF-ND

200KR76

3352T-204LF-ND

Microphone, Audio Output

PIC201

PIC202 COC2

PIC301

PIC302 COC3

PIC401

PIC402 COC4

PIC501 PIC502

COC5 PIC601 PIC602

COC6 PIC701

PIC702 COC7

PIC801 PIC802

COC8

PIC901 PIC902 COC9

PIC1001

PIC1002 COC10 PIC1101

PIC1102 COC11

PIC1201 PIC1202 COC12

PIC1301

PIC1302 COC13

PIC1401

PIC1402 COC14 PIC1501

PIC1502 COC15

PIC1601 PIC1602 COC16

PIC1701 PIC1702 COC17

PIC1801

PIC1802 COC18

PIIC101

PIIC102

PIIC103 COIC1A PIIC105

PIIC106

PIIC107 COIC1B

PIIC104

PIIC108

COIC1C PIIC201

PIIC202

PIIC203 COIC2

PIIC301

PIIC302 PIIC303

PIIC304

PIIC305 PIIC306

PIIC307

PIIC308

COIC3

PIJ301

PIJ302

PIJ303

PIJ304

PIJ305

COJ3

PIR6801

PIR6802

COR68

PIR6901

PIR6902

COR69 PIR7001 PIR7002

COR70 PIR7101 PIR7102 COR71

PIR7201 PIR7202 COR72

PIR7301 PIR7302 COR73

PIR7401 PIR7402 COR74

PIR7501 PIR7502 COR75

PIR7601

PIR7602 PIR7603

COR76 PIR7701

PIR7702

COR77

PIR7801 PIR7802 COR78

PIR7901 PIR7902 COR79

PIR8001 PIR8002

PIR8003

COR80 PIR8101 PIR8102 COR81

PIR8201 PIR8202 COR82

PIR8301 PIR8302 COR83

PIR8401

PIR8402

COR84 PIR8501 PIR8502

COR85

PIR8601 PIR8602 COR86

PIR8701

PIR8702

COR87 PIR8801

PIR8802

COR88

PISPK101

PISPK102

COSPK1

PIR7001 NLA0MIC

PIR8102 NLA0OUT

PIC902

PIIC302

PIR7802

PISPK101 NLA0OUT0N

PIIC306 PISPK102 NLA0OUT0P

PIC201

PIC801

PIIC108

PIIC201

PIR6801

NLAVCC3V3

PIC202

PIC302

PIC702

PIC802

PIC1001 PIC1101

PIC1301

PIC1402 PIC1502

PIC1802

PIIC104 PIIC203

PIIC304

PIJ301

PIR6902

PIR7702

PIR8003

PIR8402

PIR8702

NLGND

PIC301 PIIC103

PIIC105

PIR6802

PIR6901

PIC401

PIIC106 PIR7202

PIC402

PIIC107 PIR7002

PIR7402

PIC501 PIIC202 PIC502 PIC601

PIR7701

PIC602 PIR7301 PIC701

PIR7102 PIR7201

PIR7401

PIC901

PIIC303

PIR7801

PIR7902 PIC1201

PIC1602

PIC1702

PIR8002

PIC1202 PIR7901

PIC1302

PIIC301

PIIC305

PIC1401 PIR8101 PIR8202

PIC1501 PIR8001

PIR8201

PIC1601 PIR8301

PIR8401

PIC1701 PIR8601

PIR8701

PIIC101 PIR7101

PIR7602 PIR7603

PIIC102

PIR7302

PIR7501

PIJ302 PIR8602

PIR8801

PIJ303 PIR8302

PIJ304 PIR8502

PIJ305

PIR7502 PIR7601

PIC1801

PIIC307

PIR8802

NLSDB

PIC1002 PIC1102 PIIC308

PIR8501

NLVCC3V3

Page 59: Basys MX3™ Board Reference Manual - elexp.com

1

1

2

2

3

3

4

4

D D

C C

B B

A A

Title

EngineerAuthorDate

Doc#

Circuit

Rev

Sheet#

Copyright

DL

500-336MTA

7/25/20163

Basys MX3 B.0

out of 6

2016

VSS

1V

DD

2

VO3

RS4R/W5

E6

DB07DB18DB29

DB310

DB411DB512DB613

DB714

A15

K16

DISP2

SD

16

02

GS

LB-X

A-L

B-G

01

100nFC27

VU5V0

GND

GND

VD

D1

GN

D6

SDA10

SCL2

BYP 4

INT1 3

INT2 5VD

DIO

8G

ND

7

GN

D9 I2C address 0011101

IC4MMA8652FCR1

100nFC26

GND

ACL_INT2

100nFC21

100nFC20

1uFC19

GND

VCC3V3

GND

2.2K

R93

2.2K

R94

VCC3V3

SCLSDA

DB0DB1DB2DB3DB4DB5DB6DB7

DISP_RSDISP_R/WDISP_EN

CE1

GN

D4

SCK6

SO2WP3SI5

VCC

8

HOLD7

IC6S25FL132K0XNFI013 GND

VCC3V3

SPI_CESPI_SCK

SPI_SISPI_SO

100nFC22

GND

LED

A1

VIO

6

TXD2

PWDOWN/Mode4 RXD3

VCC

5G

ND

7

GN

DP

IC5RPM973-H11

100nFC23

10uFC25

10V100nFC24

GND GND

GND

VCC3V3

IR_TXIR_RXIR_PDOWN

VM

1

MODE11

AIN1/APHASE10

AIN2/AENBL9

BIN1/BPHASE8

BIN2/BENBL7

VCC

12

AOUT1 2

AOUT2 3

BOUT1 4

BOUT2 5

GN

D6

GN

DP

IC7DRV8835DSSR

100nFC29

10uFC31

25V100nFC30

25V GNDGND

GND

VMVCC3V3

GND

AIN1AIN2

BIN1BIN2

MODE

GND

10R98

0.25W

2.2KR92

2.2KR91

VCC3V3

SW9GND

VU5V0

200R96

VCC3V3

100nFC28

10VGND

JP1

VBAR

200R99200R101200R103200R104200R105200R106200R107200R108

10KR97

10KR90

A1

A2

B1

B2

VEXT

6

1 23 45

2x4

7 8J7

SCLSDA

GNDVCC3V3

GNDVCC3V3

100R1291/8W

No Load

6

12345

1x6

J6

SPI_SISPI_SOSPI_SCK

SPI_CE

GNDVCC3V3

200R127200R128200R130200R132

100R1311/8W

VCC3V3

6

12345

1x6

J5

1989780

GND GND

GND GND

6

12345

12

78910

1113141516

2x15

1718192021222324252627282930

J4

HDR-2x15

GND A_MIC

SPI_CE

SPI_SCK

SPI_SI

SPI_SO

IR_TXIR_RXAIN1AIN2BIN1BIN2

DISP_RSDISP_R/W

DISP_ENDB0200R1101KR109

1KR111200R113200R115200R117200R119200R121200R124

200R112200R114200R116200R118200R120200R122200R125

TRIG_1TRIG_2

A_OUT_PA_OUT_N

Accelerometer IrDA ModuleFlash Memory

Motor Driver Analog Discovery Interface2X16 LCD

1KR891KR100 1KR102

UART_RXUART_TX

1KNo Load

R123

0R126

VU5V0

ACL, Flash, IrDAMotor Driver, LCD, AD Conn

PIC1901

PIC1902 COC19 PIC2001

PIC2002 COC20 PIC2101

PIC2102 COC21 PIC2201

PIC2202 COC22

PIC2301

PIC2302 COC23 PIC2401

PIC2402 COC24 PIC2501

PIC2502 COC25

PIC2601

PIC2602

COC26

PIC2701

PIC2702 COC27

PIC2801

PIC2802 COC28 PIC2901

PIC2902 COC29

PIC3001

PIC3002 COC30 PIC3101

PIC3102 COC31

PIDISP201

PIDISP202

PIDISP203

PIDISP204

PIDISP205

PIDISP206

PIDISP207

PIDISP208

PIDISP209

PIDISP2010

PIDISP2011

PIDISP2012

PIDISP2013

PIDISP2014

PIDISP2015

PIDISP2016

CODISP2

PIIC401

PIIC402 PIIC403

PIIC404

PIIC405

PIIC406 PIIC407

PIIC408

PIIC409

PIIC4010

COIC4 PIIC501

PIIC502 PIIC503

PIIC504

PIIC505 PIIC506

PIIC507 PIIC50P

COIC5 PIIC601

PIIC602

PIIC603

PIIC604

PIIC605

PIIC606

PIIC607

PIIC608

COIC6

PIIC701

PIIC702

PIIC703

PIIC704

PIIC705

PIIC706

PIIC707

PIIC708

PIIC709

PIIC7010

PIIC7011

PIIC7012

PIIC70P COIC7

PIJ401 PIJ402

PIJ403 PIJ404

PIJ405 PIJ406

PIJ407 PIJ408

PIJ409 PIJ4010

PIJ4011 PIJ4012

PIJ4013 PIJ4014

PIJ4015 PIJ4016

PIJ4017 PIJ4018

PIJ4019 PIJ4020

PIJ4021 PIJ4022

PIJ4023 PIJ4024

PIJ4025 PIJ4026

PIJ4027 PIJ4028

PIJ4029 PIJ4030

COJ4

PIJ501

PIJ502

PIJ503

PIJ504

PIJ505

PIJ506

COJ5

PIJ601

PIJ602

PIJ603

PIJ604

PIJ605

PIJ606 COJ6

PIJ701 PIJ702

PIJ703 PIJ704

PIJ705 PIJ706

PIJ707 PIJ708

COJ7

PIJP101

PIJP102

PIJP103

COJP1 PIR8901 PIR8902

COR89

PIR9001

PIR9002

COR90

PIR9101

PIR9102 COR91

PIR9201

PIR9202 COR92

PIR9301

PIR9302 COR93

PIR9401

PIR9402 COR94

PIR9601 PIR9602 COR96

PIR9701

PIR9702

COR97

PIR9801

PIR9802 COR98

PIR9901 PIR9902 COR99

PIR10001 PIR10002 COR100

PIR10101 PIR10102 COR101

PIR10201 PIR10202 COR102

PIR10301 PIR10302 COR103

PIR10401 PIR10402 COR104

PIR10501 PIR10502 COR105

PIR10601 PIR10602 COR106

PIR10701 PIR10702 COR107

PIR10801 PIR10802 COR108

PIR10901 PIR10902 COR109

PIR11001 PIR11002 COR110

PIR11101 PIR11102 COR111

PIR11201 PIR11202 COR112

PIR11301 PIR11302 COR113

PIR11401 PIR11402 COR114

PIR11501 PIR11502 COR115

PIR11601 PIR11602 COR116

PIR11701 PIR11702 COR117

PIR11801 PIR11802 COR118

PIR11901 PIR11902 COR119

PIR12001 PIR12002 COR120

PIR12101 PIR12102 COR121

PIR12201 PIR12202 COR122

PIR12301

PIR12302

COR123

PIR12401 PIR12402 COR124

PIR12501 PIR12502 COR125

PIR12601

PIR12602

COR126

PIR12701 PIR12702 COR127

PIR12801 PIR12802 COR128

PIR12901 PIR12902 COR129

PIR13001 PIR13002 COR130

PIR13101 PIR13102 COR131

PIR13201 PIR13202 COR132

PISW901

PISW902

PISW903 COSW9

PIIC702 PIJ503 NLA1

PIIC703

PIJ504 NLA2

PIR8902 NLA0MIC

PIR10001 NLA0OUT0N

PIR10201 NLA0OUT0P

PIR9601 NLACL0INT2

PIIC7010

PIR11702

NLAIN1

PIIC709

PIR11902

NLAIN2

PIIC704

PIJ505

NLB1

PIIC705

PIJ506

NLB2

PIIC708

PIR12102

NLBIN1 PIIC707

PIR12402

NLBIN2

PIR9902

PIR11001

NLDB0

PIR10102 NLDB1

PIR10302 NLDB2

PIR10402 NLDB3

PIR10502 NLDB4

PIR10602 NLDB5

PIR10702 NLDB6

PIR10802 NLDB7

PIDISP206

PIR11201

NLDISP0EN PIDISP205

PIR11401

NLDISP0R0W PIDISP204

PIR11601

NLDISP0RS

PIC1901 PIC2002 PIC2102 PIC2202 PIC2301 PIC2401 PIC2502

PIC2602

PIC2702 PIC2802 PIC2902 PIC3002 PIC3102

PIDISP201

PIIC406 PIIC407 PIIC409 PIIC507 PIIC50P PIIC604

PIIC706 PIIC70P

PIJ4019 PIJ4020

PIJ4025 PIJ4026

PIJ4030

PIJ502

PIJ605

PIJ705 PIJ706

PIR12602 PISW903

NLGND

PIIC504

PIR9701

NLIR0PDOWN PIIC503

PIR11502

NLIR0RX PIIC502

PIR11302

NLIR0TX

PIIC7011 NLMODE

PIC2601 PIIC404

PIDISP203

PIR12302

PIR12601

PIDISP207 PIR9901

PIDISP208 PIR10101

PIDISP209 PIR10301

PIDISP2010 PIR10401

PIDISP2011 PIR10501

PIDISP2012 PIR10601

PIDISP2013 PIR10701

PIDISP2014 PIR10801

PIDISP2015 PIR9801

PIDISP2016 PISW902

PIIC403

PIIC405 PIR9602 PIIC603

PIR9201

PIIC607

PIR9101

PIJ401 PIR12502 PIJ402 PIR12401

PIJ403 PIR12202 PIJ404 PIR12101

PIJ405 PIR12002 PIJ406 PIR11901

PIJ407 PIR11802 PIJ408 PIR11701

PIJ409 PIR11602 PIJ4010 PIR11501

PIJ4011 PIR11402 PIJ4012 PIR11301

PIJ4013 PIR11202 PIJ4014 PIR11101

PIJ4015 PIR11002 PIJ4016 PIR10901

PIJ4021 PIJ4022

PIJ4023 PIJ4024

PIJ4027 PIR10202 PIJ4028 PIR10002

PIJ4029 PIR8901

PIJ601 PIR12701

PIJ602 PIR12801

PIJ603 PIR13001

PIJ604 PIR13201

PIJ701 PIJ702 PIR12901

PIJ703 PIJ704 PIR13101

PISW901

PIIC402 PIR9301

PIR12902

NLSCL PIIC4010

PIR9401

PIR13102

NLSDA

PIIC601

PIR9002

PIR12201

PIR12702 NLSPI0CE

PIIC606

PIR11801

PIR13202 NLSPI0SCK

PIIC605

PIR12501

PIR12802 NLSPI0SI

PIIC602

PIR12001

PIR13002 NLSPI0SO

PIJ4017 NLTRIG01

PIJ4018 NLTRIG02

PIR11102 NLUART0RX

PIR10902 NLUART0TX

PIJP101 NLVBAR

PIC1902 PIC2001 PIC2101 PIC2201 PIC2302 PIC2402

PIC2701 PIC2901

PIDISP202

PIIC401 PIIC408 PIIC505 PIIC506

PIIC608

PIIC7012

PIJ606

PIJ707 PIJ708

PIR9001

PIR9102 PIR9202 PIR9302 PIR9402

PIR9702

NLVCC3V3

PIJ501

PIJP103 NLVEXT

PIC3001 PIC3101

PIIC701

PIJP102 NLVM

PIC2501

PIC2801

PIIC501

PIR9802

PIR12301

NLVU5V0

Page 60: Basys MX3™ Board Reference Manual - elexp.com

1

1

2

2

3

3

4

4

D D

C C

B B

A A

Title

EngineerAuthorDate

Doc#

Circuit

Rev

Sheet#

Copyright

DL

500-336MTA

7/25/20164

Basys MX3 B.0

out of 6

2016

PORT ATMS/CTED1/RA0 17

VREF-/CVREF-/PMA7/RA9 28VREF+/CVREF+/PMA6/RA10 29

TCK/CTED2/RA1 38SCL2/RA2 58

SDA2/RA3 59

TDI/CTED9/RA4 60TDO/RA5 61

RPA14/RA14 66

RPA15/RA15 67

TRCLK/RA6 91

TRD3/CTED8/RA7 92

IC8A PIC32MX370F512L

PORT B

AN5/C1INA/RPB5/RB5 20AN4/C1INB/RB4 21PGED3/AN3/C2INA/RPB3/RB3 22PGEC3/AN2/C2INB/RPB2/CTED13/RB2 23PGC1/AN1/RPB1/CTED12/RB1 24PGED1/AN0/RPB0/RB0 25

PGEC2/AN6/RPB6/RB6 26PGED2/AN7/RPB7/CTED3/RB7 27

AN8/RPB8/CTED10/RB8 32

AN9/RPB9/CTED4/RB9 33CVREFOUT/AN10/RPB10/PMA13/CTED11/RB10 34

AN11/PMA12//RB11 35

AN12/PMA11/RB12 41AN13/RB13 42

AN14/RPB14/PMA1/CTED5/RB14 43AN15/RPB15/PMA0/CTED6/RB15 44

IC8B PIC32MX370F512L

PORT C RPC1/RC1 6

RPC2/RC2 7

RPC3/RC3 8RPC4/CTED7/RC4 9

CLKI/RC12/OSC1 63CLKO/RC15/OSC2 64

SOSCI/RPC13/RC13 73

SOSCO/RPC14/T1CK/RC14 74

IC8C PIC32MX370F512L

PORT D

RPD14/RD14 47RPD15/RD15 48

RPD8/RTCC/RD8 68RPD9/RD9 69

RPD10/PMCS2/RD10 70RPD11/PMCS1/RD11 71

RPD0/RD0 72AN24/RPD1/RD1 76

AN25/RPD2/RD2 77

AN26/RPD3/RD3 78

RPD12/PMD12/RD12 79PMD13/RD13 80

RPD4/PMWR/RD4 81RPD5/PMRD/RD5 82

RPD6/PMD14/RD6 83

RPD7/PMD15/RD7 84

IC8D PIC32MX370F512L

PORT E

AN22/RPE5/PMD5/RE5 3

AN23/PMD6/RE6 4

AN27/PMD7/RE7 5RPE8/RE8 18RPE9/RE9 19

PMD0/RE0 93PMD1/RE1 94

AN20/PMD2/RE2 98

RPE3/PMD3/RE3 99AN21/PMD4/RE4 100

IC8E PIC32MX370F512L

PORT F

RPF13/RF13 39RPF12/RF12 40

RPF4/PMA9/RF4 49RPF5/PMA8/RF5 50

RPF3/RF3 51RPF2/RF2 52

RPF8/RF8 53RPF7/RF7 54RPF6/SCK1/INT0/RF6 55

RPF0/PMD11/RF0 87RPF1/PMD10/RF1 88

IC8F PIC32MX370F512L

PORT G

CNG15/RG15 1

AN16/C1IND/RPG6/SCK2/PMA5/RG6 10

AN17/C1INC/RPG7/PMA4/RG7 11AN18/C2IND/RPG8/PMA3/RG8 12AN19/C2INC/RPG9/PMA2/RG9 14

SDA1/RG3 56SCL1/RG2 57RPG1/PMD9/RG1 89RPG0/PMD8/RG0 90

TRD2/RG14 95TRD1/RG12 96

TRD0/RG13 97

IC8G PIC32MX370F512L

AV

DD

30

POWER

AV

SS31

VD

D2

VD

D16

VD

D37

VD

D46

VD

D62

VSS

15V

SS36

VSS

45

VSS

65V

SS75

MCLR 13

VD

D86

VCAP 85

IC8H

10KR134

3352T-103LF-ND

30pFC40

30pFC39

GND GNDGNDGND

X1ABM3B-8.000MHZ-B2-T

SW0

SW1SW2

SW3SW4

SW5SW6SW7

BTND/S1_PWM

BTNR/S0_PWM

P32_PGD/BTNLP32_PGC/BTNU

BTNC

LED7LED6LED5LED4LED3LED2LED1LED0

LED8_R

LED8_G

LED8_B

CA

CB

CC

CD

CE

CF

CG

DP

AN0AN1

AN2AN3

JA1JA2

JA3

JA4

JA7

JA8JA9JA10

JB1

JB2JB3

JB4

JB7

JB8JB9

JB10

DB0DB1DB2DB3DB4DB5DB6DB7

DISP_RS

DISP_R/WDISP_EN

SPI_CE

SPI_SCK

SPI_SI

SPI_SO

A_OUT

IR_TXIR_RX

IR_PDOWN

AIN1

AIN2BIN1

BIN2

MODE

UART_RXUART_TX

P32_MCLR

GND

AVCC3V3

A_MIC

SCLSDA

BTNRESPTA-142 Red Knob

10KR135

GND

200R137

100nFC32

100nFC33

100nFC34

100nFC35

100nFC36

100nFC37

100nFC38

100nFC42

10uFC41

GND

GNDGND

GND

VCC3V3

AVCC3V3 VCC3V3

D5

75

R136

GND

ACL_INT2

AIC 200R133

P32_MCLR100R138

GND20R139

No Load

6

12345

1x6

J9

VCC3V3

P32_PGD/BTNLP32_PGC/BTNU

11x1

J836-5000-ND

20R140

11x1

J1436-5001-ND

MCU

PIBTNRES01 PIBTNRES02

PIBTNRES03 PIBTNRES04 COBTNRES

PIC3201

PIC3202

COC32 PIC3301

PIC3302 COC33 PIC3401

PIC3402 COC34 PIC3501

PIC3502 COC35 PIC3601

PIC3602 COC36 PIC3701

PIC3702 COC37 PIC3801

PIC3802 COC38

PIC3901 PIC3902

COC39

PIC4001 PIC4002 COC40

PIC4101

PIC4102 COC41 PIC4201

PIC4202 COC42

PID501 PID502 PID503 COD5

PIIC8017

PIIC8028

PIIC8029

PIIC8038

PIIC8058

PIIC8059

PIIC8060

PIIC8061

PIIC8066

PIIC8067

PIIC8091

PIIC8092

COIC8A

PIIC8020

PIIC8021

PIIC8022

PIIC8023

PIIC8024

PIIC8025

PIIC8026

PIIC8027

PIIC8032

PIIC8033

PIIC8034

PIIC8035

PIIC8041

PIIC8042

PIIC8043

PIIC8044

COIC8B

PIIC806

PIIC807

PIIC808

PIIC809

PIIC8063

PIIC8064

PIIC8073

PIIC8074

COIC8C

PIIC8047

PIIC8048

PIIC8068

PIIC8069

PIIC8070

PIIC8071

PIIC8072

PIIC8076

PIIC8077

PIIC8078

PIIC8079

PIIC8080

PIIC8081

PIIC8082 PIIC8083

PIIC8084

COIC8D

PIIC803

PIIC804

PIIC805

PIIC8018

PIIC8019

PIIC8093

PIIC8094

PIIC8098

PIIC8099

PIIC80100

COIC8E

PIIC8039

PIIC8040

PIIC8049

PIIC8050

PIIC8051

PIIC8052

PIIC8053

PIIC8054

PIIC8055

PIIC8087

PIIC8088

COIC8F

PIIC801

PIIC8010

PIIC8011

PIIC8012

PIIC8014

PIIC8056

PIIC8057

PIIC8089

PIIC8090

PIIC8095

PIIC8096

PIIC8097

COIC8G

PIIC802

PIIC8013

PIIC8015

PIIC8016 PIIC8030

PIIC8031 PIIC8036

PIIC8037

PIIC8045

PIIC8046 PIIC8062

PIIC8065 PIIC8075

PIIC8085

PIIC8086

COIC8H

PIJ801 COJ8

PIJ901

PIJ902

PIJ903

PIJ904

PIJ905

PIJ906

COJ9

PIJ1401

COJ14

PIR13301 PIR13302 COR133

PIR13401 PIR13402

PIR13403 COR134

PIR13501

PIR13502

COR135

PIR13601 PIR13602

COR136

PIR13701

PIR13702

COR137

PIR13801 PIR13802 COR138

PIR13901 PIR13902 COR139

PIR14001 PIR14002 COR140

PIX101 PIX102

PIX103 PIX104

COX1

PIIC8021 NLA0MIC

PIIC8043 NLA0OUT

PIIC8090 NLACL0INT2

PIIC8023 PIR13302 NLAIC

PIIC8022 NLAIN1

PIIC8018 NLAIN2

PIIC8041 NLAN0

PIIC8042 NLAN1

PIIC8028 NLAN2

PIIC8029 NLAN3

PIC3201

PIIC8030

PIR13403

NLAVCC3V3

PIIC8019 NLBIN1

PIIC8020 NLBIN2

PIIC8087 NLBTNC

PIIC8067 NLBTND0S10PWM

PIIC8032 NLBTNR0S00PWM

PIIC8096 NLCA

PIIC8066 NLCB

PIIC8083 NLCC

PIIC8097 NLCD

PIIC801 NLCE

PIIC8084 NLCF

PIIC8080 NLCG

PIIC8093 NLDB0

PIIC8094 NLDB1

PIIC8098 NLDB2

PIIC8099 NLDB3

PIIC80100 NLDB4

PIIC803 NLDB5

PIIC804 NLDB6

PIIC805 NLDB7

PIIC8081 NLDISP0EN

PIIC8082 NLDISP0R0W

PIIC8044 NLDISP0RS

PIIC8095 NLDP

PIBTNRES01 PIBTNRES02

PIC3202 PIC3302 PIC3402 PIC3502 PIC3602 PIC3702 PIC3802

PIC3902

PIC4002

PIC4102 PIC4202

PID501

PIIC8015 PIIC8031 PIIC8036 PIIC8045 PIIC8065 PIIC8075

PIJ903

PIJ1401

PIR13401

PIX102 PIX104 NLGND

PIIC8089 NLIR0PDOWN

PIIC8026 NLIR0RX

PIIC8027 NLIR0TX

PIIC807 NLJA1 PIIC806 NLJA2

PIIC809 NLJA3

PIIC8010 NLJA4

PIIC808 NLJA7

PIIC8011 NLJA8

PIIC8012 NLJA9

PIIC8014 NLJA10

PIIC8069 NLJB1

PIIC8071 NLJB2

PIIC8070 NLJB3

PIIC8068 NLJB4

PIIC8074 NLJB7

PIIC8072 NLJB8

PIIC8076 NLJB9

PIIC8073 NLJB10

PIIC8017 NLLED0

PIIC8038 NLLED1

PIIC8058 NLLED2

PIIC8059 NLLED3

PIIC8060 NLLED4

PIIC8061 NLLED5

PIIC8091 NLLED6

PIIC8092 NLLED7

PIIC8078 NLLED80B

PIIC8079 NLLED80G

PIIC8077 NLLED80R

PIIC8088 NLMODE

PIBTNRES03 PIBTNRES04

PIR13702

PIC3901

PIIC8063

PIX101

PIC4001

PIIC8064

PIX103 PIC4101 PIC4201

PIIC8085

PID503

PIIC8013 PIR13601

PIJ801

PIR13301 PIR13402

PIJ901 PIR13801

PIJ904 PIR13901

PIJ905 PIR14001

PIJ906

PIR13502

PIR13602

PIR13701

PIR13802 NLP320MCLR

PIIC8024

PIR14002

NLP320PGC0BTNU PIIC8025

PIR13902

NLP320PGD0BTNL

PIIC8057 NLSCL

PIIC8056 NLSDA

PIIC8053 NLSPI0CE

PIIC8055 NLSPI0SCK

PIIC8052 NLSPI0SI

PIIC8054 NLSPI0SO

PIIC8051 NLSW0

PIIC8050 NLSW1

PIIC8049 NLSW2

PIIC8048 NLSW3

PIIC8047 NLSW4

PIIC8035 NLSW5 PIIC8034 NLSW6

PIIC8033 NLSW7

PIIC8039 NLUART0RX

PIIC8040 NLUART0TX

PIC3301 PIC3401 PIC3501 PIC3601 PIC3701 PIC3801

PID502 PIIC802 PIIC8016 PIIC8037 PIIC8046 PIIC8062 PIIC8086

PIJ902

PIR13501

NLVCC3V3

Page 61: Basys MX3™ Board Reference Manual - elexp.com

1

1

2

2

3

3

4

4

D D

C C

B B

A A

Title

EngineerAuthorDate

Doc#

Circuit

Rev

Sheet#

Copyright

DL

500-336MTA

7/25/20165

Basys MX3 B.0

out of 6

2016

VCC

19

RXD 2

RESET18

TXD 30

RI 3DCD 7

D+14

D-15

GN

D4

GN

D17

PAD

P

DSR 6DTR 31CTS 8RTS 32VCC

IO1

OSCI27OSCO28

3V3OUT16

CBUS0 22CBUS1 21CBUS2 10CBUS3 11CBUS4 9

GN

D20

AG

ND

24

TEST26

IC9

FT232RQ R

1MegR145

1nF/250VC48

10nFC46

10V

S1 S1G 5ID 4D+ 3D- 2V 1S2 S2

USB Micro B

S3S3

S4S4J10

USBC-FC05RB2N4

GND

GND

FT_5V0

GND

100nFC43

16V

GND

FT3V3

FT3V3

GND

4.7uFC45

10V100nFC44

16VGND

4.7KR144

10KR146

GND

2.2KR1411KR142

100No Load

R143

UART_RXUART_TX

470

R148

470

R147LD9

LD10

FT3V3

TX

RX

JP2

100nFC47

16V

P32_MCLR

10uFC50

10V22uFC51

GNDGND

45.3KR154

1%

10KR158

1%GND

GND

VCC3V3

2.2uH

L1 SRN4018-2R2M

LD11

680R155

GND1

2 3Q5 DMG2305UX

100KR152

13

2Q7

FDV301N

4.7KR164

10KR163

GND

Q8A

Q8B

10KR162

2.2KR161

10K

R159

PWR_ON

DBG_5V0

Q6AMBT3906DW1T1

4.7KR157

2.2K

R149

SW8

GND

FT_5V0

FT_5V0

FT_5V0

DBG_5V0

4.7uFC58

10V10nFC57

16V

DBG3V3

GND

VIN

VIN

2.2uFC56

10VGND

10KR167

470R166

GND

ON 2.2KR165

VU5V0

22uFC52

22uFC53

GRM21BR60J226ME39L

2.2uHL2BRL3225T2R2M

22uFC54

22uFC55

GND

VCC3V3 AVCC3V3

VIN1

ON3VOUT 5

BYP 4

GN

D2

IC11 LP2985IM5-3.3/NOPB

J11

KLDHCX-0202-A

GND

VBAR

2.2KR151

2.2KR160

2.2K

R1562.2KR150

D8BZX84C5V6LT1G

GND

D9MBR230LSFT1GD10MBR230LSFT1GD11MBR230LSFT1G

Q9A

MBT3906DW1T1

Q6BMBT3906DW1T1

Power ON

VIN5

PGN

D2

EN4 FB 3SW 1

IC10 LMR10515YMF

100KR153

D7MBR230LSFT1G

ON

D6 BAT54SWVCC3V3

UART

Power

GND

1.5A

3MHz22uFC49

22uFNo Load

C72

UART, Power Supply

PIC4301

PIC4302 COC43 PIC4401

PIC4402

COC44 PIC4501

PIC4502

COC45

PIC4601 PIC4602

COC46

PIC4701

PIC4702 COC47

PIC4801 PIC4802 COC48

PIC4901 PIC4902

COC49 PIC5001

PIC5002

COC50

PIC5101 PIC5102

COC51

PIC5201

PIC5202 COC52 PIC5301

PIC5302 COC53 PIC5401

PIC5402 COC54

PIC5501

PIC5502 COC55

PIC5601

PIC5602 COC56

PIC5701 PIC5702

COC57 PIC5801

PIC5802

COC58

PIC7201 PIC7202

COC72

PID601 PID602 PID603

COD6

PID70A

PID70K COD7

PID80A

PID80K

COD8

PID90A PID90K

COD9

PID100A PID100K

COD10

PID110A PID110K

COD11

PIIC901 PIIC902

PIIC903

PIIC904

PIIC906

PIIC907

PIIC908

PIIC909

PIIC9010

PIIC9011

PIIC9014

PIIC9015

PIIC9016

PIIC9017

PIIC9018

PIIC9019

PIIC9020

PIIC9021

PIIC9022

PIIC9024

PIIC9026

PIIC9027

PIIC9028

PIIC9030

PIIC9031

PIIC9032

PIIC90P

COIC9

PIIC1001

PIIC1002 PIIC1003 PIIC1004

PIIC1005

COIC10

PIIC1101

PIIC1102

PIIC1103 PIIC1104

PIIC1105

COIC11

PIJ1001

PIJ1002

PIJ1003

PIJ1004

PIJ1005

PIJ100S1

PIJ100S2

PIJ100S3

PIJ100S4

COJ10

PIJ1101

PIJ1102

PIJ1103

COJ11

PIJP201 PIJP202 COJP2

PIL101 PIL102

COL1

PIL201 PIL202 COL2

PILD90A PILD90K COLD9

PILD100A PILD100K COLD10

PILD110A

PILD110K COLD11

PIQ501 PIQ502 PIQ503

COQ5

PIQ601 PIQ602

PIQ606 COQ6A

PIQ603

PIQ604 PIQ605

COQ6B

PIQ701

PIQ702

PIQ703

COQ7

PIQ801 PIQ802

PIQ806

COQ8A

PIQ803

PIQ804 PIQ805

COQ8B

PIQ901 PIQ902

PIQ906 COQ9A

PIR14101 PIR14102 COR141

PIR14201 PIR14202 COR142

PIR14301 PIR14302 COR143

PIR14401

PIR14402 COR144

PIR14501

PIR14502

COR145 PIR14601

PIR14602 COR146

PIR14701 PIR14702

COR147

PIR14801 PIR14802

COR148

PIR14901 PIR14902

COR149

PIR15001

PIR15002 COR150 PIR15101

PIR15102

COR151 PIR15201

PIR15202 COR152 PIR15301

PIR15302 COR153 PIR15401

PIR15402 COR154 PIR15501

PIR15502

COR155

PIR15601 PIR15602

COR156 PIR15701 PIR15702 COR157

PIR15801

PIR15802 COR158

PIR15901 PIR15902

COR159 PIR16001

PIR16002

COR160

PIR16101 PIR16102 COR161

PIR16201

PIR16202 COR162 PIR16301

PIR16302 COR163 PIR16401

PIR16402 COR164

PIR16501 PIR16502 COR165

PIR16601

PIR16602 COR166

PIR16701

PIR16702 COR167

PISW801

PISW802

PISW803 COSW8

PIC5401 PIC5501

PIL202 NLAVCC3V3

PIC5801

PIIC1105 NLDBG3V3

PID100A

PIR15902

NLDBG05V0

PIC4301

PIIC901

PIIC9016

PIR14702

PIR14802

NLFT3V3

PIC4401 PIC4501

PIC4601

PID90A

PIIC9019 PIJ1001

PIR14402

NLFT05V0

PIC4302 PIC4402 PIC4502

PIC4602

PIC4801

PIC4902 PIC5002

PIC5102

PIC5202 PIC5302 PIC5402 PIC5502

PIC5602

PIC5702 PIC5802

PIC7202

PID70A PID80A

PIIC904 PIIC9017 PIIC9020 PIIC9024

PIIC9026

PIIC90P

PIIC1002

PIIC1102

PIJ1005

PIJ1102

PIJ1103

PILD110K

PIQ801

PIQ804

PIR14502 PIR14601

PIR15801

PIR16201 PIR16301 PIR16401

PIR16701

PISW802

NLGND

PIC4701 PIJP201 PIR14301

PIC4702 PIIC9031

PIC4802

PIJ100S1

PIJ100S2

PIJ100S3

PIJ100S4

PIR14501

PIC5701 PIIC1104

PID601

PID70K

PIIC1001 PIL101

PID80K

PIR15001

PIR15601

PIIC902 PIR14202

PIIC903

PIIC906

PIIC907

PIIC908

PIIC909

PIIC9010

PIIC9011

PIIC9014 PIJ1003

PIIC9015

PIJ1002

PIIC9018

PIR14401

PIR14602

PIIC9027

PIIC9028

PIIC9030 PIR14102

PIIC9032 PIR14302

PIIC1003

PIR15401

PIR15802

PIIC1004

PIR15301

PIIC1103

PIR16601

PIR16702

PIJ1004

PILD90A PIR14701

PILD100A PIR14801

PILD110A

PIR15502

PIQ501

PIQ703

PIR15201

PIQ602 PIR14901

PIQ603

PIR14902

PIR15102

PIR16001

PIQ605 PIR15602

PIQ606

PIR15702

PIQ701 PIQ803

PIR15701

PIR16302

PIQ702

PIR16402

PIQ802 PIR16101

PIQ805

PIQ806

PIR15901

PIQ902 PIR16501

PIQ906 PIR16602

PISW803

PIR16002

PIR16502

PISW801 NLON

PIJP202 NLP320MCLR

PIR16102

PIR16202

NLPWR0ON

PIIC9021

PILD90K NLRX

PIIC9022

PILD100K NLTX

PID603 PIR14101

NLUART0RX

PIR14201 NLUART0TX

PID110A PIJ1101 NLVBAR

PIC4901 PIC5101

PIC5201 PIC5301

PIC7201

PID602

PIL102

PIL201

PIR15402

PIR15501

NLVCC3V3

PIC5601

PID90K

PID100K

PID110K PIIC1101

PIQ502

PIQ601

PIQ604

PIQ901

PIR15002 PIR15101 PIR15202

NLVIN

PIC5001

PIIC1005 PIQ503

PIR15302

NLVU5V0

Page 62: Basys MX3™ Board Reference Manual - elexp.com

1

1

2

2

3

3

4

4

D D

C C

B B

A A

Title

EngineerAuthorDate

Doc#

Circuit

Rev

Sheet#

Copyright

DL

500-336MTA

7/25/20166

Basys MX3 B.0

out of 6

2016

Debug

PIC5901

PIC5902

COC59

PIC6001 PIC6002

COC60

PIC6101

PIC6102

COC61

PIC6201

PIC6202 COC62

PIC6301

PIC6302 COC63

PIC6401

PIC6402 COC64

PIC6501

PIC6502 COC65

PIC6601

PIC6602 COC66

PIC6701 PIC6702

COC67

PIC6801

PIC6802

COC68

PIC6901

PIC6902 COC69 PIC7001

PIC7002 COC70

PIC7101

PIC7102 COC71

PIIC12011

PIIC12012

PIIC12013

PIIC12014

PIIC12015

PIIC12016

PIIC12017

PIIC12018

PIIC12021

PIIC12022

PIIC12023 PIIC12024

PIIC12027

PIIC12028

PIIC12029

PIIC12030

COIC12A

PIIC12039

PIIC12040

PIIC12047

PIIC12048

COIC12B

PIIC12042

PIIC12043

PIIC12044 PIIC12045

PIIC12046

PIIC12049

PIIC12050

PIIC12051

PIIC12052

PIIC12053

PIIC12054

PIIC12055

COIC12C

PIIC1201

PIIC1202

PIIC1203

PIIC12060

PIIC12061

PIIC12062

PIIC12063

PIIC12064

COIC12D

PIIC12031

PIIC12032

PIIC12033

PIIC12058

PIIC12059

COIC12E

PIIC1207

PIIC1209

PIIC12010 PIIC12019

PIIC12020 PIIC12025

PIIC12026

PIIC12034

PIIC12035

PIIC12036

PIIC12037

PIIC12038

PIIC12041

PIIC12056

PIIC12057

PIIC120P

COIC12G

PIIC1301

PIIC1302

PIIC1303

PIIC1304

PIIC1305

PIIC1306

PIIC1307

PIIC1308 COIC13

PIJ1201

PIJ1202

PIJ1203

PIJ1204

PIJ1205

PIJ120S1

PIJ120S2

PIJ120S3

PIJ120S4

COJ12

PIJ1301

PIJ1302

PIJ1303

PIJ1304

PIJ1305

PIJ1306

COJ13

PILD120A

PILD120K COLD12

PILD130A

PILD130K COLD13

PILD140A

PILD140K COLD14

PIQ903

PIQ904 PIQ905

COQ9B

PIQ1001 PIQ1002

PIQ1006

COQ10A

PIQ1003

PIQ1004 PIQ1005

COQ10B

PIR16801

PIR16802

COR168 PIR16901

PIR16902

COR169 PIR17001

PIR17002

COR170

PIR17101 PIR17102 COR171

PIR17201 PIR17202 COR172

PIR17301 PIR17302 COR173

PIR17401

PIR17402

COR174 PIR17501

PIR17502

COR175 PIR17601

PIR17602

COR176 PIR17701

PIR17702 COR177 PIR17801

PIR17802 COR178

PIR17901 PIR17902 COR179

PIR18001 PIR18002 COR180

PIR18101

PIR18102

COR181 PIR18201

PIR18202

COR182 PIR18301

PIR18302

COR183 PIR18401

PIR18402 COR184 PIR18501

PIR18502

COR185

PIR18601

PIR18602 COR186 PIR18701

PIR18702

COR187

PIR18801

PIR18802 COR188 PIR18901 PIR18902

COR189

PIR19001 PIR19002 COR190

PIR19101 PIR19102 COR191

PIR19201 PIR19202 COR192

PIR19301

PIR19302

COR193

PIR19401

PIR19402 COR194

PIR19501

PIR19502

COR195

PIR19601

PIR19602 COR196

PIR19701 PIR19702

COR197

PIR19801 PIR19802

COR198

PIR19901 PIR19902 COR199

PIX201 PIX202

PIX203 PIX204

COX2

PIC6301 PIC6401 PIC6501 PIC6601

PIC6701 PIIC12010 PIIC12019 PIIC12026 PIIC12035 PIIC12038

PIIC12057

PIIC1307

PIIC1308

PIJ1302

PIR17001

PIR17902

PIR18002

PIR19002

PIR19301

PIR19602

NLDBG3V3

PIC6801

PIIC12034

PIJ1201

NLDBG05V0

PIIC1207

PIR19702 NLDBG0MCLR

PIIC12017

PIR19902

NLDBG0PGC

PIIC12018

PIR19802

NLDBG0PGD PIC5902

PIC6002

PIC6102

PIC6202

PIC6302 PIC6402 PIC6502 PIC6602

PIC6702

PIC6802

PIC6902 PIC7002

PIC7101

PIIC1209 PIIC12020 PIIC12025 PIIC12041 PIIC120P

PIIC1304 PIJ1205

PIJ1303

PIQ1001

PIQ1004

PIR17402 PIR17502 PIR17602 PIR17701 PIR17801

PIR18102 PIR18202 PIR18302

PIR18702

PIR18902

PIR19401

PIR19502

PIX202 PIX204

NLGND

PIC6001

PIIC12064

PIR18502

PIR18701

PIC6101 PIIC12039

PIX201

PIC6201

PIIC12040

PIX203

PIC6901 PIC7001 PIIC12056

PIC7102

PIJ120S1

PIJ120S2

PIJ120S3

PIJ120S4

PIR19501

PIIC1203

PIIC12011

PIIC12012

PIIC12015

PIIC12021 PIR17901

PIIC12022

PILD140A

PIIC12023

PILD130A

PIIC12024

PILD120A PIIC12027 PIR18001

PIIC12028

PIIC12029

PIIC12030

PIIC12031

PIIC12032

PIIC12033

PIIC12036

PIJ1202

PIIC12037

PIJ1203

PIIC12043

PIIC12044

PIIC12047 PIR18901

PIIC12048 PIR19001

PIIC12049

PIIC12050 PIR17101

PIIC12051 PIR17201

PIIC12052 PIR17301

PIIC12054

PIIC12058

PIIC12060

PIIC12061

PIIC12062

PIIC12063

PIJ1204

PIJ1301

PIR19601

PIR19701

PIJ1304 PIR19801

PIJ1305

PIR19901

PIJ1306

PILD120K

PIR18101

PILD130K

PIR18201

PILD140K

PIR18301

PIQ905

PIR18401

PIR18602

PIQ1002 PIR19102

PIQ1003

PIR18801

PIQ1005 PIR19202

PIQ1006

PIR18601

PIQ903

PIR18802

NLP320MCLR

PIR17102

PIR17802

NLP320PGC0BTNU

PIR17202

PIR17302

PIR17702

NLP320PGD0BTNL

PIIC12059 NLPWR0ON

PIIC12053

PIIC1301

PIR19302

NLROM0CS

PIIC12042

PIIC1306

NLROM0SCK

PIIC12045

PIIC1302

NLROM0SDI

PIIC12046

PIIC1305

NLROM0SDO

PIIC12055

PIIC1303

PIR19402

NLROM0WP

PIQ904

PIR16801 PIR16901

PIR18402 PIR18501

NLVCC3V3

PIIC12014 PIR16902

PIR17501

NLVDD0SENSE

PIIC1202

PIR19201

NLVPP0GND PIIC1201 PIR19101 NLVPP0ON

PIIC12013

PIR16802

PIR17401

NLVPP0SENSE

PIC5901

PIIC12016

PIR17002

PIR17601

NLVREF2V5

This Page Intentionally Left Blank