title: Why do we need to select a board to work with arduino IDE
body: <p>I always wondered how this works . In arduino IDE we have option to select different boards because the code upload i guess is different ? Also there is possibility to even add board manager url to add other boards.</p>
  
  <p>Why uploading the code is so different from board to board , and what exactly differs there ? The code is sent to via serial connection and i understand that a board might have different chip for handling USB to serial but .. </p>
  
  <p>Can someone explain as clear as possible , how the code is uploaded to a board and why there is no generic way , why so many configurations. </p>
  
  <p>Thanks and sorry if is a dumb question. </p>