basys mx3™ board reference manual - elexp.com
TRANSCRIPT
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
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
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
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
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
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.
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.
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
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.
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:
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
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.
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
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.
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
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.
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:
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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:
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;
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.
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.
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
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.
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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