4 keys to getting electronics help for your project
When describing a person, do you ever use the phrase “their strength is their weakness?” That’s how I feel about Internet forums. The strength of forums is the collective knowledge of like-minded people, some with more experience than others. Sadly, that is also the weakness of Internet forums… Whether it is a topic-specific site like the EEVBlog Forum or an almost anything site like Reddit the strength/weakness holds true.
Lucky for us, most engineering-focus forums are a positive place to ask question and get electronics help.
If you ask better questions, you can get better answers. So, here are 4 proven tips to help ask better questions, when looking for electronics help.
1. Provide a schematic
Trying to explain how your circuit is connected together using only words is inaccurate and ineffective. Sometimes, just the act of creating a quick schematic can help you find an issue or forgotten connection. Even if these 5 suggestions on making a schematic seem like too much, especially the last one, at least provide a simple block diagram.
Making a schematic does take time. If you think you can’t afford the time, consider the following two images. Which is going to be easier for forum members to help you?
A hand written schematic compared to no schematic:
2. Post Your Code
If your project has a microcontroller, microprocessor or a script then post your code! This doesn’t mean give a snippet that says “the problem is here.” For over 15 years I’ve been helping people debug microcontroller code. I can’t think of a time when someone pointed to the right (wrong?) line.
For example, many new Arduino programmers quickly run out of RAM. They miss the key fact that their brand new Uno only has 2,048 bytes of memory available. Worse, they don’t realize adding more debugging Serial.print()s without the (nearly) hidden F() macro just makes the problem worse! So they’ll post the last line of code they added, thinking it’s the problem.
Now, when possible, simplify the code–as long as the problem continues then you can probably get a good explanation about why.
Use the right format
Depending on where you post, make sure you use the appropriate tags to display your code as–well–code. If in doubt use a service like pastebin.com.
(If you do use pastebin, please remember to turn on syntax highlighting!)
3. Explain what you expected
“It doesn’t work” is the most quite possibly the most useless description of a problem. The statement is incredibly vague to anyone that isn’t you. When you have an issue, instead, explain exactly two things:
- What you expected to happen.
- e.g. “The LED to Blink”
- What actually did happen.
- e.g. “The circuit blew up.”
You’d be surprised, but even the roughest description of these behaviors can be enough to help someone find your problem. The people on electronics forums trying to help are NOT mind readers. They don’t know what your project is trying to do, they don’t know your experience level and they don’t have a known good starting point. Which also means, they may not know the exact hardware you are using, so make sure you…
4. Include Links to Parts You’re Using
While a part or shield might seem popular or well-known to you, it is better not to take chances. Don’t assume everyone will know what the “SuperDuper ThermoShield 2000” is or how it works.
It’s best to include links where you bought it. Unless you bought it on eBay. In which case, you really need to get a schematic from the seller. Don’t settle for “it looks like this one on Adafruit.” That’s not good enough.
Of course, buying stuff on eBay is another topic in itself.
Lastly, Thank People for Helping!
First, if you solve the problem let people know what solved it. Someone else might be having the same problem and they’ll benefit from your experience. All (good) forums get indexed by search engines. When your solved issue gets picked up, it’ll help save someone else with a similar issue save time.
Second, help on forums is almost always a volunteer effort. Saying “Thank You” is the best reward you can give someone for lending you a hand. (okay, no it isn’t. Sometimes cash is, but this is the Internet, right?)
And don’t forget…
Along these lines, don’t be a jerk when the troubleshooting isn’t going your way. I spent a good chunk of time trying to help someone on the Arduino forums. We went through a number of troubleshooting steps. But I couldn’t figure what they were not telling me and we weren’t getting to an answer. Here was the last post in the thread:
Notice this was the 12th message? Talk about feeling like I totally wasted my time on this one. Fortunately, this was their last message on the forum.