Question:
Mon projet open source doit-il être basé sur Arduino pour réussir?
stbtra
2010-12-01 04:10:55 UTC
view on stackexchange narkive permalink

Je me demande quel micro-contrôleur utiliser pour un nouveau projet matériel open source. En ce qui concerne les spécifications, je préférerais utiliser un ARM Cortex M3, qui est à un prix similaire à une solution basée sur Arduino (avr) mais avec plus de puissance de traitement / de périphériques. La seule préoccupation que j'ai avec le matériel ARM est que je ne veux pas perdre des contributeurs / développeurs potentiels qui pourraient être découragés en travaillant avec ARM. Ou du point de vue de la concurrence - quelqu'un reproduisant le projet mais avec un arduino à la place (par exemple, Ardupilot dépasse Paparazzi)

Je me rends compte qu'il n'y a pas de réponse simple à cette question, mais j'aimerais entendre votre avis sur le sujet, et quels autres facteurs, selon vous, pourraient peser davantage sur le succès du projet.

Anecdote aléatoire: ZPM Espresso prévoyait d'utiliser Arduino, mais a abandonné et a utilisé un ARM. Ils ont également ~ 1-2 ans de retard sur leur calendrier Kickstarter.
@NickT Je pense que le principal problème de leur machine à expresso est le prix, pas le débat AVR vs ARM.200 $ est un prix insensé pour une machine généralement vendue entre 50 et 100 $.
Six réponses:
Toby Jaffey
2010-12-01 04:27:37 UTC
view on stackexchange narkive permalink

Je pense que cela dépend de qui vous essayez d'attirer. Avoir un dérivé Arduino qui peut être programmé directement à partir de l'IDE Arduino attirera les utilisateurs d'Arduino.

Mais, d'après mon expérience, l'utilisateur moyen d'Arduino n'est pas nécessairement un développeur expérimenté qui contribuera utilement à un projet. Bien sûr, il existe de nombreux utilisateurs experts d'Arduino, mais c'est un appareil destiné aux débutants.

D'un autre côté, le type d'utilisateur qui peut obtenir une chaîne d'outils et un débogueur pour ARM Cortex-M3 est également probablement capable de corriger vos bogues pour vous. Mais, il y en a beaucoup moins.

Je dirais - choisissez ce qui convient à votre projet. Si c'est bon, les utilisateurs s'impliqueront.

Je suis d'accord sur le fait que la plateforme n'est pas un problème majeur, un projet cool impliquera les gens, quelle que soit la plateforme.
Je suppose que vous avez raison en ce sens que les développeurs Arduino n'ont peut-être pas beaucoup d'expérience en programmation / débogage strictement embarquée, mais je pense que cela peut attirer beaucoup d'autres développeurs tels que les développeurs Web / Windows / Linux qui pourraient contribuer utilement au niveau de l'application. De plus, les développeurs ARM qualifiés ne seraient-ils pas un sous-ensemble de ceux qui souhaitent travailler sur une version Arduino?
@stbtra, Je connais de nombreux microcontrôleurs différents et me considère comme compétent, je n'utilise pas arduino. Je n'ai jamais eu besoin car on m'a appris à l'origine d'autres technologies et il n'y a pas d'avantage concurrentiel pour moi. Réponse courte, les développeurs ARM ne sont pas un sous-ensemble.
Pour moi, un ARM est préféré, mais cela dépend vraiment de ce que vous essayez de construire.
@pingswept, pas surprenant, mais je suis d'accord.
Nick T
2010-12-01 04:54:28 UTC
view on stackexchange narkive permalink

La façon de réussir un projet open source est de susciter l'intérêt des gens. Ce n'est pas parce que votre projet est open source que quiconque voudra y travailler (ou s'en soucier). Votre projet doit être intéressant au-delà de "oh, je connais [la langue] et j'ai la chaîne d'outils pour [l'environnement de développement]"

L'ingénieur produit en moi pense que ne pas pouvoir choisir entre Arduino (un sous-ensemble extrêmement limité des AVR) et ARM est un gros indice que vous ne savez pas vraiment ce que vous voulez faire; bien que je suppose que vous essayez de déterminer si vous voulez faire un compromis entre extensibilité et accessibilité?

