18

Proposal: Arduino

As the proposal moves forward, we should get down to discussing the site basics and scope. In my opinion, some of the base areas that the site should cover are :

  1. Arduino Family (Uno, Mega, Fio, Lilypad, Nano, BT, Serial, and others)

  2. Arduino Derivatives (Freeduino, Paperduino, etc. ) (In the spirit of Open Source Hardware.)

  3. Software Tools (IDEs, plugins, libraries)

  4. Programming Issues(coding issues, algorithmic problems)

  5. Hardware Tools

  6. Basic Circuit Design Problems (Specifically involving Arduino)

  7. Circuit Component Issues (Parts that should be used with an Arduino)

  8. Hacks of the hardware platform, and/or extending the boards.

  9. Hacks through the software platform

  10. Projects and applications using Arduino (Ideas, Advice, Guidance in specific issues or problems including design)


Even though a large part of the community will be beginners, tutorial and book questions should/will not be answered (as is SE policy) unless they are about a very specific and/or obscure domain.

I think the best way to guide people to good resources will be through the Tag Wikis. Linking the best tutorials and or books in the Tag Wiki's will greatly enhance the site experience for beginners' and intermediate users' alike.

Also, Tag Wikis beyond the basic tags should be extended specifically, the more domain-specific tags, something which is missing in most sites within the network.

  • It seems to be that if you were to trim to the user side, where the electronics problems would be more left to EE.SE it would match what others are saying about askubuntu and unix. This site maybe would focus on end users whom are not going to get into the gritty design side and EE.SE would be the path if you wanted to start doing your own development? Just a thought. – Kortuk Feb 14 '13 at 6:26
  • @Kortuk This is just a rough sketch. Once we reach commitment, there will be lots of cuts and changes. – asheeshr Feb 14 '13 at 6:34
  • @Kortuk What do you mean by "gritty design" side ? More specifically, which points do you think should be trimmed/cut ? – asheeshr Feb 19 '13 at 16:35
  • the issue is that if you wait for commitment to finish you might still duplicate. To be separate from our site you really need to trim out what we cover in our FAQ. – Kortuk Feb 19 '13 at 16:50
  • @Kortuk I meant once commitment starts, not when its over. I will have a look at the FAQ. – asheeshr Feb 19 '13 at 16:54
  • and I do just mean it as a helpful suggestion, it seems to be something that would match up with what Shog has said. – Kortuk Feb 19 '13 at 17:59
  • @Kortuk I was going over EE FAQ, and there are quite a few things that are not clear to me (maybe because of my limited EE knowledge). How about continuing this in chat ? – asheeshr Feb 19 '13 at 18:02
  • Always feel free to talk to me in chat about anything, you dont need to ask. – Kortuk Feb 19 '13 at 18:04
  • I disagree with number 7 "Circuit Component Issues (Parts that should be used with an Arduino)" Most SE FAQs have rules about no shopping lists. I think this falls under "shopping lists" because they are asking what to buy. Am I missing something? Otherwise this proposal is great! – Anonymous Penguin Mar 29 '13 at 22:00
  • @AnnonomusPerson There are many questions inn which a user may not know which part to use either due to lack of knowledge, or maybe may have some idea, but is not able to understand the data sheet and which may better suit his application. This is similar to recommending libraries to use, or software - recommendations on AskUbuntu, both of which are considered perfectly valid questions by the respective communities. – asheeshr Mar 30 '13 at 9:47
3

In the last month I have been part of several discussions on the perceived (or potentially perceived) overlap between this proposal, the Arduino StackExchange, and two other sites, Electronics StackExchange, and Stack Overflow.

Many of these discussions have ended up being more agitated than is required, because of a perception that Arduino.SE will cannibalize the membership of those two sites, especially EE.SE.

In the past, at least one Arduino.SE proposal went through the defined proposal process, succeeded, and then was deleted by the management despite following the process through, on the perception that it was a duplicate or a perfect subset of what Electronics.SE already covers.

In order to crystallize this proposal better, thereby enable it to go live without management intervention and finally drive it to success, I propose some changes to the proposal charter to explicitly define who the audience will be, and what areas will not be covered but will be pushed over the fence to the two other stacks mentioned.


To set context, from the official Arduino charter:

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.

Notice that there is neither mention of Electronics / Electrical Engineers, nor of Software Engineers. The platform wasn't designed for them to play with, but they're more than welcome to contribute to the platform, or use it with their technical purist hats off, is my view.

Another useful context building exercise, which each must do for themselves, is to scan through the nature of posts, especially new user questions, that have appeared on the Arduino.cc forums, a very vibrant and helpful community. Scanning Arduino tagged questions on Electronics.SE or StackOverflow is not statistically meaningful, since the bulk of the 'duino people out there aren't really finding succor in our Stacks yet.

This context needs to be reflected in the charter of this Arduino.SE proposal, by editing it to make clear that Arduino.SE will be a site for the users of Arduinos and associated products, and not creators of such products (the EE crowd) nor the professional programmers in the Arduino ecosystem (the SO crowd).

