{"id":4259,"date":"2020-04-29T20:00:31","date_gmt":"2020-04-29T18:00:31","guid":{"rendered":"https:\/\/msalamon.pl\/?p=4259"},"modified":"2025-12-27T17:28:24","modified_gmt":"2025-12-27T16:28:24","slug":"how-to-ask-for-help-with-embedded-programming","status":"publish","type":"post","link":"https:\/\/msalamon.pl\/en\/how-to-ask-for-help-with-embedded-programming\/","title":{"rendered":"How to Ask for Help with Embedded Programming?"},"content":{"rendered":"\n<p>Everyone who programs microcontrollers will sooner or later run into some problems along the way. More experienced people will first try to find a solution on their own. What if you\u2019re a beginner and you don\u2019t know what to do with your problem? It\u2019s best to ask colleagues with more experience. How do you ask for help properly to increase your chances of success? I\u2019ll give you a few tips.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h1 class=\"wp-block-heading\">It doesn\u2019t work. Help!<\/h1>\n\n\n\n<p>Most often the problem is incorrect operation\u2014whether of the program, some component, or a complete lack of operation. From my observations, it seems that beginners love to copy various tutorials from the internet without thinking. If one doesn\u2019t work, I\u2019ll try another. If not the second, then the third, and so on.<\/p>\n\n\n\n<p>Without experience, we often don\u2019t know why those tutorials don\u2019t work for us. We aren\u2019t able to assess whether the mistake is on the author\u2019s side or ours. I\u2019d boldly say that more often the mistake is on the side of the person reproducing the tutorial.<\/p>\n\n\n\n<p>However, sometimes it may happen that the tutorial is outdated. Software and even libraries are constantly changing. The author of such a tutorial may not be able to maintain it for every new release of the libraries. It\u2019s good if the tutorial provides the library versions. I do this with every described component.<\/p>\n\n\n\n<p>What if, after searching through a few tutorials, we still haven\u2019t achieved the expected result?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Time to ask for help<\/h2>\n\n\n\n<p>There comes a moment when you need to ask for help. Where should you ask?<\/p>\n\n\n\n<p>You can use internet forums. They used to be a very popular place for discussion and still have many supporters. Every problem has its own separate topic, so it\u2019s easy to search, ask, and help others. Before you start your own thread, you can quickly search to see if someone hasn\u2019t hit a similar wall. I often browse forums myself, but unfortunately I don\u2019t participate in them.<\/p>\n\n\n\n<p>However, the form of an internet forum doesn\u2019t quite fit today\u2019s world. Facebook&nbsp; and other Social Media have accustomed us to asking a question quickly and getting a quick answer. You could classify this as so-called <em>instant gratification<\/em>, which is incredibly addictive for humans. We need everything here and now. There\u2019s no time to search through dozens of topics on a forum.<\/p>\n\n\n\n<p>We ask questions quickly, without doing our own research, expecting immediate answers\/help. This has its advantages, because if someone knows the answer, they can reply right away and the problem is gone. However, certain conditions must be met, which we forget about in this rush, thus lowering our chances of getting help.<\/p>\n\n\n\n<p>What should you include in such a request for help on Social Media? I\u2019ll list a few that I consider the most important.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Write what your problem is \u2013 RIGHT AWAY<\/h2>\n\n\n\n<p>I often see people who want to ask for help but don\u2019t say what problem they have. Imagine that in our Facebook group SMT32 Polska someone asks:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Has anyone programmed the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f103c8t6-dev-board-2\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=proszenie_o_pomoc&amp;utm_content=Text\">STM32F103C8T6<\/a>?<\/p>\n<\/blockquote>\n\n\n\n<p>or<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Has anyone used the <a href=\"https:\/\/sklep.msalamon.pl\/?s=ds18b20&amp;post_type=product&amp;utm_source=blog&amp;utm_medium=article&amp;utm_campaign=proszenie_o_pomoc&amp;utm_content=Text\">DS18B20<\/a> sensor?<\/p>\n<\/blockquote>\n\n\n\n<p>Believe me, I see posts like this often in various Facebook groups. Something gets to me when I see this kind of \u201cpoke\u201d for help.<\/p>\n\n\n\n<p>What does this question tell us? Basically nothing specific. Maybe someone is gathering data for their master\u2019s thesis about how many people in a given group wrote software for these chips?<\/p>\n\n\n\n<p>Usually it turns out that it\u2019s exactly this kind of \u201cpoke.\u201d What kind of answer can they expect under such a question? Most often \u201cYes,\u201d \u201cNo,\u201d \u201cWrite what your problem is!\u201d Later we hear how bad the Facebook group is because it nitpicks instead of helping.<\/p>\n\n\n\n<p>If someone gets interested and asks what\u2019s going on, only then does the real problem appear in the thicket of comments. That\u2019s already too late! And what if the person who asked had time to respond only then? They might not answer a second time\u2026<\/p>\n\n\n\n<p>Additionally, such a description in a comment is in the wrong place. People scrolling their Facebook feed don\u2019t see the essence of the problem, which is already in the comment, but only the \u201cstupid\u201d question and may skip the post. Facebook also doesn\u2019t always show all comments by default after expanding.&nbsp;<\/p>\n\n\n\n<p>It ends with the problem description getting lost in a thicket of jokey comments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Describe what you have on the table<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/sklep.msalamon.pl\/kategoria-produktu\/dev-boardy\/stm32-nucleo\/?utm_source=blog&amp;utm_medium=banner&amp;utm_campaign=proszenie_o_pomoc&amp;utm_content=nucleo\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"400\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2020\/07\/Nucleo-64-baner.jpg\" alt=\"\" class=\"wp-image-1593\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2020\/07\/Nucleo-64-baner.jpg 1200w, https:\/\/msalamon.pl\/wp-content\/uploads\/2020\/07\/Nucleo-64-baner-300x100.jpg 300w, https:\/\/msalamon.pl\/wp-content\/uploads\/2020\/07\/Nucleo-64-baner-1024x341.jpg 1024w, https:\/\/msalamon.pl\/wp-content\/uploads\/2020\/07\/Nucleo-64-baner-768x256.jpg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>Just writing that you\u2019d like to use a sensor is not enough. We need to know what you have on the other side. There are lots of STMs and other microcontrollers. Some may have hardware or library bugs. It will also be easier to navigate the problem.<\/p>\n\n\n\n<p>Write exactly which microcontroller and which board you are using. Maybe a breadboard? Maybe your own PCB?<\/p>\n\n\n\n<p>Are you programming on registers, Arduino, or with other libraries? These are very useful pieces of information.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Write what is happening<\/h2>\n\n\n\n<p>This is probably the most important point and is strongly connected to the next one. Nothing annoys other people more than reading tea leaves. Write clearly what the problem is. A general sentence like<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>The sensor doesn\u2019t work<\/p>\n<\/blockquote>\n\n\n\n<p>is pointless. What doesn\u2019t work about it? Is it not visible on the bus? Does it not return the correct ID? Or maybe there is some communication, but the returned values are wrong?<\/p>\n\n\n\n<p>Such information will immediately guide the potential helper.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Write what you\u2019ve done so far<\/h2>\n\n\n\n<p>I often see something like<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>I connected it and it doesn\u2019t work<\/p>\n<\/blockquote>\n\n\n\n<p>What and where did you connect? Write it down, and preferably paste a schematic of how you connect the chip. Often the mistake lies here. Perhaps you\u2019re just missing some pull-up?<\/p>\n\n\n\n<p>More than once it happened that someone with a problem connected to I2C2 while writing code for I2C1 \ud83d\ude42 Make sure you are using the same interface you are connecting to.<\/p>\n\n\n\n<p>Also, when working on a breadboard, we can\u2019t trust it 100%. Maybe some wire isn\u2019t making contact. You must double-check several times that you have connected the circuit before you ask for help.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>I\u2019m following a tutorial and it doesn\u2019t work<\/p>\n<\/blockquote>\n\n\n\n<p>Which tutorial? Paste a link to the tutorial. Write what the results are. Something must be happening. Maybe there\u2019s a discrepancy only at some step. Or maybe someone knows this tutorial and knows whether it works or doesn\u2019t.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Post your code<\/h2>\n\n\n\n<p>The code you use is very helpful. If you can (and often you can), send a piece of code that has the problem. The best would be only the part where you sense a potential bug.<\/p>\n\n\n\n<p>Don\u2019t know where the problem might be? Post the whole project.<\/p>\n\n\n\n<p>Just <strong>NOT IN A COMMENT on Facebook, but on <a href=\"https:\/\/pastebin.com\" target=\"_blank\" rel=\"noopener\">Pastebin<\/a><\/strong>. The code must be readable to analyze it. Remember that a person who doesn\u2019t know your code needs time to get oriented in it\u2014especially if it\u2019s written carelessly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">No experience? Admit it!<\/h2>\n\n\n\n<p>Don\u2019t know what you actually did? Write explicitly that you\u2019re a beginner and you don\u2019t know what\u2019s happening with your circuit.<\/p>\n\n\n\n<p>Then other people will approach you without bitterness. Unfortunately, more experienced people often want everyone to be at their level and treat others accordingly. Writing that you\u2019re a beginner will change their attitude from the very beginning. They\u2019ll be more understanding and calmly explain what you need to check.<\/p>\n\n\n\n<p>If you\u2019re missing some basics \u2013 they\u2019ll explain them or point you to the right place.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>I haven\u2019t covered the topic of \u201chow to ask for help\u201d completely. You could write books about it, and still every crisis situation is different.<\/p>\n\n\n\n<p>Asking for help generally comes down to proper communication. A clear, detailed description of the problem and the troubleshooting steps is what increases your chances that someone more experienced will help you.<\/p>\n\n\n\n<p>Respect your time and the time of others. Write immediately and specifically. We live in fast times, so when using fast media, a potential helper doesn\u2019t have time to sit over your post, pulling information out of you by force.<\/p>\n\n\n\n<p>Finally, I wish you as few problems as possible, and if they do appear, that you describe them well \ud83d\ude42 You will certainly find helpful people in our group <a href=\"https:\/\/www.facebook.com\/groups\/435508190128252\/\" target=\"_blank\" rel=\"noopener\">STM32 Polska on Facebook<\/a>.<\/p>\n\n\n\n<p>An example of thanking for help. A colleague communicated very clearly what problem he had and cooperated with many people helping. It really makes you want to help \ud83d\ude42<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"563\" height=\"960\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2020\/04\/93353246_628802721309326_3516115061800173568_o.jpg\" alt=\"\" class=\"wp-image-1497\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2020\/04\/93353246_628802721309326_3516115061800173568_o.jpg 563w, https:\/\/msalamon.pl\/wp-content\/uploads\/2020\/04\/93353246_628802721309326_3516115061800173568_o-176x300.jpg 176w, https:\/\/msalamon.pl\/wp-content\/uploads\/2020\/04\/93353246_628802721309326_3516115061800173568_o-14x24.jpg 14w, https:\/\/msalamon.pl\/wp-content\/uploads\/2020\/04\/93353246_628802721309326_3516115061800173568_o-21x36.jpg 21w, https:\/\/msalamon.pl\/wp-content\/uploads\/2020\/04\/93353246_628802721309326_3516115061800173568_o-47x80.jpg 47w\" sizes=\"auto, (max-width: 563px) 100vw, 563px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;4259&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;0&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;How to Ask for Help with Embedded Programming?&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Everyone who programs microcontrollers will sooner or later run into some problems along the way. More experienced people will first try to find a solution on their own. What if you\u2019re a beginner and you don\u2019t know what to do with your problem? It\u2019s best to ask colleagues with more [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3436,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[160],"tags":[175,178,176,174],"class_list":["post-4259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-stm32","tag-electronics","tag-kursstm32","tag-programming","tag-stm32"],"_links":{"self":[{"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/posts\/4259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/comments?post=4259"}],"version-history":[{"count":3,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/posts\/4259\/revisions"}],"predecessor-version":[{"id":4372,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/posts\/4259\/revisions\/4372"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/media\/3436"}],"wp:attachment":[{"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/media?parent=4259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/categories?post=4259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/tags?post=4259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}