Tell me more ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I was thinking of creating a surveillance mobile robot. And I am having a problem of choosing a PIC or a Arduino microcontroller. The surveillance mobile robot is controlled via wireless fidelity (Wi-Fi). If I choose PIC, is there a need for an Ethernet module?

I have searched that it need it for an Arduino board to connect to the Internet. I am a bit experienced with PIC, but some say Arduino is better for beginners. Which is better: using Arduino or PIC for the project? Or it should be done with both Arduino and PIC? And also I am thinking of using an Android phone as the controller for the robot.

What should I do?

share|improve this question

migrated from stackoverflow.com Feb 19 '12 at 13:54

6 Answers

Really the question should be Arduino vs Launchpad (or another PIC development board) or AVR versus PIC. Arduino is simply a development board that includes an Atmel AVR processor and the necessary hardware to use it.

There there tons of custom shields available for the Arduino, including a wifi shield. Open-source wrapper libraries are already available for most of these shields, which will shield you from a lot of low-level bit twiddling. On the development side, you can simply use a GCC cross-compiler (avr-gcc) and the related cross-toolchain. This is not true for PICs, which are not supported by GCC.

If you don't mind the cost of an Arduino and the necessary shield(s), Arduino is likely the path of least resistance. The available libraries and support far trump any technical advantages of a PIC devboard unless you already have a lot of experience with microcontrollers.

share|improve this answer

For a hobbyist Arduino is probably the best solution. Though you have to know, that Arduino is not a microcontroller - it's a design. It mostly comes with Atmel microcontrollers but you can also find Arduino with PIC (Microchip microcontroller).

If you decide to go with PIC (since you said you have some experience with this architecture) you should definetly take a look at MRF24WB0Mx module (MA is with internall antena, MB has U.FL connector).

Works well, can create AdHoc network or join an existing infrastructure one and you can get free library and examples at Microchip's site.

However, if you choose Arduino, you should consider using a WiFi shield with good support.

As for which is better (Atmel or PIC), Dave Jones has a video blog on this topic, if you can spare 24+ minutes. :) And don't expect a final answer since there is no.

If you only want to deal with programming - go with Arduino. If you don't mind also designing a PCB - then you'd be probably best of with a PIC (PIC24FJ256GB106 or GA106 are very often used nowdays) and MRF24WB...).

share|improve this answer

Focus on what part of the project you are actually interested in.

Is it the microcontroller? Is the the analog design? Is it motor control? Is it the autonomous algorithms? Is it the embedded TCP stack?

Why not buy a robot kit that meets the project requirements then dive into the inner workings of the parts of the kit that you want to learn about.

share|improve this answer

How about a combination...! As you already mentioned you have experience with PICs... Why don't you use PIC for Motor Controls, Sensor interfacing etc and Arduino for Ethernet Stack...

Though, Microchip also has its own TCP/IP Stack, its is not a good choice if you compare it with Arduino...

share|improve this answer

I don't know about PIC or anything, but I will definatly tell you arduino is a good choice. Arduino is great for using internet with the wifi shield, and there is the android ADK for arduino that is just booming. So if you are planning using android I would definatly look into arduino. Plus there is a huge community out there so if you have any trouble, i will promise someone will help.

share|improve this answer

I would agree with @bobrown101. Arduino works well on multiple platforms and is fairly easy to use. PIC is starting to fade, but arduino's only growing. Arduino also works great with java (the programming language it uses is just a front for java), making it a great choice for android. Definitely wouldn't suggest trying to use both PIC and arduino though... that's just asking for trouble.

share|improve this answer
2  
Arduino is most certainly not programmed using "a front for java". – drxzcl Feb 19 '12 at 14:19
8  
PIC is fading? News to me. – Saad Feb 19 '12 at 15:14
@Saad yeah, my stock and the dividend are doing great. ;) It's a bit of a religion war. Arduino's a platform that makes it very easy for software types to get into embedded. PICs and raw Atmel require more hardware chops. I think you can find similar external interfacing solutions for either, with Arduino offering 'package' hw/sw solutions in some cases. – kenny Feb 19 '12 at 15:21
3  
Arduiono is bascally programmed in C (can use some C++ too), with an Arduino library behind the scenes that makes things a bit easier and hides some of the low level details. The erroneous remark on java no doubt stems from the fact that the Arduino IDE that runs on the PC you develop on IS written in Java. But the Arduino is not running java and you don't code in anything looking like java. – ViennaMike Feb 19 '12 at 17:27

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.