Author Topic: Microchips New Curiosity Board - A Review and Quickstart Guide  (Read 4447 times)

0 Members and 1 Guest are viewing this topic.

Offline kolbepTopic starter

  • Frequent Contributor
  • **
  • Posts: 599
  • Country: za
    • ShoutingElectronics.com
Microchips New Curiosity Board - A Review and Quickstart Guide
« on: January 04, 2016, 06:11:00 pm »
Hi Guys/Gals.
I received a free RoadTest curiosity board from Element14 the other day.
Here is my review and quickstart that I am sending them. Thought I would just make it public here as well......

Curiosity Board by Microchip (Microchip.com/Curiosity), Distributed (and Provided for this

Roadtest) by Element14.

What it is : A development/demo board with built in Pickit Programmer.
This board is compatible with the Mplab Code Configurator by Microchip.

For a long time many hobbyists/professionals have struggled with the configuration of the

built-in peripherals in Microchip PIC Products (Jumping Between Datasheets, Appnotes,

Forums, Google Searches, etc, just to figure out that you forgot to set 1 little register for the

peripheral).
The Code Configurator is an easy click and fill in system that allows you to configure the PIC

and the peripherrals quickly and easily.

By using the Code Configurator, most of the peripheral setup is done by the software, so

you can concentrate on the Non-Boring parts of your coding.

The Curiosity system comes in a smart looking Red, Black and White Cardboard box.
In the box you have the Curiosity Board itself (in a Static Dissipative Grey Packet),
you also get some polystyrene packing peanuts (that have the same texture as cheese-puffs,

but no flavour).
Also included is a Warranty Registration Card, Important Information Sheet, and Curiosity

Information Sheet.

A quick glance at the board shows that it is a decent build, with decent white silkscreen, on

a red soldermask.
The PIC Microcontroller is a 20 Pin Dip (PIC16F1619) in a socket, which makes it easy to

swap out with another type, or to replace if you manage to destroy it somehow.
There are Female Headers that allow you access to each pin of the Microcontroller.
There is a Micro Bus Section of the board, a section for an optional bluetooth module, as

well as lots of other places for Input, Output, Etc.
You will also find a capacitive mTouch button, Potentiometer for the ADC, 7 LED's or

status/debugging/whatever you want.
You also have a MCLR/Reset Pushbutton, and general purpose Pushbutton.

This board has a builtin 5v/3.3v supply (selectable using a jumper) that gets its power via a

USB port on the underside of the board.
The USB port also works to program and communicate with the board.

Also under the board is another PIC Microcontroller to handle the USB interface and

programming. It is basically a PICKIT on board!!! That already saves a lot of space and mess

on the desk. Normally you have your computer, USB Cable to Pickit Programmer, Cables and

Converters for the Programmer, which then connects to your Dev Board/Breadboard. Now

you just have the 1 Cable. How Neat.

The baord also comes 4 standoffs (1 at each corner), and also 3 rubber feet. Dont know

why they have had this double system, because sometimes the feet are standing on the

desk, other times the standoffs...

Anyway, lets plug this thing in, and see if it works.
The PIC comes preprogrammed with a demo program, so that you can see it working

straight away.
So Plug in a Powerbank/Cellphone Charger or USB connection into the USB socket on the

board, and it comes to life.
Straight away you get a Power LED, as well as the 3v3 LED coming to life. The 16F1619 can

run from 1.8v up to 5.5v, so you do not have to worry if you have set the jumper to the

wrong place.
Pressing S1 Lights D4.
Pressing the mTouch section of the board causes D6 to light
Twiddle the Pot, and  D7 changes brightness (using the ADC and PWM Peripherals)
I let my 4 year old son test that part, he loved it (after I promised him that it will not shock

him)

Now that it is working, you will probably want to play a bit with it (which is easy with the

Code Configurator)
So far there are lots of Videos on Youtube on how to use the Code Configurator, but the

steps to get started are simple:
You need to have Mplab installed on your computer (with the Code Configurator Installed),

as well as a C Compiler, so this is how you do it:

Step 1:
Go to www.microchip.com (The files you need to download are approx 700MB, so do not

download them on a Metered Connection)
If you are downloading in South Africa, then with a standard 2Mbps ADSL Line, you are

looking at over an hour to download these 2 files.
Then under 'Design Support' you can download the Mplab X IDE
Then under 'Design Support' you download the 'C Compiler' eg XC8

Once the files are downloaded, Install MPLAB X IDE using the default settings.
Once the MPLAB X IDE install has finished, Untick the 3 Check Boxes, and click Finish
Then Run the XC8 Installer, again using the Default settings.

