• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Wow my hello world 16f18446 got 21 downloads


Well-Known Member
Thread starter #1
I meant imported 21 times sorry
Microchip was giving away what's called the Curiosity Nano It's a 16f18446 that looks like a nano
It has some great stuff you use and programming is simple you just place the hex on what shows up as flash drive and it loads and runs
your code.
The hello world is just a simple led toggle using onboard led to see if you have it working I started with uart but needed to test to see if the osc was working
so I posted this.




Well-Known Member
Most Helpful Member
Congrats. Do you have a link to that board? I can't find it on Microchip's website - I can never find anything on their site.


Nigel Goodwin

Super Moderator
Most Helpful Member
OK, I thought I'd better join it :D My board is flashing now as well!.

However - I just thought I'd like to query this line:

__delay_ms(200); // 1 Second Delay

A little typo perhaps?.

I must admit, this range of new PIC's is rapidly becoming my favourite, decent amount of memory, great peripherals, and a wide range of pin selectable options.

Having said that, my current project (for which I'm awaiting PCB's) is using the 18F26K22 - which has even more memory, but even more important (for this application) two serial ports.

Just (this second) checked status on the boards, dispatched this morning, currently in a Chinese airport :D


Well-Known Member
Thread starter #9
Lol I started with 1 second I changed it too 200 ms I forgot to change the delay commit

But now to figure how to get the builtin usb serial to work It shows as a com port but
as of now I can't use it I no my code works on the 16f1825 But the com port is showing up as a sys only com port on Linux
Last edited:

Nigel Goodwin

Super Moderator
Most Helpful Member
To use the USB socket as serial you need to allocation the UART to the pins that the USB connects to, on a 16F18877 it's RC0 and RC1 - there's a demo program in the Express examples on the website.

Works fine in Windows.

Mike - K8LH

Well-Known Member
It looks like we need to use PPS (Peripheral Pin Select) to get our signals on those pins. Here are the associated PPS register settings. I wonder if those require a PPS "unlock" sequence?

RX1DTPPS = 0b00001110; // RB6 = RX input
RB4PPS = 0b00001111; // RB4 = TX output

Use Code Configurator to add the USART module and use Pin Manager to select the pins?
Last edited:


Well-Known Member
Thread starter #14
The problem I had is I can't use the com port on linux I think I got that figured going to try it out now


Well-Known Member
Thread starter #16
Well serial works I just can't get the onboard serial to work.
I set the pins for Virtual COM Port interface over UART.
I think it's something to do with this.
Info: The Virtual COM Port in the nEDBG requires the terminal software to set the Data
Terminal Ready (DTR) signal to enable the UART pins. If the DTR signal is not enabled, the
UART pins on the nEDBG are kept in tri-state (high-z) to render the COM Port not usable. The
DTR signal is automatically set by some terminal software, but it may have to be manually
enabled in your terminal
The DTR Line there is no place to set it in putty
Last edited:


Well-Known Member
Thread starter #17
Guess there something wrong with the CDC I can use a usb to serial to see it's sending on the right pins but a can't get CDC to work as a com port
I Know the code works
Screenshot from 2018-07-03 13-05-11.png


New Member
I got a 16f18466 dev board free from microchip as above.
Plugging into win 7 or 10 there are drivers that don't install.
Has anyone had this problem?


Well-Known Member
Thread starter #20
Only problem I'm having is the CDC it shows up and i'm sending data out the pins it said to use I tested it with a serial usb adapter.
But I guess like I posted above my software is not setting DTR cause it doesn't send data over the builtin serial at all.

But both linux and windows 10 shows it as a com port and a fash drive.

Latest threads

EE World Online Articles