Let's Make Robots!

How many PIC users here

I was wondering how many PIC users are on LMR and what languages are being used.  I am currently a fan of the dsPIC33's and use C and assembly for programming.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I think it's a brilliant plan. Wish I could help but doubt I have got the skills. Will you accept motivational yelling during the race and my applause at the finish as positive input to this project?


I was wondering if there would be any interest in an arduino type board based on the ds33, 24F, or 16F micro.  Since mplab and the student version of the C30 compiler are free I was thinking of doing an open board design project here.  Let me know what you guys think.

I'd love to have a piece of that action. The thing is, I'd prefer a board with an ICSP header, whereas most of the guys would probably prefer a serial downlink (a la picaxe) connector. I don't know enough about the picaxe to add both, so I let it lie.

I have a few ideas for features specific to amateur robotics which should be added to such a board.

All my PIC boards have an ICSP header.  I do have a serial bootloader I used for a project that allows you to load apps compiled with C30 or asm  

but, for me, I much prefer having the ICSP(if you look closely at my robots board, you will see one at the top right) .

Absolutely. Mine too.

I'm just offering you a suggestion as to how to get the masses on side. The resultant board would need to support picaxe in circuit in order to arouse a large interest. It think it's a brilliant idea: any given project could have a RISC version, a C versio or a PICAXE BASIC version!

Do you still have to have a +12 volt input to program PICs, on the ICSP?
Yes, but it's normally provided by the programmer.

I have been using PICs for over a decade. I do not program in BASIC and I don't like 'C' for microcontrollers. Here is my take on the two ...

Assembly language let's you get right down to the lowest level of control you can get. It gives you the freedom to apply 'bit twiddling' tricks in the code to do things in a much smaller space.

'C' is simply much easier to read and understand, just like BASIC. However, C requires a software stack ( which the old PIC16 devices don't have ) and 'C' compilers tend to create more code. For instance, I can get an L.E.D. to blink on an output pin in 20 or so bytes of assembler code. The same thing in 'C' might take anywhere from 50 to 100 bytes of code due to the setup and 'preamble' of every 'C' program.

To make a long story even longer, I do both. I use assembler for PIC and AVR work, and C#/.NET for windows apps.

I use C for everything that has "soft" real time requirements and assembly for all "hard"(must happen in a certain time quantum) requirements.  

Nothing like some lightning fast DSP code with a C API you can give to the new grunt - oops I meant new graduate!

...is, I think, the word you're looking for. C provides very good determinism, actually. It's the pre-built libraries where this all falls apart. There's an awful lot of genericism built into them meaning that at a particular snapshot in time, it's quite impossible to know the absolute state of the machine.