The Explorer 16/32 Development Board is intended as a development, demonstration, and testing platform for many families of Microchip 16-bit and 32-bit microcontroller devices. The board features all the necessary hardware (such as power supply, user interface, communications and I/O connectivity) to begin developing and debugging a complete embedded application. The Explorer 16/32 board accepts 100-pin microcontroller “Plug-In Module” (PIM) daughter boards designed for the Explorer 16 or Explorer 16/32 Development Board (PIMS). In addition to the hardware features provided by the Explorer 16/32, hardware expansion is possible through the use of mikroBUS™ and PICtail™ Plus accessory boards.
Board Schematics and Bill of Materials
Full schematics and related information for the Explorer 16/32 Development Board can be downloaded below:
Explorer 16/32 Development Board Features
Hardware features of the Explorer 16/32 Development Board are highlighted and summarized below:
- 100-pin Plug-In Module (PIM) socket (U1A), supporting a wide variety of 16-bit and 32-bit microcontroller families (see PIMs list). Note: The TQFP microcontroller (U14) in the center of the PIM area is part of the PICkit™ On Board circuit (#7 below) and is not intended for running application code. In order to develop application code for the Explorer 16/32 Development Board, a PIM must always be installed on U1A.
- DC power supply input jack (J12, center pin positive), accepting 8-15 V DC, for powering the Explorer 16/32 board and any mikroBUS or PICtail Plus accessory boards. The board may also be powered from any one of three USB power sources.
- Power switch (S7) – de-bounced on-off power pushbutton that can be used to power cycle the PIM microcontroller and all other circuitry on the 5 V and 3.3 V Explorer 16/32 power supply rails.
- Power supply conversion circuitry – provides 5 V / 3.3 V power supply nets, with short circuit and USB overcurrent limiting features.
- Green power status LED (D1) – indicates when 5 V and 3.3 V rails are switched on
- MCLR reset button (S1) for manually resetting the PIM microcontroller.
- PICkit On Board (PKOB) programmer/debugger and micro-B USB connector – useful for basic programming or debug operations of select microcontroller devices available as PIMs for the Explorer 16/32 Development Board.
- RJ11 ICSP™ programming/debug interface – compatible with MPLAB® ICD/REAL ICE™, and other RJ11 based Microchip programming/debug tools.
- 6-pin interface for the PICkit programmer (when used in conjunction with a 6-pin 100 mil male-male header).
- 8x general purpose green indicator LEDs (D3-D10) – controllable by the PIM microcontroller firmware.
- 4x general purpose pushbuttons – state readable by the PIM microcontroller firmware.
- MCP2221A USB to UART (up to 460,800 baud) + I2C serial adapter chip – useful for transferring data to/from the PIM microcontroller or attached accessory boards and a USB host.
- USB Type-C™ connector – useful for the development of both embedded host and device based Low/Full/High speed USB applications, when used in conjunction with a USB capable microcontroller/PIM.
- USB Type-A connector – shares USB signals with the Type-C connector and is useful for the development of dedicated USB embedded host applications, when used in conjunction with a USB capable microcontroller/PIM.
- 2x mikroBUS interfaces – useful for attaching a wide array of hardware expansion boards, for extending the functionality of the platform.
- PICtail Plus interface – useful for attaching a wide array of existing PICtail Plus based expansion boards, extending the hardware functionality of the platform.
- 100 mil pitch I/O pin access headers – useful for accessing nearly all PIM microcontroller nets for debugging, oscilloscope monitoring, or for making additional connections between nets and/or to external hardware. The female headers can accommodate standard 100 mil male headers, or 22 AWG solid wires.
- Independent crystals for precision microcontroller clocking (8 MHz) and time keeping operation (32.768 kHz). Also implements provisions for canned oscillators (see Oscillators Options section).
- 10 kΩ Potentiometer – useful as an analog signal source for ADC demonstration or user interface purposes.
- TC1047A analog output temperature sensor – useful for monitoring the ambient temperature and/or demonstrating ADC operation.
- Serial SPI EEPROM (25LC256).
- 2-Line by 16-Character LCD Module – Truly TSB1G7000-E 4/8-bit parallel interface LCD module, useful for displaying user application strings/text.
Before using the Explorer 16/32 Development Board, it is first necessary to have a 100-pin processor Plug-In Module (PIM) installed on the male headers U1A. A PIM is always required, as the microcontroller U14 (located in the center of the PIM area) is part of the PICkit On Board programmer/debugger circuit, and is therefore not intended for running application related code. A list of available 100-pin PIMs which are compatible with the Explorer 16/32 (and Explorer 16) Development Board can be found at:
To begin development and programming the PIM microcontroller and using the hardware of the Explorer 16/32 Development board, it is recommended to obtain the MPLAB Integrated Development Environment (IDE) and a suitable C compiler supporting your desired target PIM microcontroller. MPLAB X IDE and MPLAB C compilers can be found at:
Microchip provides a wide variety of free example firmware projects and libraries, which are compatible with the Explorer 16/32 Development Board. Some initial “out of box” demo projects are available from:
These demos exercise and demonstrate basic functionality of the Explorer 16/32 Development Board and the microcontroller (ex: by using pushbutton(s) and displaying ADC data to the LCD module). Details on the usage of the example projects can be found in the documentation accompanying the projects.
Application and microcontroller peripheral interface code can be generated using the MPLAB Code Configurator (MCC):
Additional reference projects/libraries compatible with the Explorer 16/32 Development Board can be found in the Microchip Libraries for Applications (MLA) and Harmony packages:
Powering the Explorer 16/32 Development Board
The Explorer 16/32 board can be powered from any one or more of four different connectors: USB micro-B for PKOB (J18), USB Type-C (J24), USB micro-B for USB-Serial converter (J40), or the DC barrel jack (J12). The three USB power sources are effectively (schottky) diode ORed together, and sent through a current limiting/inrush limiting/short circuit protection circuit, before feeding the 5 V rail on the board. A summary of the typical output voltage and current capability of each power supply rail, based on the type of power source provided is as follows:
|Power Source||3.3 V / Vdd Rail||"5 V" Rail||"9 V" Rail|
|USB only||3.3 V up to 400 mA||~4.5 V up to 400 mA||~4.2 V up to 400 mA|
|"9 V" DC barrel plug||3.3 V up to 1.3 A||5.0 V up to 1.3 A||~8.7 V up to 1.3 A|
Note: When operating on USB power only, the total current (sum of 3.3 V + 5 V + 9 V rail currents) that may be drawn by hardware accessories (ex: mikroBUS, PICtail Plus, and PIM boards) should not exceed 400 mA. When an external wall cube is connected to the DC barrel jack J12, the total current (sum of 3.3 V + 5 V + 9 V rail currents) available to accessory hardware is 1.3A, or the max current rating of the wall cube, whichever is lower.
For applications requiring a true 9 V rail, 3.3 V / 5 V rail currents exceeding 400 mA, or applications requiring a well regulated 5 V rail (ex: USB host applications), it is recommended to power the Explorer 16/32 board through the dedicated DC barrel jack J12. The board accepts center pin positive 8 V - 15 V DC power supplies (such as microchipDIRECT AC002014). When powered with an external wall cube, 5 V or 3.3 V rail currents up to ~1.3 A are supported. However, when continuously operating at this current level, be careful, as components U6, D20, U9, and other surrounding areas will become quite hot (>100° Celsius possible).
Some of the components in the power supply related circuitry have special purpose that may not be immediately obvious at first glance. Some of the special components and details/intent of their implementation are described below.
The Explorer 16/32 components Q5, C61, and R132 implement a soft start circuit, when the board is powered through one of the USB connectors.
During attachment of a USB device to a host (or hub), a USB device should attempt to limit the amount of (near) instantaneous inrush current it consumes from the host/hub’s +5V VBUS supply. If the device’s total VBUS effective capacitance exceeds 10 μF, the USB specification expects the device to implement some form of soft start/inrush limiting circuit. When the device’s capacitance exceeds 10 µF (effective across VBUS), with no inrush limiting circuit, a large transient will occur at the moment of device attachment. This inrush transient can potentially cause a significant voltage droop within the local host/hub’s power net, leading to malfunction in the host or hub, or in an adjacent USB device that may also be already attached and powered by that host/hub. This can potentially cause problems with enumeration or otherwise lead to a poor end user experience.
During a USB attachment event, the Explorer 16/32 Development Board MOSFET Q5 is driven in the linear region (due to the effect of C61 and R132), allowing for slower output voltage rising waveform (and correspondingly reduced inrush current profile).
The components Q5, R99, and Q4 are used to implement a USB current limiting and short circuit protection feature, which will begin to activate when the total load on the 5 V and 3.3 V Explorer 16/32 supply rails exceeds approximately 400 mA (when powered only by USB, without additional power from the DC barrel jack). Under hard short circuit conditions, resistors R131 and R134 implement a current foldback scheme, dynamically reducing the current limit to ~260 mA, thereby reducing thermal power dissipation in Q5, allowing for a continuous short circuit to be sustained when the ambient conditions are near 25° Celsius.
On-Off toggle power switching of the 5 V and 3.3 V rails on the Explorer 16/32 board is implemented with U3 + S7 + the surrounding resistor/capacitor components. The dual inverter U3 is connected in a circular chain, providing positive feedback and an effective 1-bit latching memory cell. Pushbutton S7, C28, R130, and R135 implement a de-bounced means of toggling the state of the 1-bit memory cell. Components R129, R136, and C62 help establish an initial “default to on” state during the initial power up ramp of U3.
The Explorer 16/32 Development Board has several jumpers, summarized as follows:
|JP2||LED D3-D10 group enable/disable|
|J19||LCD Read/Write Connection|
|J22||USB Type-C Host VBUS enable control signal|
|J23||Potentiometer R6 disconnect|
|J25||USB Signal Quality/P90_USBDP to PICtail+ access connection|
|J26||USB Signal Quality/P89_USBDN to PICtail+ access connection|
|J27||EEPROM U4 Chip Select disconnect|
|J28||USB Type-C host/device Configuration Channel 1 select (CC1)|
|J29||USB Type-C host/device Configuration Channel 2 select (CC2)|
|J33||USB Host VBUS Over Current detect signal|
|J37||UART RX to MCP2221A connection|
|J38||UART TX to MCP2221A connection|
|J39||Temperature sensor U4 disconnect|
|J41||MCP2221A I2C SDA signal disconnect|
|J42||MCP2221A I2C SCL signal disconnect|
|J43||9V rail current measurement test point|
|J44||5V rail current measurement test point|
|J45||3.3V rail current measurement test point|
|J50||PIM_VDD rail current measurement test point|
Additional details of each jumper and their intended purpose/usage are described below:
JP2 – Jumper JP2 can be opened to effectively disable the LEDs D3-D10 on the Explorer 16/32 board, so as to minimize loading of the I/O pins connected to the LEDs. In order to use any of the LEDs D3-D10 as indicators, JP2 must be capped.
J19 – Connects to the PIM pin P82 and the LCD R/W pin. When the jumper is capped, this allows the PIM microcontroller firmware to read from the LCD module. When the jumper is left open, the LCD R/W pin is pulled low by R116, putting the LCD in write only mode. In general, it is usually not necessary to read from the LCD, and it is preferable to leave J19 open. When the LCD module is in write only mode, the module I/O pins will be tri-stated (albeit with weak internal pull ups in the module), which prevents I/O contention with the microcontroller firmware, if/when the application code uses the I/O pins connected to the LCD module for other purposes.
J22 – Connects to the PIM P96_VBUSON net and when capped in the 2-3 position, enables the PIM microcontroller firmware to turn on/off the USB Type-C™ connector +5V VBUS power supply (output to an attached USB device). The USB Type-C specifications indicate that hosts should first detect the presence of an attached USB device, prior to enabling the +5V VBUS output to the USB connector (so as to avoid potentially harmful current flows if two hosts or power sourcing devices are connected together). For engineering development/testing convenience, jumper position 1-2 continuously enables the +5V VBUS output onto the USB Type-C connector, but this jumper position is generally not recommended for normal use, as it will not be USB compliant. This jumper should be left fully open in USB device only, USB Type-A embedded host, or non-USB applications, so as to disable VBUS output sourcing in these types of applications.
J23 – This can be used to disconnect the potentiometer R6 output from the PIM microcontroller. By default, a trace (on the bottom of the PCB) shorts the two pins of J23, and the POT will always be connected to the microcontroller. If desired, the trace can be cut to disconnect the POT, and a 2-pin jumper may optionally be installed to allow user re-connection/disconnection of the POT.
J25 and J26 – These jumpers are present for USB signal quality reasons. In USB High Speed (480Mbps) applications, jumpers J25 and J26 should both be left in the open/uncapped state, in order to avoid degrading the USB signal quality. In non-USB applications, both jumpers should generally be capped.
In USB High Speed applications, the P89_USBDN and P90_USBDP nets are implemented as a dedicated transmission line (~90 ohm differential and ~30 ohm common mode impedance), between the PIM pins 89/90 and the USB connector. Capping J25 and J26 has the effect of shorting the P89_USBDN/P90_USBDP nets to the P89_USBDN_E/P90_USBDP_E nets respectively. This allows access to PIM pins 89/90 on the I/O access headers J46/J47 and the PICtail Plus interface, enabling them to be used as general purpose I/O pins. However, capping J25 and J26 creates “T” junctions in the signal traces (trace splitting), which will disrupt the transmission line characteristics, required for reliable USB High Speed communication. At USB Low (1.5 Mbps) and Full (12 Mbps) speeds, the relatively slow signaling rates (and edge slew rates of the signals) are much more forgiving of non-ideal trace layout and short (< 19 cm) “T” junctions/signal branches. Therefore, in Low and Full speed USB applications, J25 and J26 may be left either capped or uncapped, although for best signal quality it is still preferable, but not strictly required, to keep both jumpers open.
J27 – Connects the 25LC256 EEPROM (U5) chip select to the PIM P79_EECS net, when capped. When left open, the resistor R2 de-selects the EEPROM, ensuring that no I/O contention will occur on the P11_MISOA net, even if the PIM microcontroller firmware uses this net as a digital output.
J28 and J29 – These three pin jumpers connect to the CC1 and CC2 nets on the USB Type-C connector. In USB embedded host applications using the Type-C connector, both jumpers should be capped in the 1-2 position, so that the CC1/CC2 pins of the USB connector are pulled high by R105 and R106. When pulled high, this advertises to the other USB product at the other end of the USB cable, that a host is attached/present. When implementing a USB Type-C device mode application, the J28 and J29 jumpers should instead by capped in the 2-3 position, pulling CC1/CC2 low (via R107 and R10). This signals to the host (or hub) at the other end of the USB cable that a device has been attached (as opposed to another host).
In non-USB applications, the jumper caps may be removed altogether, so as to minimize interference on the P33_CC1 and P32_CC2 nets. However, if the application wishes to obtain USB bus power from the USB Type-C connector, the jumpers should still be left capped in the device mode positions (ex: cap pins 2-3), as USB Type-C hosts will not necessarily enable the 5 V VBUS power supply to the USB port, until it first confirms the presence of an attached device.
J33 – When capped, this jumper allows the PIM microcontroller to measure/detect USB embedded host over current or short circuit conditions on either the USB female-A or Type-C connectors. For USB embedded host applications wishing to detect these conditions, the jumper should be capped and the P25_ANA_USBOC net should be sampled with an ADC. For all other applications (non-USB, USB device only, or USB embedded host – not requiring VBUS over current detection), the jumper may be left open to allow the PIM pin 25 to be used for other purposes.
J37 – This jumper can be used to connect or disconnect the MCP2221A TX signal from the P49_RXB net, which normally goes to the PIM microcontroller’s RX pin, as well as the mikroBUS B and PICtail Plus interfaces. This jumper should be capped, whenever the MCP2221A will be used to interface with the PIM microcontroller UART (or to a UART based peripheral attached via mikroBUS interface B or the PICtail Plus interface).
J38 – This jumper can be used to connect or disconnect the MCP2221A RX signal from the P50_TXB net, which normally goes to the PIM microcontroller’s TX pin, as well as the mikroBUS B and PICtail Plus interfaces. This jumper should be capped, whenever the MCP2221A will be used to interface with the PIM microcontroller UART (or to a UART based peripheral attached via mikroBUS interface B or the PICtail Plus interface).
J39 – This is can be used to disconnect the temperature sensor (U4) output from the PIM microcontroller (P21_TEMP net). By default, a trace (on the bottom of the PCB) shorts the two pins of J39, and the temperature sensor will always be connected to the microcontroller. If desired, the trace can be cut (see silk text on bottom of PCB) to disconnect the POT, and a 2-pin jumper may optionally be installed to allow user re-connection/disconnection of the sensor.
J41 – When capped, this jumper connects the MCP2221A I2C serial data (SDA) pin to the P56_SDA net which goes to the PIM microcontroller, the mikroBUS A/B interfaces, and to the PICtail Plus interface. Opening this jumper disconnects the SDA pull up resistor and MCP2221A from the P56_SDA net.
J42 – When capped, this jumper connects the MCP2221A I2C serial clock (SCL) pin to the P57_SCL net which goes to the PIM microcontroller, the mikroBUS A/B interfaces, and to the PICtail Plus interface. Opening this jumper disconnects the SCL pull up resistor and MCP2221A from the P57_SCL net.
J43 – When populated with a 2-pin jumper header, a trace on the bottom of the PCB can be cut to measure the “9V” rail current consumption of the board, by inserting an external current meter between the jumper J43 pins.
J44 – When populated with a 2-pin jumper header, a trace on the bottom of the PCB can be cut to measure the “+5V” rail current consumption of the board, by inserting an external current meter between the jumper J44 pins.
J45 – When populated with a 2-pin jumper header, a trace on the bottom of the PCB can be cut to measure the “+3.3V” rail current consumption of the board, by inserting an external current meter between the jumper J45 pins. Note: To measure the PIM microcontroller VDD supply current, J50 should be used instead, as the +3.3 V rail is used to supply additional circuitry on the Explorer 16/32 board, such as the LCD module, MCP2221A, PKOB circuit, etc., in addition to the PIM microcontroller.
J50 – This jumper connects the VDD_PIM net to the +3.3 V power supply on the Explorer 16/32 Development Board. When uncapped, a floating/non-earth ground referenced current meter (ex: a typical battery operated Digital Multi-Meter) may be connected between the pins to measure the current consumed by the PIM, on the VDD_PIM net. When not being used for current measurements, the jumper should be maintained consistently capped, to ensure the PIM microcontroller gets power.
Note: When using a DMM to measure the current, it is important to be aware of the local voltage drop that may occur across the DMM’s internal sense resistance, especially when drawing several mA or tens of mA, when operating on the more sensitive DMM current measurement scales (ex: 0.1 µA or 1.0 µA/least significant digit count). Under these conditions, the resistive drop across the DMM’s internal sense resistance can often be quite high, possibly hundreds of millivolts or more, potentially resulting in unexpected behavior (ex: BOR reset of the PIM microcontroller, if operating near the BOR threshold). To minimize this voltage drop, it is generally recommended to use a coarser/higher current measurement scale, whenever possible.
The Explorer 16/32 Development Board comes with two crystals, 8 MHz (Y3) and 32.768 kHz (Y2) for use with PIM microcontroller primary and secondary oscillator circuits respectively. Although not populated by default, the board also has provisions for the installation of a canned oscillator or socket, allowing the Plug-In Modules (PIM) microcontroller to be operated in EC or ECPLL modes, at a custom frequency.
In order to use a canned oscillator, the unpopulated resistor pad R4 must first be populated with a 0 ohm jumper resistor (size 0603), which will have the effect of connecting the canned oscillator output to the P63_OSCI net, which feeds the PIM microcontroller. Once R4 is populated, a canned oscillator (or oscillator socket) may be installed onto either pad X2 or X4.
Pad X2 is designed to accommodate standard DIP-14 or DIP-8 canned oscillators (with 3.3 V VDD and CMOS output capability) or sockets, while pad X4 is designed to be used with the Microchip DSC1001 (or other DSC100x) series oscillators, in the 2.5 mm x 2.0 mm package. If using a DIP-8 canned oscillator (or oscillator socket), the device should be installed in the bottom most four pins of pad X2 (e.g., so that pin 1 of the DIP8 oscillator is the same pin 1, if a DIP14 oscillator were used instead).
When using a canned oscillator it also recommended to populate C9 with a 0.01 µF to 0.1 µF ceramic capacitor, and R94 with a ~5.1 kΩ pull-up resistor (if a DIP8/DIP14 canned oscillator with a standby/enable pin will be used).
Using the MCP2221A USB-Serial Converter
The MCP2221A provides USB to UART and USB to I2C serial adapter functionality, which can be used to interface the PIM microcontroller and/or other hardware to a host (e.g., a PC serial terminal application).
On the Explorer 16/32 Development Board, the MCP2221A is accessible through USB micro-B connector J40.
USB Driver Installation
When using the MCP2221A on a Windows® XP SP3 through Windows 8.1 USB host, the USB drivers for the MCP2221A can be manually downloaded and installed from this link. Alternatively, under Windows 7 or Windows 8, the drivers may also be obtained through the Windows Update service, provided that the machine is connected to the internet at the time of the first attachment of the hardware, and the local policy settings enable automatic driver searching on Windows Update.
Under Windows 10, the OS provides all necessary drivers and installation is fully automatic, without requiring any internet connection or manual installation procedures. Under Windows 10, it is neither necessary nor recommended to try to manually install any additional or different drivers.
Under Mac OS® X 10.7 and later, and under most modern Linux® distributions, the device uses operating system provided HID (Human Interface Device) and CDC-ACM (Communication Device Class - Abstract Control Model) drivers automatically, such that no manual driver installation procedures should be necessary.
Identifying and Connecting to the MCP2221A USB-UART Adapter Function
Windows Operating Systems
Once the USB drivers are properly installed, a new serial port object should become available for application use. Under Windows, the serial port should become visible from the Windows Device Manager, in the “Ports (COM & LPT)” category, and should be assigned a new COMx name (where x is a number, ex: "COM2"). The exact COMx number assigned to the hardware will depend in part upon how many COMx based hardware devices have previously been connected to the machine, as each new hardware instance must be assigned a new and unique number, to avoid potential conflicts (e.g., two simultaneously attached hardware devices are not allowed to share the same COMx number).
If a machine currently has more than one COMx based hardware device attached to the machine, multiple COMx entries (but different numbers, e.g., COM1 and COM2) may exist in the Windows Device Manager "Ports (COM & LPT)" category, and it may not be clear which COMx port number is specifically associated with the MCP2221A device. If this occurs, the COMx number can be manually identified by temporarily detaching the USB connection to the MCP2221A, while watching the Windows Device Manager, to identify which device entry disappears (and subsequently re-appears in the list, upon re-attaching the MCP2221A).
Once the COMx port number assigned to the MCP2221A is known, any conventional serial port terminal program can be used to open/close/read/write to the COMx port. Upon opening the COMx port and writing characters to it, the MCP2221A will forward the characters out the hardware UART TX pin (which would normally be connected to the PIM microcontroller via jumper J37). Similarly, characters originating from the Explorer 16/32 Development Board (or attached accessories) will be transmitted to the host terminal program, when J38 is capped. Although any standard third party serial terminal program can be used, Microchip provides an example USB plug and play aware serial terminal program, called "USB_Serial_Terminal", which can be downloaded below:
The USB_Serial_Terminal is also distributed in the Microchip Libraries for Applications (MLA).
Full source code is provided with the application, which can automatically identify the COMx port number in software, when the USB Vendor ID (VID) and USB Product ID (PID) values are known for the USB to serial adapter device. Identifying the COMx number from the USB VID/PID is preferable for end consumers, as the USB VID/PID are normally static for a given application (e.g., set at design time), and would not normally change dynamically (like COMx port number assignments, which will not be known at development time, and may change if the user moves the hardware from one USB port to a different port, on a given machine).
The MCP2221A that comes on the Explorer 16/32 Development Board is pre-programmed with USB VID = 0x04D8, and PID = 0x00DD, but these default values can be changed with the MCP2221A utilities.
Mac OS X 10.7 or Later Operating Systems
Under Mac OS X 10.7 or later, the MCP2221A should appear as a /dev/tty.usbmodemXXXX device, where “XXXX” are number and text wildcards representing the hardware instance, similar to the COMx port number under Windows. The /dev/tty.usbmodemXXXX device can be opened similar to a regular Windows COMx port, using a standard serial terminal program.
Under Mac OS X 10.7 or later, the built in "screen" terminal utility can be used as a serial terminal for accessing the device. To obtain the device name, open a terminal (click the spotlight and search for "terminal"), then type:
When the MCP2221A USB device is attached and enumerated, a "/dev/tty.usbmodemXXXX" device entry should be shown corresponding to the MCP2221A hardware. Once the specific name is known, it can be opened using:
screen -U /dev/tty.usbmodemXXXX 115200
(where XXXX should be replaced with the specific name applicable to the instance, and the "115200" is the baud rate to open the serial port at, which can optionally be changed to a different value within the MCP2221A's capability, ex: <= 460800 baud)
In order to send/receive UART RX/TX data bytes to/from the PIM microcontroller, jumpers J37 and J38 should both be capped.
Note: Operation on Mac OS X versions prior to 10.7 may not work properly, as the OS needs to have awareness/support for USB Interface Association Descriptors (IAD).
Linux Operating Systems
Most modern Linux operating systems come with USB CDC-ACM support already built into the kernel (and for distributions that may not already support this, it can usually be added by recompiling the kernel). Therefore, no additional USB drivers are normally required.
Upon successful enumeration on a Linux host, the MCP2221A should appear as a /dev/ttyACMx device (where x is a wildcard that depends on the device instance, similar to the Windows COMx port number). The specific /dev/ttyACMx name can be identified by attaching the hardware and from a terminal prompt entering:
modprobe cdc-acm vendor=0x04d8 product=0x00dd
Once the specific name is known, it can be opened and accessed using a terminal program such as "GtkTerm".
Using the MCP2221A USB to I2C Adapter Functionality
The USB to I2C functionality of the MCP2221A can be exercised using the software tools associated with the MCP2221A. When using the MCP2221A USB to I2C functionality to connect with a PIM microcontroller or accessory board (connected via one of the mikroBUS interfaces or the PICtail Plus Interface), it is necessary to ensure that jumpers J41 and J42 are both capped.
Other Usage Tips
When using the toggle power switch S7 to power cycle the Explorer 16/32 Development Board, all circuitry on the +5V and +3.3V/VDD_PIM supply rails on the board will be power cycled, including the MCP2221A.
When using the MCP2221A as a USB-UART serial port device, it is recommended to always close the serial port (ex: COMx or /dev/tty… device) in the application software or terminal program, either before, or while the power is still switched off, prior to restoring power to the board. Similarly, when unplugging the USB connection to the MCP2221A, always close the serial port, while the cable is currently unplugged (or even before unplugging the cable), prior to re-attaching the USB cable.
Failure to follow these procedures can result in the device becoming inaccessible (especially under Windows OSes prior to Windows 10) following the re-attachment or re-powering of the device. If this occurs, operation can be restored by performing the detach or power cycling operation a second time, while making sure to close the serial port prior to re-attachment/power up.
For best end user experience, when writing application software that may connect to the serial port, it is recommended to write the application software to be plug and play aware, so that it can automatically close the serial port as soon as the USB detach is detected (and similarly re-open the serial port automatically, if a plug and play MCP2221A attachment event is detected). Example code demonstrating how this can be accomplished is included in the Microchip "USB_Serial_Terminal" application in the MLA.
Using the PICkit™ On Board (PKOB) Programming/Debug Tool
The PICkit On Board circuit implements a basic USB programmer/debugger capability, but with limited target device support and “low voltage” only (VDD level on MLCR during ICSP™ mode entry) programming/debug capability.
Upon connecting the PKOB circuit to a standard USB host computer (via micro-B USB connector J18) running Windows/Mac/Linux operating systems, the PKOB circuit should promptly enumerate as a generic Human Interface Device (HID) class USB device. The circuit uses the standard HID class USB drivers provided by modern Windows/Mac/Linux operating systems, and no custom or manual driver installation procedures should be necessary.
After the initial enumeration process is complete, the PKOB circuit should become visible and selectable as a programming/debug tool within the MPLAB Integrated Development Environment (IDE). Within the MPLAB X IDE, the PKOB should appear as a selectable “Starter Kits (PKOB)” device, in the Project properties/Hardware Tool menu:
If the device does not appear within the Hardware Tool list, make sure that the selected target microcontroller in the project exactly matches the part number of the microcontroller on the PIM, and that the PKOB supports the target selected, as indicated by a green or yellow circular icon next to the "Starter Kits (PKOB)" line in the Hardware Tool menu.
Once the PKOB has been selected in the IDE, the device should operate as a normal programmer/debugger tool. Information on how to use the IDE to perform programming and debug operations can be found within the MPLAB Help documentation.
When using the PICkit On Board circuit, make sure that no other ICSP based programmer/debugger tool is attached to the PIM microcontroller simultaneously, through the RJ11 jack JP1, or the 6-pin inline header footprint J14. The PICkit On Board circuit, JP1, and J14 all share access to the same PIM microcontroller’s ICSP interface pins, so interference/contention (albeit current limited by series resistors) is possible if more than one programming/debug tool is simultaneously connected. Similarly, if an external programmer/debugger tool will be used instead of the PKOB circuit, it is recommended to unplug the USB connection on J18, so as to ensure that the PKOB circuit is held in reset and does not interfere or contend with the external programmer/debugger tool.
Differences from Classic Explorer 16 (Rev 5.1 and earlier)
The Explorer 16/32 Development Board design was developed from the popular Explorer 16 Development Board (ex: DM240001). For details and schematics of the classic Explorer 16 board design, see the Explorer 16 Development Board User’s Guide.
The Explorer 16/32 Development Board can be distinguished from the classic Explorer 16, by the silk screen and PCB copper layer revision numbers. The Explorer 16/32 board has the text “EXPLORER 16/32” prominently printed in the upper right quadrant of top side of the PCB, and will have board revision number of at least 6.3 (printed on the bottom side copper layer, in the upper middle of the PCB). The classic Explorer 16 Development board instead shows silk text “Explorer 16 Development Board” on the top right quadrant of the board, and will have PCB revision number 5.1 or lower printed on the bottom side copper layer.
The Explorer 16/32 Development Board was designed to maintain as much backwards compatibility with existing Explorer 16 based firmware projects as possible, while still modernizing and improving several aspects of the design. Some of the key differences in the new board include:
- USB female Type-C (supporting both host and device modes) and USB female A connectors have been added. It is no longer necessary to use the AC164131 USB PICtail Plus daughter card when designing USB applications.
- PICkit on board (PKOB) circuit added – Allows one to get started using the Explorer 16/32 board with select PIMs immediately without strictly needing access to a dedicated programming/debug device. A conventional RJ11 ICSP connector is still retained for use with dedicated Microchip programming/debug tools. Provisions for a 6-pin inline PICkit style interface is also provided.
- Legacy RS-232 UART level translator and connector have been replaced with the MCP2221A USB to UART/I2C adapter chip and a USB micro-B connector.
- New power supply topology. The board may now be operated either fully USB bus powered or from a dedicated 8 V - 15 V power supply, allowing for considerably higher 5 V and 3.3 V rail current.
- Modified expansion/daughter board topology – The new Explorer 16/32 board comes with 2x mikroBUS interfaces, which are electrically compatible with a large suite of existing daughter boards from MikroElektronika. The area used for the vertical PICtail Plus connector on the classic Explorer 16 has been re-purposed to accommodate 100 mil female headers for I/O access to PIM microcontroller pins. Backwards compatibility with existing vertically attached PICtail Plus daughter cards is maintained through the use of a new “PICtail Plus Expansion Board” (AC240100).
- Additional provisions (ex: jumpers and cuttable traces) for tri-stating or disconnecting hardware (ex: LCD module, EEPROM chip, POT, temperature sensor) connected to the PIM microcontroller’s GPIO pins.
- Provisions (unpopulated footprints) for functional expansions (ex: Pmod interfaces, custom frequency canned oscillators, etc.).
- A new net naming scheme has been adopted [where PIM microcontroller GPIO pin net names are prefixed with “Pxx” where “xx” is a number representing the PIM pin number that the net is associated with].
- Other miscellaneous enhancements, such as a power button, VDD_PIM current measurement testpoint (and other cuttable trace testpoints for the other supply rails), new more efficient/lower current indicator LEDs, etc.
Table of Contents