For those of you that can’t make a decision between buying an Arduino and a PIC processor, [Brad] has come up with a novel solution, the PICnDuino. We’ve featured him before with his [Retroball] project, but this time Brad has been full funded on Kickstarter, and is pre-selling boards for delivery in March.
[HAD], specifically I, was fortunate enough to be sent one of the boards to try out early. I’ve worked with an Arduino before, but never a PIC processor, so read on to see if it was actually as easy as the tutorial video (at the end of the article) would have you believe it is to get started.
I was sent both a black board fully populated, as well as several blanks in the various colors pictured below. After loosely attaching the headers, I found that the oscillator on the bottom makes the board sit up a bit when placed into a breadboard. This is actually a clever design feature to make sit up a bit to allow USB attachment while breadboarded. After a quick physical inspection, the real trick would be seeing if it worked as advertised.
The first challenge for me was that, according to the documentation, this board runs in Windows or a virtualisation environment. I normally run Ubuntu, so, grabbing my wife’s circa 2000 vintage XP notebook, I downloaded and Amicus and Arduino software as explained in the video tutorial. The tutorial really spells out how to get the software running. This would be great for a total beginner, and made it so I didn’t have to even poke around for where to get the software.
The only issue I had connecting to the board(s?)was that I had to manually install the Amicus18 USB driver. I’m a total noob when it comes to the PIC processor, and only have limited experience with the Arduino, but once the driver was updated, it was quite easy to get everything going.
After programming a “blink” sketch using it as an Arduino, I then flipped a switch and opened the Amicus IDE. Programming the PIC was also simple, although I had to use a and modify a program called “LED_Flash” to match the video instead of the “blink” program as described in the tutorial. It was a bit strange to see the built in blinking light for the Arduino still working while the PIC was being programmed, as well as both built-in lights blinking slightly offset while running simultaneously.
The documentation is extremely well done for a product that won’t even be available for delivery until March 2013. I’m really excited to play with it more, and I think it will be a great tool for people to either run two processors simultaneously, or just have the option of learning to program both a PIC and (n) Arduino. So check it out here, and get it shipped worldwide straight out of Australia!
Side note, bonus points if you can tell from the two pictures what kind of computer I used for this review!
34 thoughts on “The PICnDuino Review”
Doesn’t the Arduino programming actually hide a lot of hardware details so that it doesn’ really matter what micro you have there?
Doesn’t putting 2 micros make things 2x more complex? When you get onto serious stuff you’ll have 2 architetures in fron of you?
If each person prefers 1 micro, isn’t the other one wasted?
Other tha that… I like the usb board design, plugging it directly.
I wish someone would make a tiny board like this with micro and usb>usart for a lot less than $10. Maybe then i could find it worth it…
http://digistump.com/ Something like that?
wow. they rolled in $300K in pledges, for a $5K goal.
And they are delivering. I got my five last night in the post. Time to play.
You could make your own design instead of criticizing a well done job.
Looks like a Sony Vaio.
Looks like an old Compaq I used to use as a fileserver.
So the PIC needs a Windows-only (why make open hardware if people obviously don’t even care for open source software to begin with) BASIC IDE? BASIC! If you’re able to write a program for your Arduino in C (mixup) then why on earth would somebody want to learn/use a language with a hell less possibilities and performance?
BASIC is that shitty language most people learned first when they dove into programming, they’re grateful to outgrow it after a while and move on to more powerful languages like C. And it’s not like the C-code written for Arduinos is complicated or more complicated than BASIC…
It feels like every day there’s a new fancy controller board of which it’s designer thinks it has some really unique and awesome features. In the end, most people choose a ‘real’ Arduino just because you get it from countless distributors around the globe and it’s on the market for years now, it has proven that it’s reliable and won’t b e discontinued after a short time.
Basic is not the Basic it used to be. Especially in the ucontroller world. Pokes and peeks are essentially gone for example, or obfuscated by macros that replace keywords with the appropriate poke/peek values. In areas where Basic lacks, replacement code can be written in assembler or some other language and wedged in via macros.
Ok granted, its still basic. But its not so terrible as you might think. (But I wouldn’t use it either).
And when the goal is to teach some fundamentals of micro-controllers to beginners, ease of comprehension trumps powerful coding features.
RE open-source and single platform development: this is very very VERY common in the micro-controller world. If you have been around the industry for any length of time, you should know it already, and realize there is no use complaining about it. If you have not, well, get used to it. Even when something is “open sourced” it does not mean it will get ported to your preferred platform. An open source developer is under no obligation to make their stuff work on every machine. But they cant stop you from doing the port yourself.
Really, the only case in which the Arduino IDE stands above the rest (except maybe Eclipse). It works on just about any platform out there (I am sure android is available or soon to be).
Indeed. Big rant about his knowledge of 1980 :P
I’ve used Proton Basic (still do for some projects) and Amicus (the free version) and it compiles as fast as the expensive C compilers, with plenty of features to use. It allows for “quick and dirty” projects that can be done in a jiffy.
you obviously are a mico-newb who thinks the ardudweeeno was the first “real” microcontroller out there… dead wrong. PICs have been around forever and do not have to be programmed in BASIC, they have their own assembly language if you want real power over a high level language such as C or basic, and those both do the same thing in the realm of micros, no terrible difference, and both are just as easy and you can get a C IDE for PICs as well.
aaurdvarks were invented so engineers with no real working knowledge of electronics (most don’t either, not even EEs) can accomplish something as instantly gratifying as ripping open a bag of potato chips and then post it to the web and frantically pat themselves on the back as if they were the first caveman to invent fire.. Or so school kids can learn a little programming. I’d rather spend a dollar bill on a single PIC and read the freaking datasheet than spend $20 on a huge honking board just to make a blinky light anyway…
A atmel chip with the arduino bootloader is $5 in single quantities, and requires no datasheet reading.
Given the opportunity, why wouldn’t you read the datasheet? It’s free useful knowledge! Every time I dig through an MCU datasheet, I get great ideas for new projects. Atmel even publishes a summary version if you like lighter reading, and includes handy reference circuits that help you avoid a lot of frustration later. I’m sure PIC datasheets are just as good!
I found ASM quite easy to learn as well. Syntax is trivial, the commands are easy to understand because they are so basic, and any text-editor is a good enough IDE. There are some things that suck to write in ASM, but you can get a lot done… and with so many more options!
Personally, I find all the abstraction we’ve added to MCUs to avoid reading the datasheets has become more complicated than just reading the datasheets. I can see why some would disagree, but that’s still where I stand.
Indeed. PIC assembly isn’t difficult either. Most use only 35 instructions or so.
Nope. Its some version of a Compaq Presario. I still have mine. the left side edge design, with the cut line just in front of USB ports and beveled down keyboard recess is very distinctive.
The power LED bar / latch area on the front of the case is very similar, but my JBL speakers are mounted in the front edge, in the black area under the gray top, rather than directly in the front edge of the gray top like yours.
By the way, other than being incredibly heavy, with a lower than standard resolution for its day, and considered of lower quality than comparable units, the Compaq R line (student line) had the best speakers I have EVER heard in a laptop. Still considered better than my modern lappy.
Saying ‘Best speakers in a Laptop’ is like saying ‘Most handsome man in the severe burns unit’.
Those speakers were great! I’ve probably worked on every brand and model of laptop from 95 until now and the Compaqs with JBLs are some of the best I’ve ever heard.
I was hoping someone could pick it out, nice job! Hadn’t really noticed the speakers, will have to listen to them a bit more closely.
This seems like a interesting project, to bring awareness of other micro-controller families to beginners. Said this, I use PICs ( and AVRs, ARMs, x86, etc) but the arduino IDE would be the last thing I would want to use for any (serious) programming, since the EDITOR is not very user-friendly, considering the other better options, unless I’m “using it wrong”: The auto-identation is bad, no easy help for function/code lookup/follow, etc…and those default colors! arrgh
@Nuno: A common list of complaints. No you are not using it wrong X< lack of line numbers as well! In the rare instance that the debug info is useful, you cant backtrack it to the quoted lines without manually counting them out? WTF?!
But it is designed for absolute beginners. And having taught MANY MANY intro to Arduino classes to hundreds of people, I have to say it is so easy to teach. The lack of clutter and options gives beginners a comfortable feeling. Most IDEs at first glance are absolutely overwhelming, especially to someone who has never written a line of code before. That said, it sure would be nice to be able to activate or turn on features to make the Arduino IDE more functional. Or build some sort of plugin system?
I hear good things about the MS Studio Arduino plugin. Might give that a try?
The line number is shown at the bar at the very bottom, no counting required.
Great job you’ve done here !!
Well thanks if you mean me! If you mean [Brad] and the [PICnDuino], yeah it’s a pretty sweet concept and I wish him a ton of success!
Two different things, like saying, cant decide to buy a BMW “CAR” or a Mercedes “ENGINE”.
more like a bmw engine or a mercedes engine. so you buy a car with one under the hood another under to trunk :)
despite the choice for USB driver and (i guess) that you have to power both even if only using one, it’s awesome!
Yeah, I suppose that is true. I’m definitely still learning when it comes to microcontrollers.
Not pointless to me. This is a very nice and cheap(my time and money) solution to my issue of my custom Laser Tag guns really needing separate processors for firing and receiving hits. I do it on a single Arduino Pro Mini but this allows true overlap to make for more fair and fun guns that are even better than the real hardware(which can’t shoot when they have taken a lot of hits at once).
i could see this being useful and fun to use. especially if you use assembly to program the PIC.
See also the Pinguino project.
love arduino? youve already pissed off the PIC fans.
love PIC? youve already pissed off the Arduino fans.
make a board with both to try and be multifunctional?
everyone hates you.
seems like nobody is reasonable these days.
why wouldnt everyone love a board with both???
seperating the power traces of the two wouldnt be all that hard.
(POWER, not ground lol)
you could make one of em control the power of the other
2 to the power 2014 thanks and happy new year
Please be kind and respectful to help make the comments section excellent. (Comment Policy)