Microchip Curiosity Development Board

2018-01-24 19:38:48 by

Overview of Microchip PIC Curiosity Development Boards

If you want to get started programming Microchip PIC chips then the Curiosity line of development boards is a good place to start. It comes with an integrated programmer/debugger along with some user interface components to do some quick prototyping. Some boards also have other features such as mikroBUS sockets or Bluetooth module footprints for easy add-ons later.



I’m going to talk about the 8bit version and go over the setup and run an example LED program.


Powering Up the Microchip PIC 8bit Curiosity Development Board

We are going to use the USB supplied power to power up the board but it can also be powered by an external power supply (remember to move the appropriate jumpers)


The dev board comes populated with the PIC16F1619.


Setting Up the Microchip PIC 8bit Curiosity Development Board with MPLAB X IDE

Next we will use MPLAB X IDE (v4.0.5) and the XC8 compiler (v1.45) to setup the Curiosity Development board so it can be programmed. You can view a previous article I wrote on how to download, install, and setup the full Microchip tool chain for PIC development.


Below are the steps to walk through to create a new bare bones project.


Once new project is open you can view the dashboard to make sure everything is correct



You can go to Project | Properties to change the PIC device or dev board



Programming the Microchip PIC 8bit Curiosity Development Board with MPLAB X IDE

We are going to do a basic “turn on an LED” example in MPLAB X and also utilize Code Configurator.


If the Code Configurator plugin isn’t installed you can install it through Plugins:


Start with the System Module section:


We are going to configure the device to use the internal oscillator, we’re not using the Watchdog timer in this example, and we are going to leave the Low-voltage Programming Enable selected (required for the Curiosity board).


Next select Registers and the fuses or configuration bits can be setup here (can mostly leave them to current defaults):



Next we are going to look at the Device Resources so we can assign a GPIO pin that will be used to drive an LED.



First you need to select the correct package version (PDIP 20 pin for this board) and then you need to select a GPIO output pin that is connected to on-board LED.



For our program we will use pin RC5. You can also rename the pin name to something more familiar like ‘led’.


Click on Generate and you should see in the log window that several files are created:



In the main.c file you can add the code to turn the GPIO output pin high:


You can also uncomment the delay function to make it toggle.


If you look in the pin_manager.h file you can see where the Configuration tool setup the configuration bits for this pin to be used as a GPIO:



Now you can compile and upload the code and you should see the D4 LED turn on (or blink) depending on the code you used.


If you run into issues getting MPLAB to talk to your dev board you may get a ‘failure to connect’ message and code won’t upload to dev board. I went into Project Properties and reset the firmware:



That seemed to work as I now get ‘programming verify’ message when I compile and run the code:


They were several online forum posts about the Curiosity dev board firmware not working with MPLAB X IDE v4 for some reason but v3 seems to work fine.


Overall the Curiosity 8bit PIC development board works as expected and with the built in programmer/debugger makes getting started easy!


Read Comments