1. The Potentiometer (R6) and the temperature sensor (U4) on Explorer 16 board will be read, converted and processed. And the values (pot voltage and temperature in centrigrade) will be sent out through UART2 and will be displayed on a terminal program (Putty/TeraTerm, running in your PC). The UART2 will be running at 9600 baud rate.

To accomplish the task you've described, you will need to write firmware for the microcontroller on the Explorer 16 Development Board that performs the following functions:

1. Initializes the Analog-to-Digital Converter (ADC) to read from the potentiometer (R6) and the temperature sensor (U4).
2. Initializes the UART2 module to communicate with the PC at a 9600 baud rate.
3. Reads the analog values from the potentiometer and the temperature sensor.
4. Converts those analog values to the desired units (e.g., voltage for the potentiometer and Celsius for the temperature sensor).
5. Sends formatted data strings containing these values out through UART2.

If you're using a PIC microcontroller (common for the Explorer 16 Development Board), here's a very high-level and abstracted list of tasks you'll need to include in your code:

### 1. Initialize the system
```c
void system_init()
{
// Initialize ADC for both potentiometer and temperature sensor
ADC_init();

// Initialize UART2 for 9600 baud rate communication
UART2_init(9600);
}
```

### 2. ADC and UART initialization
```c
void ADC_init()
{
// Configure the ADC settings, channels, and reference voltages
// ...
}

void UART2_init(unsigned long baudrate)
{
// Configure UART2 settings, baud rate, and interrupt (if used)
// ...
}
```

### 3. Main loop
```c
void main()
{
system_init();

while (1)
{
// Read raw ADC values
unsigned int potValue = ADC_read_channel(POT_CHANNEL);
unsigned int tempValue = ADC_read_channel(TEMP_CHANNEL);

// Convert ADC values
float potVoltage = convert_pot_to_voltage(potValue);
float tempCelsius = convert_temp_to_celsius(tempValue);

// Format strings to send over UART
char message[100];
sprintf(message, "Pot Voltage: %.2fV, Temperature: %.2fC\r\n", potVoltage, tempCelsius);

// Send message over UART2
UART2_send_string(message);

// Delay before next reading
__delay_ms(500); // Adjust as needed for your application
}
}
```

### 4. ADC conversion functions
```c
float convert_pot_to_voltage(unsigned int ADCValue)
{
// Convert raw ADC value to voltage, adjust calculation based on reference voltage and resolution
// ...

return voltage;
}

float convert_temp_to_celsius(unsigned int ADCValue)
{
// Convert raw ADC value to temperature, adjust calculation based on sensor characteristics and calibration data
// ...

return temperature;
}
```

### 5. UART Send Function
```c
void UART2_send_string(char* str)
{
while(*str)
{
while(!TX2IF); // Wait for previous transmission to complete
U2TXREG = *str; // Load the UART transmit register with the current character
str++; // Move to next character
}
}
```

Remember to replace the "ADC_read_channel", "convert_pot_to_voltage", "convert_temp_to_celsius", "__delay_ms", and all register name placeholders with those that are relevant to your specific microcontroller and hardware setup.

Moreover, ensure to configure the clock settings to match the expected UART baud rate calculation. Also, you must handle UART2 interrupts if you decide to use interrupt-driven UART communication instead of polling the UART status flags.

Finally, don't forget to reference the microcontroller datasheet and the Explorer 16 Development Board documentation to use the correct register names and to configure the peripherals correctly.