Then open up the MPLAB X IDE Icon on your desktop (The Big Red X).

Click 'File' 'New Project'
Then click 'Next'

From the Device List, Select (or type in) PIC16f1619, and click Next.
We are not using a Debug Header, so just click Next.

You will now be at the Tools Selection. Make sure your Curiosity Board is plugged in!
From the Microchip Starter Kits Section, select Curiosity, and Click Next
You will then select the XC8 Compiler, and Click Next.
Give your project a name, and Click Finish

Now click 'Tools' and 'Plugins' at the top.
Select the 'Available Plugins' Tab, and then tick the Checkbox next to MPLAB Code

Configurator, and click INSTALL.
Click Next, Accept the Terms (you are actually supposed to read them), and Click Install

After Installing, you will need to close off and reopen MPLAB X IDE.

Now there is something Important you need to do for the Curiosity Boards built in

Programmer, you must set LVP mode.

To Open the Code Configurator, click 'Tools' 'Embedded'.
Click 'MPLAB Code Configurator', and you are good to go.

First get rid of the Overlay that says what is where.
Click 'System' on the top left.
Then in the window on the right, Expand the 'CONFIG2' section, and check the LVP Enable section.

Then lets do something with the LED's,
so double click on GPIO on the left. It will then load the module to the top, under system.
Double click on it
Then on the right, click the padlocks in each column, This assigns the Pins to that Module
Then in the center, tick all the pins to make them outputs, Then mark every one as 'Start High'
Click the Program button at the top (Paper, then Arrow, Pointing to the Chip.), It will ask you if it must make a main.c file, let it do that, and once it has done a firmware upgrade to the programmer on the curiosity board, it will upload your program, and all 4 RED led's on your board should be on.

That shows that the PIC, Onboard Programmer, and Computer are all talking fine...

So time to search some of the Youtube Vids for the Curiosity Board by Microchip, and follow along, it is really that easy...
 
« Last Edit: January 04, 2016, 06:21:10 pm by kolbep »
====================================
www.ShoutingElectronics.com Don't just talk about Electronics, SHOUT ABOUT IT! Electronics Blog Site and Youtube Channel
 
The following users thanked this post: piguy101, jimjulian, merport

Offline alsetalokin4017

  • Super Contributor
  • ***
  • Posts: 2055
  • Country: us
Re: Microchips New Curiosity Board - A Review and Quickstart Guide
« Reply #1 on: January 04, 2016, 09:00:17 pm »
You can sprinkle some Lemon Pepper Seasoning on those packing peanuts, it makes them a lot more palatable.     :-DD
The easiest person to fool is yourself. -- Richard Feynman
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5349
  • Country: gb
Re: Microchips New Curiosity Board - A Review and Quickstart Guide
« Reply #2 on: January 04, 2016, 09:30:50 pm »
I am sure I'll be accused of being a Luddite, but I find auto-generated code such as that produced by the code configurator can actually complicate things rather than simplify them.

In particular, I'm thinking of all those magic files that are generated, and pages of worthless commentary placed in your files.

A blinky, for example, should always be little more than half a dozen lines, and be very clear.

Where the MCC can help is in generating code for the config bits and setting up any configurable logic. However, whenever I've used MCC I ignore the files generated other than to copy and paste the contents into my own program.

What I'm really glad to see is the vast increase in the number of devices now supported by MCC.
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1742
  • Country: us
Re: Microchips New Curiosity Board - A Review and Quickstart Guide
« Reply #3 on: January 05, 2016, 05:28:40 pm »
I would add that a blinky should be done at the register level. What's the point of doing it by calling library functions?
"That's not even wrong" -- Wolfgang Pauli
 

Offline MT

  • Super Contributor
  • ***
  • Posts: 1652
  • Country: aq
Re: Microchips New Curiosity Board - A Review and Quickstart Guide
« Reply #4 on: January 05, 2016, 06:48:11 pm »
I would add that a blinky should be done at the register level. What's the point of doing it by calling library functions?

Abstraction.... abstraction.....endless confusing muddying abstraction! It's the new religion!
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5349
  • Country: gb
Re: Microchips New Curiosity Board - A Review and Quickstart Guide
« Reply #5 on: January 05, 2016, 07:18:40 pm »
I would add that a blinky should be done at the register level. What's the point of doing it by calling library functions?

Precisely!

I had a look at the latest stable release of MCC last night. I did a blinky, and using their generated code to toggle the bit on a PIC24FV16KM202, it wasn't pretty what was generated by the compiler although the generated C code, to the uninitiated, looked nice and simple.

