Is developing on an Arduino too slow? Are Phidgets too expensive? When might you use one or the other? Hackaday regular [Ken] breaks down what he learned from three experimental time trials.
The main development differences between Arduino and Phidgets are a mix of flavor preferences and some hard facts. The Arduino is open source, Phidgets are proprietary. Arduino requires a mix of hard- and software where Phidgets only needs (and only allows) a connection to a full computer but enables high level languages – it is expected to get the job done sooner and easier. And finally, Arduinos are cheap, Phidgets are 3-5x the cost.
The three time trials were common tasks: 1. Blink an LED. 2. Use a pot to turn a servo. 3. Build a pedometer. For [Ken], the Phidgets won in each of the three experiments, but not significantly: 37%, 45%, and 25% respectively. The difference is only minutes. Even considering time value, for most hackers it is not worth the cost.
In context, the advantages of a mildly more rapid development on the simplest projects are wasted away by needing to rebuild a permanent solution. Chained to a PC, Phidgets are only useful for temporary or fixed projects. For many of our readers that puts them dead in the water. Arduinos may technically be dev kits but are cheap enough to be disposed of in the project as the permanent solution – probably the norm for most of us.
[Ken] points out that for the software crowd that abhor electronics, Phidgets plays to their preferences. Phidgets clips together their pricey peripherals and the rest is all done in code using familiar modern languages and libraries. We wonder just how large this group could still be; Phidgets might have been an interesting kit years ago when the gulf between disciplines was broader but the trend these days is towards everyone knowing a little about everything. Hackaday readers probably represent that trend more than most, but let us know if that seems off.
[Ken]’s article has much more and much better detailed explanations of the experiments and the tradeoffs between the platforms.
If you enjoy watching parallel engineering, see the time-lapse video below for a split screen of the time trials.
That speed-test protocol made me sick.
It’s like comparing how much time it takes for a car X and a car Y to go from A to B. Both cars running at same speed.
The driver from the car X starts from A, goes to C and take a nap, have a drink at D and then go to B.
The driver from the car Y starts from A and goes straight to B.
Nah, more seriously. On Test 1, Right part starts with the led in hand, doesn’t add a resistor (and thus wires and breadboard) and more things like that.
On Test 2, Left part shows up a multimeter, Right part got things already wires (which aren’t on left side)
Test 3 is serious bullshit. You’re not even using the same hardware !
“Test 3 is serious bullshit. You’re not even using the same hardware !”
Well, Hackaday articles are supposed to summarize and contextualize the source for our readers, not wholly replicate it.
If you look at the source article, one of the reasons the hardware is different is because Phidgets only allows its proprietary peripherals to be plugged in. So the hardware has to be different.
If you want more value out of the test than just looking at the results (which I agree, are too soft to be conclusive), [Ken] breaks down the peculiars of each test and what he thought the strengths and weaknesses were within the builds. That’s where the interesting meat lies. It was hard to get into all that without making the article 3x as long.
I wouldn’t take the science to be top notch rigorous. The experiments didn’t isolate their variables enough (because that would be harder to do) and the sample size for a general build isn’t very significant at 3.
The point is more to note that it seems developing with modern languages and libraries seems consistently faster, but at what cost? At… What… Cost.
They can only use their proprietary sensors? No wonder it’s faster. It’s the difference between wiring a house light or plugging in a lamp.
Great analogy.
No wonder it’s more expensive too, eh?
They should both be using or not allow to use pre-made specialized peripherals/sensors or shields if you want to make a comparison. If you want to more accurately measure true development speed, you have to have a random sample of people and a more unbiased set of non-trival problems (i.e. something that a day or so) without pre-made sensors/shields to solve.
Any time you make demands of what someone should have done, you should at minimum burden yourself by only suggesting things that could have been done with the same effort.
Yes, a random sample of hackers and some fancier method of deciding what projects to build would have been better. 5 people would have been better than 1. 10 projects would have been better than 3. Spending a month on the experiment would have been better than spending a day.
… it’s one dude doing what he could. He got some results. The results are useful as long as you don’t take them to be more than they are.
Neither [Ken], nor I, claimed the results to be definitive. I did thing they were still interesting.
Even 2 persons would have been better because once the same person has solved a problem on one platform, it would be easier on the second platform.
For something “effortless” like 10-30 minute project without using more resources, what you get is a meaningless article and a click baits.
As for efforts, I am usually the type that sometimes bring in additional links and information. So for something like this, I am saying this article is useless for any real life comparison. That’s as much value as I can bring to this discussion.
“So for something like this, I am saying this article is useless for any real life comparison.”
Fair enough. I wouldn’t go as far as “useless” but it certainly has limited value in terms of numbers.
I didn’t see the source article as something to use for actual useful or conclusive metrics. More, of a hands-on review with a bit of a comparison to something everyone is more familiar with. Actual data from the experiment is a bit of a curious perk. On its own, not worth much.
I think labeling either the source or this article as “clickbait” is a bit mean-spirited. To call it worthless or scammy because it “only” involved a few hours of effort is a harsh accusation.
The author is a regular in the community and has been featured a handful of times in the past. I don’t know him but I doubt he’s out to fool people. I see him as genuinely trying to demo something interesting, with limited efforts in his spare time.
It is just about as mean spirited as saying that my suggestion making the article more useful by having a few people solving a non-trival task as a benchmark is not “minimum burden yourself”. I did try to help and seem to get shot down for no reasons.
It is like reading a random Amazon user review vs one by a more technical PC website. Which one should be more worthy for the HaD? Just because the person is a webceleb doesn’t automatically means all his/her article is worthy to be linked.
I disagree. “Clickbait” is a fairly serious word to use towards a writer. Suggesting that someone put themselves in another’s shoes is not mean spirited at all. Certainly not the way I meant it. And I didn’t shoot you down, I agreed with you… I just said it’s not reasonable to expect.
Perhaps we’re both being a bit defensive. I put in a fair amount of effort to ensure that the articles I write deliver on the headlines and descriptions that entice readers to read them, (or rather the reverse, that the headlines in no way overreach the story). I do take that task seriously.
I also think people should tread carefully on telling others what they should have done to benefit them, the same way at a hackerspace anyone should tread carefully on saying that “someone” should do something. Unless you’ve paid them for their efforts, that “someone” being criticized is no different than the “someone” being a critic, except in that the person on the receiving end actually did something about it.
Is your feedback that this story should not have been covered by Hackaday, or that [Ken] should not have bothered writing his article in the first place if he wasn’t going to put in several times the effort he did, or, just, an idle wish that it would’ve been nice had he gone further? The first has some merit, the second I disagree with, the third I concur on.
I tell people if they wonder in the lab and make random measurements without thinking about what they are measuring or doing it correctly, they are wasting their time for the afternoon. It is fine if they want to fool around and be familiar with the equipment, but as for measurement results are concerned they are no use for any one.
The same 4-5 hours or however long would have been much better spent if he simply focus on doing a first impression of the device on its own. I am not a writer, but you can see the difference of focusing on a topic and not to stir up a A vs B controversy without doing good research or unbiased test. The latter is what I call click bait.
Read up the comments by your other readers. See if they agree with me.
“I am not a writer, but you can see the difference of focusing on a topic and not to stir up a A vs B controversy without doing good research or unbiased test. The latter is what I call click bait.”
I think I can see your point, but I don’t see it as stirring up controversy or trying to capitalize on controversy. But, as the writer, I had the perspective of having read the source article first, so I know it wasn’t attempting to be that. I’ve actually since heard back from [Ken], and he’s concurred that a more open “Here are the situations you’d use A vs. B” was what he was trying to convey.
Perhaps using the “vs.” means different things to you than me. To me it’s a compare and contrast. It does not imply to me that there is a winner or a superior in the conclusive way “Ali vs. Frasier” does. More, “Truck vs. Car” with cost and hauling comparison trials.
Bigger picture… I try to write about one blog post per day and of all articles and projects I read about yesterday, this was the one that was most interesting and inspiring to me. It certainly wasn’t the easiest to write about. Maybe slow news day, maybe my interests aren’t closely enough aligned with our readers to make my writing selections this personal.
*shrugs*. In any case, thanks for your mannered feedback. It’ll be food for thought.
The article is fine. I’m just mad at the video the way it’s been made.
No, the article’s not fine. It assumes you know what a Phidget is, and doesn’t even throw in a sentence or two about it being some proprietary USB-connected prototyping-ish thing (or even a link to phidget.com or whatever their website was, and phidget’s own website isn’t particularly good at explaining it either), and doesn’t explain why there were price differences (apparently Phidgets come in different prices depending on what sensors, etc. are on the board.) And people complain that Arduinos are too expensive, compared to a $3 ATmega chip – some obvious comparisons would either be to plugging the ATmega into the breadboard directly, or using an Arduino with different shields plugged into it for different projects.
And yes, the video was annoying – not only does the Arduino already have an LED on board that you can blink, but it also has connectors you can plug the LED into directly (if you’re willing to modulate your power output a bit or use high-power LEDs, which you can certainly afford for the price difference between Arduino and Phidget.) Or there’s the prototyping shield. Or as somebody else pointed out, Seeed Studios’ Grove or the E-Bricks, or even easier, Little Bits, which are a much more extensible system that’s easier to use than Phidgets seem to be.
“It assumes you know what a Phidget is, and doesn’t even throw in a sentence or two about it being some proprietary USB-connected prototyping-ish thing”
Well how about these two sentences explaining it as bluntly as possible?:
“The Arduino is open source, Phidgets are proprietary.”
“Phidgets clips together their pricey peripherals and”
It seems you wanted this post to contain all the info of the source article. That’s what the source article is for. It has a ton of detail and commentary in the breakdown.
I think the takeaway here is either that there’s a minority that are upset that this article didn’t do enough handholding to suit their particular preferences, or that our readers in general should be coddled just a touch more and eased into things with some more exposition. Something I’ll keep in mind.
It’s a copout to spout “You can’t please everyone” as an excuse for the way one does anything, but conversely sometimes there just are fundamental tradeoffs. Honestly, I don’t really care enough to debate this particular article’s minutia and that’s not why I’m doing this. I do care enough to interact with our readers so I can find ways to improve my writing overall, since I’m new and still getting to know our readership.
As I understand, this Phidgets cannot be used w/o a computer? I’m programming Arduino or Arm Cortex-M with mbed. After flashing the microcontroller, I unplug the computer and the robot can run w/o any cable. This Phidgets ist only for experimenting at the desk. Nice for learning how sensors works. But useless for the most jobs where I use a microcontroller.
If breadboarding is to slow for you, you maybe look at Seeedstudio Grove or similar. IMHO Phidgets is nice for education, but not flexible enough for hobby.
You’re correct, Phidgets do need to run from a computer. There is no processor onboard the Phidget InterfaceKits. People use them for automation, data acquisition and monitoring… but for hobby projects where free movement and portability are a necessity, Phidgets don’t work as well, although projects can be done (see the Falcon Robotics Team from Arizona).
Disclosure: I do work for Phidgets.
A breadboard isn’t really needed for blinking an LED. I think the test is a bit biased in favor of the phidget.
A 555 would have easily beaten the first two tests. It takes about thirty seconds, if that, to go from nothing to a 555 LED blinker.
both have their place why not leave it at that?
Because in this context it’s not about their place, it’s about development speed.
Don’t arduinos have an onboard LED one can blink
Calling arduio projects “engineering” makes me LOL.
Why? It certainly has it’s place on an engineer’s workbench. I think it’s a great tool for quickly putting together proof of concepts and early prototypes. Quickly find what works with available code and libraries (even shields) for an Arduino and adapt the code to C for what ever microprocessor family you want to use.
There have been hundreds of development boards before Arduino, and hundreds after. ‘Duino was just the first to hit actively looking at the maker/individual hacker markets with concerns on ease of use and definitly price. We know this, why do I bring this up? Becuase “better” is circumstantial to what specifics you need. Platform, RAM and processing, available I/O and protocols, and several other points differntiate these boards; the big question for most of us is “how much are we willing to spend”.
Many of these dev boards are exactly that – boards for prototyping. Arudino’s cheap price immediately moved it from just a dev board to being directly placed into the final project – something also seen with other dev boards occasionally too, but less common, just something else to consider when wondering why a particular board isn’t very practical to place directly into a project. The idea isn’t _always_ “buy this product and drop it in”.
The whole article was written as if we were supposed to know what Phidgets were. Doing a search, they’re averaging one mention on HaD per year. Three articles for 2014, on a site that does about ten articles per day, seemingly a third or half of them about or using Arduino or some other device trying to hang off of Arduino coattails. So how is your typical audience supposed to know what you’re going on about?
It definitely would help if you could throw in more stories about other ecosystems, hopefully in a less jarring manner than this.
I agree with most of your assessment.
That is why there is a link to the original article, which does take the time to walk through all those details.
It would be great if every article was written specifically for every single reader but that’s obviously impossible.
This isn’t a column, it’s a blog post that references someone else’s project. And even then, it’s already over double the length we normally target because I wanted to try to add some extra context.
I could have re-written the entire source article and done more handholding and more graceful of an introduction, but, then it would’ve been 5 times as long.
Doing my best here, but, it is what it is.
Hackaday readers have 1 of 3 results of reading a blog post:
1 – This is something I didn’t previously know I was not interested in, and by reading this I’ve quickly figured that out and can move on.
2 – This is something I’m only slightly interested in, and by reading this it’s been enough to get the gist of it and why I sort of care about it but I’ll pursue it no further than this brief post.
3 – This is something I’ve discovered I’m very interested in, and by reading this I have discovered I want to know more and will check out the source material.
When writing I have to make sure the post satisfies all 3 groups. Also, the intros have to satisfy both RSS readers, front page snippet readers, mid-length blog readers, and people reaching the full article. 3 groups being presented 4 different introduction sizes. Not every intro is going to appease every reader with what was best for them.
If you want something as detailed as the source, it’s always the first link of a post.
That’s a long article?
Calling a one sentence explanation of a system that’s scarcely mentioned on the site it’s posted on is hardly what I’d call hand-holding. It’s written as if the typical reader is already familiar with the platform.
I had the same issue with all those product names that HaD like to throw around e.g. Arduino Duo whatever without mentioning what processors they are using. Even a 3/4 letter the family name like AVR, ARM, PIC, MIPS would be nice. They are just simple breakout boards, so the names have really no actual meaning for the reader that can design their own hardware. It is as if the readers are supposed to google or keep track of that.
We’ll get off your lawn now….
Another embarrassing article. One is a standalone design that can, optionally, be connected to a PC the other is a design (except one) that is entirely dependent on PC connection. Why is there a comparison of any sort? Drawing comparisons like that is a waste of time and effort. Like comparing the merits of a full sized server to a Nintendo 3DS. At least the Apple vs PC yahoos are on the same plane, but this? This is utterly ridiculous.
Who gives a flip about development speed when you got so many other factors in play? If development speed is a major factor when choosing between these two platforms, you have business writing code.
Damn… bad edit, “you have NO business writing code.”
Bleh….
No, it’s fine as is. Many on the block will tell you that is a sad and absolute truth. :(
this is a pointless test. He’s comparing apples and oranges.
I’ve always know phigets to be generic I/O for PCs, and not necessarily targeted for hobbyists. I’ve seen them used for commercial products like museum displays that need a start button, or kiosks that need a coin changer or bill validator. They’re good for those applications in that you don’t need another microcontroller when you already have a full PC. And, they’re built pretty rugged, which helps explain the higher cost.
Worse than a pointless test, a heavily biased test. The actual time of wiring any of the circuits he showed is trivial. Any real world implementation of such simple circuits will be in the programming. He cheated by using libraries he already had around in Java. Similarly I could cheat if I were programming in C, C++. Note that the actual size of the arduino programs was always smaller. In addition, for such simple circuits on the arduino there were no complex call backs or heavy dependence upon objects. Not to knock objects, they are easily available in the arduino world as well, but they are not manditory when not needed. In addition the first two projects had him opening a serial port which he did not really need. (the pedometer was the exception here.) The actual cost of the Phidgets includes the cost of the PC since the product will not work without it. This is not to say that phidgets do not have value. Phidgets support many languages. For a person who only knows a single language and is not willing to learn a new one and wants to turn on a few lights from a dedicated machine or over a dedicated network, the advantages are obvious. But for building wearables, robots, drones, or anything requiring specialized hardware the arduino has many advantages. Similarly I would not criticize Legos. They are great and occupy the same kind of environment in the world of physical construction tools that phidgets do in the world of programmables, but they are seriously lacking for most serious construction projects. Phidgets are like Legos of the automation maker world.
Thanks for the analysis and comparison. You’ve certainly summed up the points quite nicely, and that’s an interesting comparison of Phidgets to Lego. There are a lot of tools out there, and users just have to compare them and decide what they want to accomplish and what will work best for them.
And compared to Gadgeteer, sorry Arduino and Phidgets are both eating buckets of dust for just a couple of bucks more then the Arduino setup and certainly a lot less then Phidgets.
Test 1 Blink an LED
Arduino 1:44 $24
Phidgets 1:11 $80
Gadgeteer 0:56 $33
Test 2 Move a Servo
Arduino 6:07 $24
Phidgets 3:20 $127
Gadgeteer 1:22 $45
Test 3 Pedometer
Arduino 13:45 $31
Phidgets 10:15 $150
Gadgeteer 5:24 $39
http://blog.ianlee.info/2015/01/gadgeteer-vs-arduino-vs-phidgets.html
https://www.youtube.com/watch?v=CCJu-aNdECg
I recognize that all these tools have their place, but I’ll try to make a constructive, non-Arduino-hating case for using the chips directly and learning Assembly (prices from memory and in USD).
Blink an LED with Attiny: $0.93
Servomotor controller (Atmega, including serial interface): $5
Pedometer depends on exact design, but under 5$ should be easy.
Everything works on any platform that can run Linux or Windows and probably other things, you’re not tied to a single chip or three and you have access to all chip features (some have a lot of cool settings), and the manufacturer has a reasonably good emulator available for free that runs under wine (Last I checked. Use version 4, newer one is bloated I find).
I buy DIP sockets ($ 0.07) for the chips so I can reuse them in other projects, and generally desolder any other costly pieces from failed projects.
This approach also allows a lot of miniaturization, even on perfboard. It’s not hard to learn (there aren’t many commands in assembly), although the community is much smaller and “just read the datasheet” is commonly heard.
Then again, “just read the datasheet” is good advice regardless of platform. I always discover new features and get great project ideas this way.
As an added benefit, you’ll quickly learn how to reflash your friends’ Arduino using an ISP programmer if they break them, or want to build their own.
Finally, the Arduino crowd at hackerspaces will think you’re odd for being “that guy/girl who writes assembly”, and the conversations that come up about what’s the best approach for a particular project are actually quite interesting/constructive, providing you’re not some sort of troll (or worse, a grammarphile).