This will be a USER site, with the same distinction that AskUbuntu stack has from the Unix and SuperUser stacks. Are there not overlaps between those? Sure there are, but the respective communities try to nudge newcomers towards the appropriate stack, rather than trying to hold on to every question and every new member greedily. This will come to happen with Arduino.SE as well.

The related thing that needs to happen, to be able to successfully distinguish this site as being not a subset of EE.SE or SO is to remove those example questions on the proposal, that fit neatly into either of those remits.

Yes, there are some sample questions which are kind-of in the grey area: While removing those will make the success of this proposal a safer bet, letting them be has merit too. The classic issue of a programmer or an EE forcing their technical viewpoint down the throat of an Arduino user who frankly isn't interested in getting so deep, is reflected in those questions. Those who come to Arduino.SE, and a huge percentage of those currently active on Arduino.cc and other Arduino forums, aren't here looking to be "saved" or evangelized at.


Areas of perceived conflict:

  1. Electronics.SE, to start with... From the FAQ:

    This site is for electronics and electrical engineering professionals, students, and enthusiasts. We ask and answer questions about electrical and electronics engineering topics, which include electronics, physical computing, and those working with microcontrollers, Arduinos and embedded systems.

    Notice that the Arduino is explicitly mentioned, not any of the several other embedded systems development platforms. This indicates that the FAQ writers had a strong desire to capitalize on the pop-culture success of the Arduino; giving that up is neither going to be easy, nor should it be required.

    But wait! The solution lies in the same FAQ, see the next line:

    We feel the best Electronics Design questions have a schematic, links to pertinent datasheets or some C code in them, but if your question generally covers …

    • a specific electronics design problem
    • the theory and simulation of electromagnetic forces
    • a communication scheme
    • the writing of firmware for bare-metal or RTOS applications

    Clearly, the "typical Arduino user" as specified in the charter quoted above, is not expected to be familiar with schematics and datasheets, but maybe with C-like Arduino code.

    Also, the majority of these users aren't burning up the internet with specific electronics design problems, or much of the other 3 bullets either.

    At this point the discussion usually boils down to either

    • "But they have to learn this EE stuff"
      • *Nonsense, do you have to learn automotive engineering to drive your car, or even to get it modded or race it?*
    • "But what if they then have EE design questions?"
      • Agreed, see the concluding portion of this post
    • "But without an engineering orientation, they are mere mouth-breathers! We must help them improve!"
      • Sounds like "We must save their souls!", precisely the kind of evangelism that alienates the kind of people named in the Arduino.cc charter

  1. StackOverflow... From their About page:

    Stack Overflow is a question and answer site for professional and enthusiast programmers. ... we're working together to build a library of detailed answers to every question about programming.

    In this case too, the possibilities of conflict are seemingly evident at a cursory glance. However, I entreat you to go through the context-building exercise mentioned earlier, go visit the Arduino.cc forums.

    The actual questions about programming are a small subset of the entire community activity set. There's more of "where to I find code to do X" and high-skill copy-paste action. Those latter aren't the kind of questions SO really wants anyway.

    For actual programmers and programming, the SO community is enough of a lure that their chance of losing membership and desirable questions to Arduino.SE is laughably small.

    The "typical Arduino user" as per charter more often than not has neither the background nor the interest to engage in heavy duty programming. Their needs are those of a practitioner, rather than a programmer.

    My favorite metaphor in this situation is of people using computers for their day-to-day jobs, for playing games, and for helping their children learn: While they could have the ability, and / or the desire, to assemble their own PC, or even rewrite a device driver or two, the majority are never going to go there. If a problem on their computer isn't solved by clicking through a wizard, they'll just call in the cavalry and move on with their lives.

    So we have the usual questions:

    • "But what if they then have programming questions?"
      • Agreed, see the concluding portion of this post
    • "But they have to learn programming"
      • No, the majority of Arduino users get by fine with copy-paste skills
    • "But without programming skills, they are mere mouth-breathers! We must help them improve!"
      • Go away

Will there be an exodus from existing sites?

So will the Arduino enthusiasts who are demonstrably valuable in the EE.SE and SO worlds move to Arduino.SE, abandoning those respective sites? No, that is neither the expectation nor will be the reality. For a point in evidence, see the active users on Robotics.SE. Many of them are also active on EE.SE, and some on SO. However, note their activity history:

Some of them ask questions on Robotics.SE while actively answering pure EE stuff on EE.SE, others are active problem-solvers on Robotics.SE because of their specialized knowledge, and both ask and sometimes answer questions on EE.SE. The same situation prevails, albeit to a much smaller degree, between SO and Robotics.SE, or for that matter between SO and EE.SE.

None of those sites saw a mass exodus when the newer site went live, it is odd to think this would happen when Arduino.SE comes up, unless there is already strong dissatisfaction with the overall environment and mood on the older sites. If this last is true, such dissatisfaction needs to be solved on those respective sites through positive action; blocking an escape route to refugees by denying a new avenue hasn't worked outside of absolutist dictatorships, for a long time. The Internet doesn't work that way, if a SE site is untenable, people will simply find or form an alternative elsewhere with a more amenable environment.


