Posted by Chris Anderson on December 30, 2009 at 12:00am
A fun analysis by Sparkfun on the world domination of Arduino over the past couple years. More people are searching for it than even the once-dominant Microchip (maker of the PIC chips). No wonder that Sparkfun reports that: "Microchip wanted to meet with us because they were interested in creating an 'Arduino' like board using a PIC processor. Microchip finally began to understand what it means to get people early, and using their hardware, and Microchip was sensing (rightfully) that they were losing market share to this thing called Arduino. "
Arduino is like "from people" while PIC is from a company.
I still like the Microchip Brutus downloader and IDE.
It gives a sense of the board being alive from the start while Arduino boards seem like dead before you actually upload something.
If one gets the protocols right, then the implementing hardware is far less important, as it would becomes (relatively) trivial to replace one component with another - for example, almost any GPS unit can be used because the protocol is standard. If - and this has yet to occur, but if standards existed for the other components, (such as servocontroller/failsafe, IMU/IR, mission controller) and assuming these sub systems were modularized, then mix-n-match becomes a reality.
With respect to improvements in "performance" I wonder if more power is better than more sub-systems. If the IMU had its own mcu, (and gps connector), then the IMU could be a complete location estimator, and there is a logical end to the feature set; likewise, if servo control is an isolated board, then 4 channels per board is a finite computational problem - and an unlimited topology.
Under the current scheme of adding features to a single process, every feature is compromised by the addition of the latest feature, as timeslices are divided by more and more demanding subroutines.
My suggestion to everyone who thinks that Brand X microprocessor would be better is always just "go for it!". That's why this is open source. Start the port.
Once they realize what that actually entails, we never hear from them again ;-)
I feel like PICAXE has a place for small "quick and dirty" servo or sensor interfacing projects. See
My initial comment came from the desire for Microchip to get in on the Open-Source revolution. I agree with Chris in that the peculiarities of PIC development (as-is) would make it difficult for them to compete in this space.
I see this is evolving as any other classic AVR vs PIC vs ARM thread, at 20% progress. Now when all the actors are in place (see thread reply count) we are waiting for one troll to start Mutual Assured Destruction.
The critical mass is here.
"In short, it would only be worth it for a 10x improvement in performance."
And now you are toast. Somebody will pop with some Moototrolla at 320MIPS with oh so perfectly open Linux. Or Parallax Propeller.
Maybe you could avoid defining decision conditions as dependent on marketing terms (like MIPS) of the companies you are not controlling ;-)
Aloha.
Seriously, as long as you use no more than 50% of resources (ram, flash) you are safe.
A little more than that and complexity and usage grows uncomfortably fast (months).
I certainly agree with you there re floating point maths.
I follow PICAXE, and have found them very easy to use.
I don't believe in giving negative impressions on any subject as others who have not familiar with it, may follow your exclusive advise/ideas and avoid them without a personal experience.
At work I made a complete GPS tracker sending info via a satellite modem, all done in BASIC using PICAXE.
The only reason I use PICAXE is for the fact that it uses BASIC, which I can read and follow.
I tried C but got lost in it.
I do see a need to learn C though, and Arduino based projects certainly appear very capable. I just can't read the language(!!) yet!
I do like Space Nut's idea of being able to program in BASIC and using Arduinio hardware though.
Converting ArduPilot to run another chip is not just a matter of a one-time software port. It would also require designing a new board, which is compatible with all the ArduPilot hardware, or reinventing the entire hardware ecosystem from scratch (including developing production facilities and an ecommerce arm to distribute it). And then the team would have to keep up with all the evolutions of the project, to remain compatible with ground stations and the like. It's basically several man-years of work and tens of thousands of dollars, which would only have the effect of losing all the community benefits of the Arduino project.
In short, it would only be worth it for a 10x improvement in performance.
I started with Picaxe, but found that the official forum and community was small and stagnant. Also, RevEd, who own the Picaxe bootloader, have not implemented "advanced" maths functions like sin, cos, etc. To get that capability requires an additional chip
Comments
I still like the Microchip Brutus downloader and IDE.
It gives a sense of the board being alive from the start while Arduino boards seem like dead before you actually upload something.
With respect to improvements in "performance" I wonder if more power is better than more sub-systems. If the IMU had its own mcu, (and gps connector), then the IMU could be a complete location estimator, and there is a logical end to the feature set; likewise, if servo control is an isolated board, then 4 channels per board is a finite computational problem - and an unlimited topology.
Under the current scheme of adding features to a single process, every feature is compromised by the addition of the latest feature, as timeslices are divided by more and more demanding subroutines.
My suggestion to everyone who thinks that Brand X microprocessor would be better is always just "go for it!". That's why this is open source. Start the port.
Once they realize what that actually entails, we never hear from them again ;-)
My initial comment came from the desire for Microchip to get in on the Open-Source revolution. I agree with Chris in that the peculiarities of PIC development (as-is) would make it difficult for them to compete in this space.
The critical mass is here.
"In short, it would only be worth it for a 10x improvement in performance."
And now you are toast. Somebody will pop with some Moototrolla at 320MIPS with oh so perfectly open Linux. Or Parallax Propeller.
Maybe you could avoid defining decision conditions as dependent on marketing terms (like MIPS) of the companies you are not controlling ;-)
Aloha.
Seriously, as long as you use no more than 50% of resources (ram, flash) you are safe.
A little more than that and complexity and usage grows uncomfortably fast (months).
I follow PICAXE, and have found them very easy to use.
I don't believe in giving negative impressions on any subject as others who have not familiar with it, may follow your exclusive advise/ideas and avoid them without a personal experience.
At work I made a complete GPS tracker sending info via a satellite modem, all done in BASIC using PICAXE.
The only reason I use PICAXE is for the fact that it uses BASIC, which I can read and follow.
I tried C but got lost in it.
I do see a need to learn C though, and Arduino based projects certainly appear very capable. I just can't read the language(!!) yet!
I do like Space Nut's idea of being able to program in BASIC and using Arduinio hardware though.
In short, it would only be worth it for a 10x improvement in performance.