Arduino vs PIC32 for Roasting Computer

General Discussions about DIY Modifications and other projects.
Post Reply
SteveS
Site Admin
Posts: 25
Joined: July 15th, 2010, 3:03 pm

Arduino vs PIC32 for Roasting Computer

Post by SteveS »

So this is a bit unfair but I'm going to point out a few things for people that are thinking about building roast computers or systems for transmitting log data to the computer in real time or whatever.

In my opinion the comparison as if a PIC32 is like a supercomputer and an Arduino is a Mac. Macs are known for being easy and are certainly competent at doing a lot of things. Meanwhile the PIC32 is hard to use but can do darn near anything with it. They are beginning to make SMD Arduinos more and more making some of the soldering "issues" an even situation between the two. The PIC32 has a TON more inputs and outputs and hardware dedicated communication ports for UART (a type of serial easily translated to normal PC com port over USB) and ports for SPI, I2C, and other things. These can be used to talk to storage devices like flash/SD/EEprom etc as well as sensors and a bunch of other things. Ypu can still do this with an Arduino but depending on the model you get a lot more combinations/options with the PIC32. Again, however, it is a LOT easier to use the ports on an Arduino due to very simplified libraries to insulate you from a lot of the more complicated code.

In the past few weeks I've been feeding output to an 800x480 LCD touch screen display from PIC32. Normally with Arduino you have a lot less capability in this area and usually end up doing 40 character text LCDs with 2-4 lines of text displayed at any time or very small graphical LCD that draw monochrome graphics as "special" text characters you upload to the graphic controller. Both can be hooked to a network connection wired or wireless, use USB, SD memory, thermocouples, and a bunch of other things. There are exceptions and new things being optimized every day though.

PIC32 is mainly best in terms of "options" where most anything is possible. Arduino, however, has an overwhelming edge. What might that be? It's pretty serious of a difference. With an Arduino if I had an "electronics store" at my disposal to throw together any circuits I wanted on a breadboard I could have built a coffee roaster in about 2-3 hours. Will it be pretty? No. Will it have touch screen... no.... will it draw pretty graphs of the roast? Not at all. Could I make it do PID and log roast profiles and follow a punched in program and that sort of thing? Heck yes.

Seriously... I sat down and after having a few hours of trying to figure out somehow I had downloaded a bad download of the Arduino IDE and then figuring out where I put code and code libraries in the IDE I managed to get it reading temperatures from several different temperature sensors, humidity, other weather statistics, a thermocouple, blinking some LEDs and waiting for input off a serial line. Time to make it do all of that? about 15-20 minutes. Arduino is simply that easy for anyone who has half a clue at programming.

What does that take on a PIC32? I've been learning how to do all of that for almost a year now. By that I mean year where I have work and home responsibilities to take care of so I can't be sitting here for hours on end coding and testing/debugging every day. The difference is PIC32 finished product COULD be the same as an Arduino project outputting the results the same way using the same sensors BUT usually it's just beautiful with lots of colors, pretty buttons and graphs and touch screen and a LOT of stuff FAST (running). GETTING to running, however, takes a LOT of time.
SteveS
Site Admin
Posts: 25
Joined: July 15th, 2010, 3:03 pm

Re: Arduino vs PIC32 for Roasting Computer

Post by SteveS »

in the interest of being fair you can hook touchscreen lcd graphics panels up to Arduino too but usually this is much more limited for the control systems and certainly for screen update speeds. I'm sure there are exceptions but most of what I've seen for projects using PIC32 can work with a variety of screens of many sizes up through 5-8 inches in size while with the arduino most things seem to be 3-5 inches at most and usually at pretty low resolution and color depth. A lot of that has to do with memory limitations and the speed due to limited numbers of pins. Once you get to a MEGA2560 there is often enough pins to send large amounts of bits at one time to more quickly transmit data to an LCD.
Post Reply