Handling the overlaps

Some Arduino users will graduate to getting heavily engaged in electronics design; That is what makes the Arduino interesting to me, as a "gateway drug" to enthuse young beginners into the field of electronics. Those people then need to be encouraged to participate in EE.SE, rather than keep their questions in Arduino.SE.

Sure, even greater percentages of Arduino users will graduate into medium to advanced programming, going by people and posts on Arduino.cc. Those people then need to be encouraged to participate in StackOverflow.

Similarly, if either of those two stacks see a question that is of user level, rather than engineering grade, they need to push those over the fence to Arduino.SE

If some of the Arduino users begin to believe that they are automatically EEs, or automatically programmers, let them. That won't cause the sky to fall on our heads. After all, so many people believe that they're "different"... It keeps the psychoanalysts in business, but doesn't shatter the fabric of the universe.

  • 3
    Anindo, excellent appraisal of what the focus of this site should be. Although I am a programmer by profession (and use SO.SE) and an electronics hacker by inclination (and lurk in EE.SE), my Arduino use and questions are more likely to tend towards 'Has anyone got, know the location of, a sketch for using an XYZ sensor by ABC' rather than 'How does an XYZ sensor work, I have written this sketch but it fails at line N'. Later I may want to understand better how sensor XYZ works and how to fit it correctly into an overall design, and problems at that point may be better directed at EE.SE. – Paul Kay Mar 20 '13 at 11:51
  • Excellent summary. raspeberryPi gets its own site when almost all the questions are simply linux. This is a vey good arguement why Arduino isn't just another embedded uC – Martin Beckett Apr 6 '13 at 14:30
10

As a relatively active user of EE.SE, I definitely support the creation of a separate Arduino site. The problem, as I see it, is that Arduino users, their projects and their questions are not a good fit for either EE or SO.

Arduino is a highly-constrained, artificial environment for putting together embedded computer projects. The whole point of Arduino is to hide the low-level details of both the hardware engineering and the software engineering in order to allow its users to focus on the higher-level functionality.

The hardware platform is very limited. It's really just a chip mounted on a board with a few common support components (power regulator, crystal, programming interface) thrown in to make it self-sufficient at a very basic level. There is a set of "shields" for specific peripheral functionality that have been designed to work within the limitations of the base board. Arduino users are not expected to be able to design shields, but rather to use them. It requires some real electrical engineering to design a new shield.

Similarly, the software development environment is similarly limited. Libraries are provided that give a user high-level access to features of the microcontroller itself, and shield suppliers typically supply software modules to support their shields in a similar manner. But in order to develop anything not already supported requires real software engineering, to "break out" of the Arduino "sketch" paradigm to create a new library module.

The point is, the kinds of electronics questions that Arduino users ask are specific to the constraints of the Arduino hardware platform, and can't be answered the way a "general" EE question would be answered. I see a lot of these questions on the EE site. Not everyone answering them understands the constraints of the platform, and it seems that the users asking the questions simply get confused and frustrated by the irrelevant information they receive.

Similarly, the kinds of programming questions they ask are specific to the Arduino software development environment and can't be answered in the manner of "general" software engineering. I can only imagine that Arduino users on the SO site often end up with the same kind of confusion and frustration there.

So, I feel that Arduino questions need to be asked and answered in an Arduino-specific environment. For the vast majority of Arduino users, this is all they will ever need. Some users, however, will eventually want to migrate to more general electrical and/or software engineering, and they will naturally expand their scope to include the EE and SO sites at that time.

  • I think this also covers this issue -> discuss.area51.stackexchange.com/questions/9084/… – asheeshr Feb 8 '13 at 8:58
  • So where would Android Arduino questions fall? I assume it would depend on whether the question was hardware- or software-related? – SSumner Feb 11 '13 at 18:32
  • I think "specialized" is a better word than "constrained", but I agree. – Phil Frost Feb 14 '13 at 14:59
  • 2
    "Arduinos make simple things easy and complex things more difficult." Somebody on EE.SE had posted this [accurate] characterization of Arduinos. [Can't seem to find that EE.SE thread.] – Nick Alexeev Feb 15 '13 at 8:59
3

I quickly moved from Arduino Uno to directly programming ATtiny processors - would this be within the scope of the proposal? I'd say that the "Arduino platform" involves anything that can be programmed with the Arduino IDE.

About the difference between arduino.SE and electronics.SE: maybe it would be similar to the difference between askubuntu.com (ubuntu.SE) and unix.SE: there is a large overlap, but the former is more user-oriented and the latter is more for people that want to know all the background and foundations.

  • 3
    I think the ubuntu and unix analogy is right on. At the point you decide you want to read the datasheets, learn Ohm's law, draw good schematics, and do all the other things a basic EE would do, then you move to EE. You sound like a person that learned Arduino as a step to EE. The problem is many people learn Arduino thinking it is EE, and then get frustrated when the real EEs write them off as in the wrong place. Just because something uses electricity doesn't make it electrical engineering. Separate sites solve this problem. – Phil Frost Feb 14 '13 at 15:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .