Continue to Site

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.

  • 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.

What IDE and compiler would you choose as a PIC-programming newb?

Status
Not open for further replies.

lardconcepts

New Member
Hello, I'm Jon, based in mid-Wales, interested in making products for people with visual impairments.

Hope this post is acceptable and fits in with the "first post" criteria!

This is going to be a bit long as I wanted to cover all the obvious questions before they arise, give a rationale to some of my thinking, and prove I've done my groundwork! If time is short, skip down to the tl;dr section to get to the meat.

I had a great training course recently at BCA in Birmingham with Arduino-evangelist Garry Bulmer who was running an excellent one-day course.

I was so enthused I bought an Arduino Uno kit on the spot and was chuffed when, two evenings later with nothing more than the Uno, 1 switch, 1 resistor, 1 speaker and 3 bits of wire, I had the Uno saying "ready" and then "button up" or "button down" depending on the state.

Having never done MCU fiddling before, and my programming knowledge limited to PHP, I was quite pleased. Next project is to use a cheap Freeduino to see if I can make a light activated chicken-run door opener for under £20.
Things I want to do to start with to get going before the “proper” stuff...

  • Make a kitchen countdown timer that rings a little handbell for a few seconds.
  • Make a chicken door opener. Both for under £10 each.

Eventually I want to....

  • Build a data logger which will intercept and log the NIBE heat pump status and running time data from the external F2015 unit to the SMO 05 controller which runs on a CAT5 cable (once I’ve found out the data protocol!).
  • Interface with the IR interface “eye” of my electricity meter and log hourly readings of the actual energy usage (as opposed to the highly inaccurate but cheap clamp-the-wire monitors).

Looks like I have some choices here:

Arduino/Freeduino: Incredibly fast start - I had it speaking the words “ready”, then “button up” or “button down” (depending on state) using the PCM library, loudspeaker and the Uno in under 4 hours of opening the box and 30 lines of code. But for each and every concurrent project, you need an Arduino.

The Picaxe - uses PicBasic and special pre-bootloaded PIC chips. The system is incredibly cheap and fast to get learning, allows the programmed chip to be taken out and used standalone in a breadboard, but at some point I’m going to need to expand beyond PICBasic.

Even I could cope with these first two options. Mainly because each has one high-level simplified language to learn, and one simple all-in-on IDE/compiler/programmer.

Standalone PIC: Then there’s the bog-standard £2 PIC chip and super-cheap K150 programmer allowing the programmed chip to be taken out and used standalone in a breadboard.

So when a K150, cable, CD with hex flashing software and a couple of PIC16F690 chips arrived yesterday morning, I was starting with a blank sheet. I can write php and understand the basics of object oriented languages, and did a little C at college, enough to get me started quicker on the Arduino than if I’d done none. But I also understand that Arduino’s ‘Wiring’ is an extremely simplified superset of C, so I’m going to have to get more down and dirty for programming the K150 of course. Maybe assembler one day, but for opening a chicken run door when it gets light, I’m fairly sure C will suffice to start!

The problem I have is.... so many options!

I hope I have proved to have done my homework with this 12 sheet spreadsheet with over 200 listings and links to different types of projects, reference and help sites etc - see https://bit.ly/Ue2nez. According to Chrome I looked at 118 related sites on the day I got the K150, and over 330 in the last 4 days. So I’ve definitely done some groundwork!

Yes, I know I should buy the PicKit3 and that somehow having bought the K150 makes me the spawn of
satan according to the replies other K150 owners have got on forums. One day I’m sure I’ll buy it, but right now I’m just getting going as a hobby. I’ve bought an official Arduino so I’ve salved my soul that way!

tl;dr - enough waffle already, what’s the damn question?!

OK, as I understand it, as long as I can compile hex, I can program a PIC chip with the K150 or pretty much any compatible programmer.

Unless I’m mistaken, I have the following choices:

MPLAB X and PIKlab are both free IDEs compatible with most Microchips PIC chips.

Hi-Tech C Compiler, Sourceboost, Codeblocks and SDCC are all Microchips compatible compilers, some free like SDCC, some free with limited functionality, some only free for one specific chip.

Then there’s PicBasic Pro, £99 for the full suite or £30 for the student edition of the compiler alone.
Right now, £99 is a fairly high amount for “having a play” - anything to recommend Picbasic over C?

I’ve also been watching some of the official and unofficial training videos for some of the above.

At this point in time, my intention is not world domination or the next RaspberryPI, it’s to be able to blink an LED, maybe take keypad input, maybe even make a Charlieplexed LEDcube for Christmas.

I’m getting on in my years and am of limited brain and time; the obvious thing would be to have the time to try all of the above and see which suited me. Not really practical.

I need to pick one, learn it, and stick with it. Yes, Google has been my friend, but a lot of the reviews of these IDEs and compilers refer to quit old versions. I’ve even found links to sites at Demon Internet and Geocities - 1994-1996 seems to be the peak bubble of activity for discussion on burning your own PIC code. And a lot changes in 8 years.

So my question would be:
If YOU were starting out now, what IDE and compiler would you choose, and why?

Thanks, and sorry this was such a long post!
 
I am biased...... MPLAB, not X yet, and any one of the compilers / assemblers.... The reason....I get on with the IDE it has a plugin for ISIS. I to have tried all manner of chips Z80, 8051, AVR and ARM, but PIC always ends up top.... I mainly use pic18's but I also use pic16's and now the 32's....

If I were starting out now... All this is stuff that is available... All the help and examples... All the languages that produce reasonably tight code... I would be having a field day.

MPLAB and C18 get my vote...
 
I would use the PIC18 XXXX chips there great chip easy to program and very able to do most any thing you would want. C18 is ok But I like basic so I Use Swordfish Basic and MiKroC there both easy to use and get your feet wet.

The thing that happens here is people get hung up on a development boards you don't need one really a handful of parts and bread board is all you need. Read the data sheet set up the bread board hook up the programmer and burn your code.

Even with the Arduino people have a big hang up that you have to have a uno for each project that's totally wrong you can buy chip with the arduino bootloader on it or buy one uno and a handful of blank chips and burn your own bootloader to them. Once on the chip it can be programmed serially with there IDE.

But the bottom Line is how much time you want to spend learning to Code be C Basic or the Arduino C++

PIC and C will take some time to learn
PIC and Swordfish Basic you can run code in a hour or two but to get the most out of it about the same time it takes to learn C
AVR same as the PIC will take time to learn
Arduino easy to learn basic stuff is easy but to really use it there still a learning curve. But lot's of code to use till you get there.
 
Status
Not open for further replies.

Latest threads

Back
Top