Je suis d'accord sur le fait que la plateforme n'est pas un problème majeur, un projet cool impliquera les gens, quelle que soit la plateforme.
ARM * Cortex M3 * est une version micro-contrôleur d'ARM, il exécute les instructions THUMB et manque de choses comme un EBI / MMU. Je ne discute pas entre un AVR et un processeur spécifique à un processeur d'applications beaucoup plus puissant comme OMAP3 avec un arm926. pour votre référence: http://www.arm.com/products/processors/index.php
ARM est une classe complètement différente. Je veux dire, regardez ceci: "Le Cortex-M3 NVIC est hautement configurable au moment de la conception pour fournir jusqu'à 240 interruptions système avec des priorités individuelles, une redéfinition dynamique des priorités et une horloge système intégrée." ATMega328 a 2 interruptions pour comparaison.
@Matt C'est l'ARM Cortex NVIC * Core * que Keil concède sous licence. La plupart des implémentations n'utilisent pas les 240 interruptions. aussi si vous comptez toutes les sources d'interruption, l'avr a ~ 21. Dans tous les cas, je pense que la complexité du contrôleur d'interruption ne change pas la donne.
@stbtra: Oui, nous savons tous que ARM octroie des licences aux entreprises pour construire des contrôleurs. Notre point est que ARM est généralement un pas en avant même des AVR haut de gamme, et est * catégoriquement au-dessus * des AVR limités utilisés par les plates-formes Arduino.
AngryEE
2010-12-01 20:17:40 UTC
view on stackexchange narkive permalink

Vous ne pouvez pas vous limiter. Un ARM Cortex M3 peut faire quelque chose qu'un Arduino ne peut tout simplement pas. En fait, l'Arduino uC est l'un des processeurs les plus basiques / vanille / limités de la gamme AVR elle-même. N'entravez pas votre projet et vous-même juste pour essayer de gagner des adeptes. Si ce projet ne vous aide pas à apprendre et à étendre vos propres limites, je ne pense pas que cela en vaille la peine. Si vous avez dépassé l'Arduino, passez à autre chose.

dren.dk
2010-12-01 18:17:51 UTC
view on stackexchange narkive permalink

La réponse courte: Non.

La réponse plus longue: Eh bien ...

Une des principales incitations pour les développeurs externes à s'impliquer et à aider votre projet est le coût

Un Arduino est un matériel relativement coûteux et maladroit par rapport à un simple AVR, donc si vous construisez quelque chose qui est censé être en usage réel, utiliser un Arduino réel est une idée horrible.

Rendre un système compatible Arduino est une toute autre affaire, cela peut être aussi simple que de faire apparaître TXD, RXD et RESET sur un en-tête avec un brochage de câble FTDI et d'utiliser l'un des AVR que l'IDE Arduino prend en charge.

Les bricoleurs occasionnels pourraient alors utiliser l'IDE Arduino avec votre carte, tandis que les utilisateurs plus avancés pourraient utiliser le C pur et un fichier make.

Johan
2010-12-01 20:39:15 UTC
view on stackexchange narkive permalink

Une cible basée sur Cortex M3 n'a pas besoin d'être plus compliquée ... jetez un œil à Maple, une "copie Arduino" basée sur STM32. Pour programmer et déboguer, vous pouvez utiliser JTAG basé sur OpenOCD ou simplement utiliser le câble USB.

Et la réponse à votre question est, non, il n'est pas nécessaire que ce soit basé sur Arduino pour devenir un grand succès ....

l'armmite pro, comme l'érable, est un ARM avec une empreinte arduino.
XTL
2010-12-01 22:28:57 UTC
view on stackexchange narkive permalink

Je dirais qu'être un autre projet * * duino le rendra moins intéressant, mais il y a probablement un groupe de personnes qui ne se soucient que de cette plateforme ou qui y ont accès. Je pense que cela s'applique à beaucoup d'autres plates-formes.

Mon point de vue personnel sur le choix de plate-forme est que vous ne devriez pas vous soucier ou penser à la popularité. Si vous recherchez un projet, vous choisissez les outils qui vous conviennent et vous les utilisez.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...