I also used it to configure the MCCP for a half bridge with dead time, but fundamental parts were missing to make it work, most notably the polarity of the outputs to drive the MOSFETs. To my mind, having to hack the generated code makes a project difficult to maintain, and is a showstopper from using it as far as I'm concerned.

My biggest problem with any code generator and abstraction is that if it's more, not less, that you have to learn. You still have to know what the config bits do and how the peripherals work, including any limitations.

What I did find it useful for was quickly altering a peripheral's config in a unit test to see what the effect was without having to directly refer to the datasheet every time, but I can't see me using it in its current state for a real build.

 

Offline Brutte

  • Frequent Contributor
  • **
  • Posts: 614
Re: Microchips New Curiosity Board - A Review and Quickstart Guide
« Reply #6 on: January 06, 2016, 06:50:14 pm »
Hi Guys/Gals.(..) Curiosity Board by Microchip(..) A development/demo board with built in Pickit Programmer.
You mean: a debugger. Any debugger can also program but programmers can not debug. They clearly advertise it as debugger:
Quote
includes an integrated programmer/debugger
Is it like pickit2 (logic analyzer, pin drive, external tool for programming, etc) or more like pickit3? I can program any AVR8 and debug PIC32 with my Pickit2, is it the case with this on-board debugger?

I have visited linked MC site and at least some of those uCs do not even support debugging.
Nice trick, Mr. Head.

Quote
For a long time many hobbyists/professionals have struggled with the configuration of the
built-in peripherals in Microchip PIC Products
PIC8s have quite simple peripherals. DS are well written.

Quote
Curiosity is a cost-effective, fully integrated 8-bit development platform targeted at first-time users, Makers, and those seeking a feature-rich rapid prototyping board
It is 10 euro for a 2k 8-bitter kit! Not sure if they are aware of who they are competing against.
I think somebody from MC should visit Digikey or Farnell.

Quote
In the box you (..) also get some polystyrene packing peanuts (that have the same texture as cheese-puffs, but no flavour).
Now that explains where the 10euro price tag comes from.

Seems to me the only virtue you can gain with this miserable kit is patience.

BTW, does a "hello world" compiled with their free XC in limp mode fit those 2k tinies?.
 

Offline Bruce Abbott

  • Frequent Contributor
  • **
  • Posts: 627
  • Country: nz
    • Bruce Abbott's R/C Models and Electronics
Re: Microchips New Curiosity Board - A Review and Quickstart Guide
« Reply #7 on: January 07, 2016, 06:38:23 am »
Quote
They clearly advertise it as debugger:
They clearly advertise it as a programmer/debugger.

Quote
I can program any AVR8 and debug PIC32 with my Pickit2, is it the case with this on-board debugger?
It's targeted toward 8 bit PICs, so we can forgive them for not supporting PIC32 (and even the Pickit2 doesn't officially support all of them). I don't think working with competitor's chips was part of the spec!

Quote
I have visited linked MC site and at least some of those uCs do not even support debugging.
Nice trick, Mr. Head.
Like the 12F1501 - an 8 pin chip with only 1k program words and 64 bytes of RAM, and it doesn't have dedicated debugging pins?  ::)

I have never used a debugger. If I want to check out the program flow then I use the simulator. If the chip isn't doing what I expected and reviewing the source code doesn't reveal the bug then it needs a rewrite. Many applications use up all the pins on an 8 pin chip, and real time signals won't wait while you examine the machine state.

I prefer to use the simulator because then I have complete control over all inputs while single-stepping through the code, and I don't have to hook up any hardware! I program in assembler though, so I don't have to debug the code just to find out what it's really doing...

Quote
It is 10 euro for a 2k 8-bitter kit! Not sure if they are aware of who they are competing against.
I think somebody from MC should visit Digikey or Farnell.
I bought a number of cheap dev boards from Farnell, and most have been disappointing - like the STM8 with ST-link that can't be upgraded, or the PSOC4200 with bootloader component that has to be included in every program or it bricks itself!

If the Curiosity has a proper programmer/debugger that can be used with other 8 bit PICs then it's worth 10 euro (certainly better value than some other boards that only work with the one chip they came with).  So maybe it can't do more powerful 16 and 32 bitters, but there's still a lot you can do with 8 bit PICs - and they are much easier for beginners to understand.

Quote
PIC8s have quite simple peripherals. DS are well written.
I agree. Microchip's datasheets are easy to follow and their peripherals are logical and consistent. I like the block diagrams that show what the hardware does, and lists of registers with all bits associated with each peripheral. Some other manufacturers just give us generic datasheets and bloated frameworks that try to hide the details.
   
 
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf