top of page
Adiuvo Engineering & Training logo
MicroZed Chronicles icon

Curiosity Nano

Updated: Jun 24

One of the boards purchased in 2024 which was sat in my backlog was the Microchip Curiosity Nano evaluation kit.

ree

This board contains a PIC 16F13145 which along with a 32 MHz PIC16 (8Bit) CPU also provides 14KB of program flash, 1024 Bytes of SRAM, a range of IO interfacing standards, a 10 bit ADC and 8 bit DAC.

 

However the most interesting aspect of this board is the configurable logic block (CLB) which provides 32 logic look up tables.

 

Each CLB has 32 basic logic elements, which includes AND/OR/NAND/NOR, D and JK flip flops MUX and 4 input LUT.  The CLB inputs can come from either the device IO or peripherals within the processor core such as the PWM. We will examine how we can work with and include the CLB in out design in the next blog. As the first thing we need to do is to create project and run a pipe cleaning hello world project. Once we have this we can add into it the logic design element, I am looking forward to experimenting with the CLB aspect of it as we can create very simple logic design.

 

To get started with this project we need to download MPLAB X IDE (I used V6.20) and the XC8 8-bit compiler.

 

Once this is installed we are able to create a new project, the Curiosity Nano development board contains a PIC16F13145 device. Select this device when we use the new project flow.

ree

Select the 8 bit compiler.

ree

Identify a project name and location, click finish.

ree

The next step is to use the MicroChip Code Configurator. The First time you click on this you will see a content download request. Download the required content and we will be ready to begin configuring the system.

ree

This will open the application builder, we can add in the device resources and examples using this to create the application. The initial version will look similar to what is presented below.

ree

From add component select UART Example

ree

This will add the UART Example to the application builder, the key to this is the UART Example tab which shows on the right hand side.


ree

This allows us to configure the example application, and tell us of the steps we need to make to, ensure the application I valid.

 

Under the configuration instructions, we need to include the UART and ensure it is named UART,  configure the IO pins, and enable the UART interrupt.

ree

Using the device resources we can add in the UART, once this has been added we can change the configuration to the correct name and that it is interrupt driven.

ree

We can also change things like the baud rate if desired. We need to ensure the baud error rate is less than 2% for a selected Baud rate.  

ree

The final application builder project should look as below.

ree

We also then need to assign the IO pins on the package, the debugger is connected to the PIC using pins TX1 and RX2. These are the pins we need to use to enable the CDC UART in the debugger to work over USB.

ree

Once this is completed we can click on generate, this will generate the source coded and drivers needed to work with the hardware as configured and provide the example application.

 

Under the example directory, we can see an example application, open the file and copy the code between the dashes (--).

ree

Copy and paste this into the main.c file and build the application.

ree

You will see the total storage required for the program and data space.

ree

Running the application will flash the application to the board and run the example, observing this within a UART terminal will show the hello world message printing out.

ree

Now we have a basic project up and running, we can take a look at getting started with the CLB development and including the logic design in the application.


First I need to solder some headers onto the board.



Workshops and Webinars

If you enjoyed the blog why not take a look at the free webinars, workshops and training courses we have created over the years. Highlights include




Boards

Get an Adiuvo development board




Embedded System Book   

Do you want to know more about designing embedded systems from scratch? Check out our book on creating embedded systems. This book will walk you through all the stages of requirements, architecture, component selection, schematics, layout, and FPGA / software design. We designed and manufactured the board at the heart of the book! The schematics and layout are available in Altium here   Learn more about the board (see previous blogs on Bring up, DDR validation, USB, Sensors) and view the schematics here.



bottom of page