If you are stuck, don’t spend days running around alone—ask for help. One of the best things about Arduino is its community. You can always find help if you can describe your problem well.
Get into the habit of cutting and pasting things into a search engine and see whether somebody is talking about it. For example, when the Arduino IDE spits out a nasty error message, copy and paste it into a Google search and see what comes out. You may have to put the message in quotes to prevent matching those words in random orders. Do the same with bits of code you’re working on or just a specific function name. If you get too many hits that aren’t useful, add the word Arduino to the search.
Look around you: everything has been invented already and it’s stored somewhere on a web page. I’m surprised how often something I think happened only to me turns out to be well documented on the Web, along with the solution.
For further investigation, start from the main website and look at the FAQ; then move on to the Arduino Playground, a freely editable wiki that any user can modify to contribute documentation. It’s one of the best parts of the whole open source philosophy: people contribute documentation and examples of anything you can do with Arduino. Before you start a project, search the Playground and you’ll find a bit of code or a circuit diagram to get you started.
(Consider paying the open source community back, by documenting a project you came up with or a solution you found that was not previously documented. There are many ways to publish your work: Arduino Project Hub, Github, Instructables, Facebook, Instragram, etc. – it really doesn’t matter how you publish, as long as you do, and document it as well as you can possibly manage with code, schematics, diagrams, etc. Don’t just post a teaser video of the project working – tell us how you made it!)
If you still can’t find an answer that way, search the Arduino forum.
After you’ve tried everything else, it’s time to post a question to the Arduino forum. Pick the correct board for your problem: there are different areas for software or hardware issues and even forums in different languages. If you’re unsure which board is appropriate, post in the Project Guidance board.
Compose your post carefully. Post as much information as you can, and be clear and thorough. Taking the time to clearly and correctly describe your problem is well worth it. This also shows that you’ve already done as much as you could by yourself, and aren’t relying on the forum to do your work for you. Here are some guidelines:
- Before you start, search for and read the post titled “General Guidance and How to use the Forum”
- What Arduino board are you using?
- What operating system are you using to run the Arduino IDE?
- What version of the Arduino IDE are you using?
- Give a general description of what you’re trying to do. Post links to data sheets of strange parts you’re using. Don’t clutter up your post with irrelevant information, such as the project concept or a picture of the enclosure if it doesn’t pertain to the problem.
- Post the minimal sketch and/or circuit (schematic diagrams are great for this) that shows your problem. (You found this when you were debugging, right?). The “How to use this forum” post shows you how to format code and include attachments.
- When you search the forum for existing help, pay attention to the culture, especially the types of questions that get good help versus the types of questions that don’t. You want to copy the style of those that work.
- Describe exactly what you think should happen, and what is happening instead. Don’t just say, “It doesn’t work.” If you get an error message, post the error. If your program prints output, post that output.
- Now that you’ve described your problem carefully, go back and revise the subject. You want a subject that summarises the technical issue, not the goal of your project (e.g., “pressing multiple switches causes short circuit” and not “help with control panel for rocket ship”).
- Never, never use phrases like PLEASE READ or URGENT!
Remember that the number of answers you get, and how quickly you get them, depends on how well you formulate your question.
Your chances increase if you avoid these things at all cost (these rules are good for any online forum, not just Arduino’s):
- Typing your message all in CAPITALS. It annoys people a lot and is like walking around with “newbie” tattooed on your forehead (in online communities, typing in all capitals is considered “shouting”).
- Posting the same message in several different parts of the forum.
- Bumping your message by posting follow-up comments asking, “Hey, how come no one replied?” or even worse, simply posting the text “bump.” If you didn’t get a reply, take a look at your posting. Was the subject clear? Did you provide a well-worded description of the problem you are having? Were you nice? Always be nice.
- Writing messages like “I want to build a space shuttle using Arduino how do I do that.” This means that you want people to do your work for you, and this approach is simply not fun for a real tinkerer. It’s better to explain what you want to build and then ask a specific question about one part of the project and take it from there. In addition to helpful answers, you might also get useful suggestions for your larger project.
- A variation of the previous point is when the question is clearly something the poster of the message is getting paid to do. If you ask specific questions, people are happy to help, but if you ask them to do all your work (and you don’t share the money), the response is likely to be less nice.
- Posting messages that look suspiciously like school assignments and asking the forum to do your homework. Professors like us roam the forums and slap such students with a large trout. Forum regulars are also good at spotting these.
Leave a Reply