Microchip "Curiosity" 8 bit demo/development board - $20

While looking for the low-pin-count USB board I found this new product from Microchip:

formatting link

More info:

formatting link

Has an integrated USB programmer/debugger so you don't need the PICkit3. It uses a Mini-B connector on the back.

From the "horse's mouth":

formatting link

And the user's guide:

formatting link

This might be a good way for beginners to get started without much investment of money. But be prepared to spend a lot of time if you want to get deep into PICs.

Paul

Reply to
P E Schoen
Loading thread data ...

When there's an optimizing C/C++ compiler available for Microchip devices for less than a grand then maybe I'll care.

--


----Android NewsGroup Reader---- 
http://usenet.sinaapp.com/
Reply to
bitrex

Here's one for $249, but I don't know how it compares to XC8 or C18 (which is what I bought for about $500 about 10 years ago at the MASTERS conference, and upgraded free).

formatting link

CCS compilers are $350-$600:

formatting link

The Microchip XC8 compiler with network server license is $595, and supports PIC10/12/16/18 devices. This link shows a wide variety of compilers available through the MicrochipDirect site:

formatting link

The 8 bit PCM command line compiler is just $150 and can be integrated into the MPLABX IDE.

There is a free version of the XC32++ compiler:

formatting link

Here is a free open source compiler project with limited support for PIC16 and PIC18:

formatting link

Reviews:

formatting link

formatting link

Good luck!

Paul

Reply to
P E Schoen

what's the point in cheap 8-bit pic tools? the parts are so horrible to use whan compared with other microcontrollers they're only worthwhile if you're building thousannds of devices.

here's a cheap 16 bit dev kit from TI,

formatting link

they used to be $4.30 delivered but that promotion hs ended.

--
  \_(?)_
Reply to
Jasen Betts

On a sunny day (Fri, 23 Oct 2015 23:33:24 -0400) it happened "P E Schoen" wrote in :

Freaking !!! For these simple processor just write in asm. if you ever wrote asm for ANY processor then PIC asm should be as simple or simpler than that. C on these tiny micros is a waste of time and resources. Do not get talked into it by those who say 'floats' (what would be the ONLY reason), there are free 32 bit signed math libs that can do 90% of what you think you need floats for, if you know how to multiply.

It is all marketing C selling zombie companies making zombies. Do not use MPLAB and other simulators. Just use a scope and asm, one pin I/O is enough, debug via serial port, beats any other method in development time. Debugger? Never use one.

I tell you learning C specific to these small 16F and 18F micros takes more time than learning the asm, and you never know if it creates the right code, etc.

I wrote these things in an afternoon or maybe at the most 2 or 3 evenings:

formatting link

Just did an other one, very interesting one indeed from a hardware POV, zero uA off current, one button multi function. maybe .. if ...

formatting link
formatting link
So there you are, making the web page for it is more work, that is why it is not there yet :-) Along with many other projects.

And, before you accuse me of being anti C, no I am anti C++ (C++ is a crime against humanity), I write tons of code in C, on a real processor, say Raspberry Pi if you want it small:

formatting link
latest (site needs updating). If your power budget allows: Raspi has a free gcc excellent C compiler, and all the I/O you can ever want, and comes at 35 $ or so, debugger too I think. So if you need to write complicatiatiateded software and must use C or more memory than a PIC.. go with a Raspi, also because of availability, and price. As to reliability I have one running all day with a huge display as wall-clock, still working fine after a year.

Since I also made my own PIC programmer, and wrote the programming soft (in C), I think I know what I am talking about.

formatting link

Cost so Far? Zero, except for the PICs, the Raspberry is used for multiple purposes, jppp18 also runs on an old PC with parport.

formatting link

So, if you made it that far, maybe try flashing a LED on a PIC in asm... :-) Is that not how in the old days people learned programming? Or are they now only rubbing screens on an droid ?

Especially for a hardware designer asm is a must. Talk to and know your chips.

Reply to
Jan Panteltje

On a sunny day (24 Oct 2015 06:58:09 GMT) it happened Jasen Betts wrote in :

The 8 bit versus bits is no real argument.

1 at the time, 8 at the time, 128 at the time, once those routines are written it makes no difference. Only for speed and that in only in some cases. I see people (me included) using integers as flags on 64 bit architectures.

Now you waste 64 bits to set a flag on your huge processor. PIC 16 / 18 has bit set, clear, and test instructions. btfsc STATUS, Z btfss WREG,0 bcf .. bsf ..

So :-) you need 64 times less memory to work with that flag.

Bull. I have used MANY other micros. PICs are very efficient.

Bull. they are great ofr a one of, as you can have it going in a few hours, the FLASH and EEPROM memory is.. well, all you need.

And so will the part likely. Microchip is great because it keeps those old chips available.

You have transmision errors from your system ;-)

Reply to
Jan Panteltje

I understand to some extent your viewpoint on ASM vs C for small processors such as the 8 bit PICs, but the bottom line in many cases is to get the job done, as well as providing a customer with well-documented and portable source code that could be modified by someone else if needed. So, "C" provides this very well, while assembler can add a layer of unintentional obfuscation.

It may be a only an unjustified source of pride to be able to produce solid code and reliable operation of products using a low-level tool such as assembler. I worked on a rather large project using an 8085 processor, written entirely in assembly language, and later I developed another product using Z80 code. We did have an emulator, which helped shorten development time in an era when code was programmed onto multiple 4k UVEPROMs that took

15 minutes to burn. Yeah, you can design hooks for debugging using an I/O pin and an LED and a scope, and you can also provide "hidden" test routines like I did to exercise the display, keypad, and other peripherals. But the bottom line is a function of results, tempered by time and cost, and I choose to use reasonable tools at reasonable prices to get the results I want.

I agree that everyone should at least do a few simple projects in assembler, and learn the low-level programming of SFRs and peripherals, but at some point, a HLL is the way to go. I agree that C++ is an abomination, however. I like Borland Delphi for Windows GUI applications.

Paul

Reply to
P E Schoen

Yes, we get it, you're the PIC ASM MASTER, blah blah.

The AVR ISA is specifically optimized for C code, it says so right in their datasheets. On most tasks the avr-gcc compiler is so good that I can almost never beat it handwriting asm.

I use C/C++ on 8 bit micros all the time and it works fine - you'd be amazed how much code you can fit in 32/64k. I agree that C++ isn't a particularly pleasant language, but structuring some of the larger projects in straight ASM without layers of abstraction/threading/scheduling would be a complete nightmare.

Reply to
bitrex

On a sunny day (Sat, 24 Oct 2015 14:23:27 -0400) it happened bitrex wrote in :

thank you thank you

Yes I think Microchip tried to add instruction and make architectural changes to accommodate C. But note that I was talking about their small micros with 256 bytes RAM.

I have used C on micros like that, not AVR so dunno about that.

Na it is a disability, like dyslexia.

I get to see and work through C++ code from others on a regular basis.

I do _not_ get the impression that the ones using it had those divine goals in mind you mention, in fact I think they tried to sabotage it,. After reading the code from so many different programmers I can hack it usually though.

The layers of abstraction you mention in asm and C are the same, once is called subroutine, the other function. How you pass arguments depends, but is easily specified in both languages. The shit hits the fan (so to speak) in that plus plus language with operator overloading, usually enhanced in small by a zillion defines that are not needed (in C also). A while back we were looking here at that driver C code for that pressure sensor, should be still on google, few month back. Makes you wonder if sanity is rare.

Maybe I come in a bit harsh, but really, once I learned welding, the teacher would throw the still half molten red hot object at you if you did not do it right.. Got peoples attention.

The argument that C++ allows larger projects (than C) because of structure or whatever is disproved by the Linux kernel project, one of the greatest things of all times as people working together in software is concerned. Linus specifically decided 'no C++' in the kernel, probably why it is still alive. Charging ever more for IT that does not work is however the business model of these days. As to Linux I had a little discussion in an other group that claimed it was insignificant in the world (as compared to that Apple thing), I just counted where in my _living room_ was Linux, and actually forgot some.

1 Samsung TV 1 Humax cable modem 1 LG autonomous vacuum cleaner 2 Linksys wireless access points 1 clock 2 laptops 2 PCs 2 raspberries.

Bit of topic actually.. The number of micros is stunning, from mouse to keyboard to camera to monitors to radios, many no doubt programmed in asm, some by me.

AVR? is that also in Arduino? I had some email exchange about that a while back with somebody who had a serial com issue, recommended a raspberry, but he managed to fix it, something with timing I think. made me severely doubt AVR hardware...

Reply to
Jan Panteltje

I don't pay much attention to what Bjarne Stroupsoup or whatever his name is says about the language. It's like - imagine you start with a clean slate with C, and you could do whatever you want...and what you end up with is C++. :(

I bought this drum machine the other day second hand that runs some Linux variant. Unfortunately, it seems to have some bugs/crashing issues from time to time. I wonder how hard it would be to get root access to it and see what's going on? I'm guessing there should be a serial header or JTAG on the board somewhere?

All an Arduino is is an AVR microcontroller on a little dev board, with a custom bootloader and development environment where some 'annoying' tasks for a beginner, like reading from the ADCs and writing to the serial port, etc. have been abstracted away into an API.

--


----Android NewsGroup Reader---- 
http://usenet.sinaapp.com/
Reply to
bitrex

On a sunny day (Sat, 24 Oct 2015 19:50:17 -0400 (EDT)) it happened bitrex wrote in :

Yes, that idea came up with me too. Especially when you implement some structures, I like linked lists, OTOH I think Mr ..soup wanted or at least had the subconscious intention to make things easier for the programmer by leaving out simple things like defined variable sizes, and he thought printf() formatting was too difficult too. Maybe people write a new language because they do not bother to master the current ones, so in that way create a monster. People are then encouraged to use the monster 'its objective you think objective, play with Lego whatever' no, not putting it right, got really pissed having to adjust a large amounts of clocks this morning (winter time). Also a crime against humanity, solution for a problem that does not exist that makes life more complicated for everybody, same as plus plus.

Some weeks ago I bought this digital video recorder:

formatting link
it runs Linux too (an other Linux box in my living room I forgot to mention). Managed to hack it, telnet into it, found the password with google: user root, password xc3511. Has real time clock and battery backup too, recording from it via the LAN, did not bother putting a harddisk in. It seems to run some Nokia soft called Sofia?? (IIRC) for the video processing, that is available on the web too (and I see several frame buffer devices). In telnet: ~ # telnet 192.168.178.80 Trying 192.168.178.80... Connected to 192.168.178.80. Escape character is '^]'. LocalHost login: root Password:

[root@LocalHost /]$ ls /bin arping chown false login netinit reset tar ash cp free ls netstat rm time awk dmesg himm mkdir passwd rmdir timecheck busybox dvrHelper kill mknod ping sed top cat echo killall mount ps sh umount chmod env ln mv pwd sleep [root@LocalHost /]$ dmesg Linux version 3.0.8 ( snipped-for-privacy@node02.localdomain) (gcc version 4.4.1 (Hisilicon_v100(gcc4.4-290+uclibc_0.9.32.1+eabi+linuxpthread)) ) #6 Wed Jul 17 11:02:35 CST 2013 CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c53c7f CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: hi3520d

So, recent Linux, I did a dump with 'snort' of the traffic, rewrote ffplay from ffmpeg to dump the rtsp stream (see postings in ffmpeg forum), and now it runs 24 / 7, have written some scripts to start and stop cams. Runs busybox as many of these things do. One could probably (yes there is some serial port header on the board too I think) use it for other things.... by simply adding some code. The raspi gcc arm compiler should be able to make executable code for it (have not tried). Has nice time and date on screen 4 cameras, h264 encode in HD, 4 audio tracks, mouse, remote, HDMI out.

I have hacked my Linksys wireless access point and added SDcard support to it and it runs a mirror (but old version) of my website.

formatting link
so yes, and that used JTAG too, maybe that soft can help you, but you need to know the chips to use the JTAG of course. When I opened this DVR I took pictures with macro lens of board and chips so that when I ever want to have a go I have a start.

OTOH 35$ buys you a Raspberry with Debian and all the software and I/O you can want and full documentation of processor and peripherals, so as time is money or something it would only be for the fun of doing it to hack such a box.

Ah, yes I see, I went through some Arduino C++ code and translated it back to C to drive some MPU6050 accelerometer chip IIRC.

Reply to
Jan Panteltje

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.