{"id":1217,"date":"2024-07-07T18:45:31","date_gmt":"2024-07-07T10:45:31","guid":{"rendered":"https:\/\/kchkna.com\/?p=1217"},"modified":"2024-07-07T19:08:07","modified_gmt":"2024-07-07T11:08:07","slug":"making-a-custom-arduino-board","status":"publish","type":"post","link":"https:\/\/kchkna.com\/index.php\/2024\/07\/07\/making-a-custom-arduino-board\/","title":{"rendered":"Making a custom Arduino Board"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Good morning!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Note that this is best called Arduino-like board since a genuine Arduino-branded board is made by the Arduino company. We use the name Arduino board to make it easy to talk about, but a custom board as described below is technically not an Arduino board though will have the function.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s suppose you&#8217;ve made your own Arduino-like device. That is, you&#8217;ve developed PCB and assembled the components onto the PCB&#8211;components such as the ATMEL MEGA328, the crystal, the resistors, capacitors, FTDI chip, headers, etc. Then how do you make your Arduino-like device programmable from the Arduino IDE like any other Arduino? Well, you need to load a bootloader onto this custom board of yours! The bootloader is responsbile for loading your future compiled sketches onto the board. Here are the steps:<br>What you need<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>A regular Arduino i.e. one that already has the bootloader<\/li>\n\n\n\n<li>Your custom board<\/li>\n\n\n\n<li>Wires (male to female polarity)<\/li>\n\n\n\n<li>Computer for programming and powering the devices<br><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Obtaining the Bootloader Code<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Arduino IDE<\/strong>: The Arduino IDE comes with the bootloader code for various Arduino boards. You can download the Arduino IDE or directly get the bootloader from the <a href=\"https:\/\/github.com\/arduino\/ArduinoCore-avr\/tree\/master\/bootloaders\/atmega8\">Arduino bootloaders page<\/a>.<\/li>\n\n\n\n<li><strong>Bootloader Files<\/strong>: Once you have installed the Arduino IDE, the bootloader files can be found in the Arduino hardware folder. Typically, the path is something like:bashCopy code<code>{Arduino IDE installation directory}\/hardware\/arduino\/avr\/bootloaders <\/code>Here, you will find folders corresponding to different boards, such as&nbsp;<code>atmega<\/code>&nbsp;for the ATmega328P used in Arduino Uno.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Installing the Bootloader<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Programmer Hardware<\/strong>: To burn the bootloader onto your custom Arduino board, you will need a programmer. Common options include:\n<ul class=\"wp-block-list\">\n<li>Another Arduino board (acting as an ISP programmer)<\/li>\n\n\n\n<li>USBasp<\/li>\n\n\n\n<li>AVRISP mkII<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Connections<\/strong>: If you are using an Arduino as an ISP, connect it to your custom board as follows:Arduino as ISP PinCustom Arduino Pin <\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"356\" src=\"https:\/\/kchkna.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-07-at-18.42.37-1024x356.png\" alt=\"\" class=\"wp-image-1218\" srcset=\"https:\/\/kchkna.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-07-at-18.42.37-1024x356.png 1024w, https:\/\/kchkna.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-07-at-18.42.37-300x104.png 300w, https:\/\/kchkna.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-07-at-18.42.37-768x267.png 768w, https:\/\/kchkna.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-07-at-18.42.37-600x209.png 600w, https:\/\/kchkna.com\/wp-content\/uploads\/2024\/07\/Screenshot-2024-07-07-at-18.42.37.png 1184w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">3. <strong>Burning the Bootloader<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Open the Arduino IDE.<\/li>\n\n\n\n<li>Load the &#8220;ArduinoISP&#8221; sketch (File &gt; Examples &gt; 11.ArduinoISP &gt; ArduinoISP) onto your Arduino board acting as the programmer.<\/li>\n\n\n\n<li>Connect your programmer to your custom board as shown in step 2.<\/li>\n\n\n\n<li>In the Arduino IDE, go to Tools &gt; Board and select the appropriate board type for your custom Arduino (e.g., &#8220;Arduino Uno&#8221;).<\/li>\n\n\n\n<li>Select the appropriate programmer from Tools &gt; Programmer (e.g., &#8220;Arduino as ISP&#8221;).<\/li>\n\n\n\n<li>Click on Tools &gt; Burn Bootloader.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This process will burn the bootloader onto your custom Arduino board, making it ready to use with the Arduino IDE.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At KCHKNA we look forward to mass-producing Arduino-like boards starting in 2025. These will be available for sale across Africa &amp; Asia so that many more people can easily start off their embedded programming journey. Stay tuned!<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Good morning! Note that this is best called Arduino-like board since a genuine Arduino-branded board is made by the Arduino company. We use the name Arduino board to make it easy to talk about, but a custom board as described below is technically not an Arduino board though will have the function. Let&#8217;s suppose you&#8217;ve [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1217","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/kchkna.com\/index.php\/wp-json\/wp\/v2\/posts\/1217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kchkna.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kchkna.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kchkna.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kchkna.com\/index.php\/wp-json\/wp\/v2\/comments?post=1217"}],"version-history":[{"count":7,"href":"https:\/\/kchkna.com\/index.php\/wp-json\/wp\/v2\/posts\/1217\/revisions"}],"predecessor-version":[{"id":1226,"href":"https:\/\/kchkna.com\/index.php\/wp-json\/wp\/v2\/posts\/1217\/revisions\/1226"}],"wp:attachment":[{"href":"https:\/\/kchkna.com\/index.php\/wp-json\/wp\/v2\/media?parent=1217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kchkna.com\/index.php\/wp-json\/wp\/v2\/categories?post=1217"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kchkna.com\/index.php\/wp-json\/wp\/v2\/tags?post=1217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}