{"id":6014,"date":"2019-05-18T17:48:39","date_gmt":"2019-05-18T21:48:39","guid":{"rendered":"https:\/\/dronebotworkshop.com\/?p=6014"},"modified":"2019-06-24T14:03:30","modified_gmt":"2019-06-24T18:03:30","slug":"prototyping","status":"publish","type":"post","link":"https:\/\/dronebotworkshop.com\/prototyping\/","title":{"rendered":"Prototyping & Breadboarding"},"content":{"rendered":"\n

Introduction<\/span><\/h2>\n

Working with electronics can be a fascinating hobby or career. With the availability of low-cost microcontrollers, microcomputers, sensors, and modules it has never been easier to get involved with electronics and develop your own devices.<\/span><\/p>\n

<\/div>\n

Putting an electronics project together can sometimes seem daunting, but it doesn\u2019t have to be. As long as you understand the basic process of developing and prototyping you can design and build just about anything.<\/span><\/p>\n

Today we will look at the design and prototyping process, as well as some items you can use to make it a lot easier.<\/span><\/p>\n

\"Prototyping<\/p>\n

Design Process<\/span><\/h2>\n

There are many ways to visualize the design process. I am going to break it down into four distinct steps, others may indeed choose a different breakdown. \u00a0It really doesn\u2019t matter how you break it down as long as the job gets finished.<\/span><\/p>\n

The fours steps I would break the design process into are as follows:<\/span><\/p>\n

    \n
  1. Circuit Design – Can also include code design.<\/span><\/li>\n
  2. Breadboarding.<\/span><\/li>\n
  3. Testing and Troubleshooting.<\/span><\/li>\n
  4. Prototyping or Building.<\/span><\/li>\n<\/ol>\n

    Let\u2019s examine these steps in more detail.<\/span><\/p>\n

    Circuit (& Code) Design<\/span><\/h3>\n

    Obviously, you need to start your project somewhere, and that somewhere is usually a result of inspiration or specific need.<\/span><\/p>\n

    Google can be your friend here. There are a number of websites (like this one!) with projects, schematics and code samples. \u00a0If you have a specific project in mind just search for it on Google and you will likely come up with a variety of results.<\/span><\/p>\n

    Dedicated sites like those maintained by Arduino, the Raspberry Pi Foundation, Hackster, and Instructables are also gold mines for both circuit and code samples.<\/span><\/p>\n

    Manufacturers data sheets as spec sheets are a great resource. They often include both schematics and code samples.<\/span><\/p>\n

    Of course, there is GitHub. \u00a0There are other code repositories as well but GitHub is certainly the most well-known. You can find code and documentation for almost anything here, and as most of the code is open source you can start using it right away.<\/span><\/p>\n

    There are a wealth of other sources as well. Don\u2019t overlook books and magazines as a source of both inspiration and project instructions.<\/span><\/p>\n

    Breadboarding<\/span><\/h3>\n

    Breadboarding is the art of taking your circuit and creating a temporary but functional version of it.<\/span><\/p>\n

    This is an essential part of the design process for most projects, although for small projects you might be tempted to skip it and go straight to construction. In almost every case this is probably not a very good idea!<\/span><\/p>\n

    I\u2019ll be discussing some of the tools, like solderless breadboards, that you can use for this task.<\/span><\/p>\n

    You\u2019ll also need a source of power for your design. A bench power supply is ideal, but a USB power supply will work for most logic circuits. And there are always batteries, although the need to recharge or replace them periodically can be an annoyance.<\/span><\/p>\n

    Testing and Troubleshooting<\/span><\/h3>\n

    Once you have everything wired up and (if necessary) programmed it\u2019s time to test it out.<\/span><\/p>\n

    Depending upon the nature of the product there will be different tests to perform. Aside from the obvious making sure that it actually works you might want to see how much current your new invention is consuming, or how hot the components are getting.<\/span><\/p>\n

    In a perfect world, everything would work exactly as you wanted it to from the first moment you power it up. But, of course, this doesn\u2019t always work out.<\/span><\/p>\n

    That\u2019s when it\u2019s time to troubleshoot.<\/span><\/p>\n

    If your project is just hardware then you\u2019ll need to determine if the connections are all good and that things like polarity and voltages are correct.<\/span><\/p>\n

    If software is involved you\u2019ll need to determine if your issue is being caused by a code or hardware error. A good way to do this is to write simple diagnostic programs to check out specific functions.<\/span><\/p>\n

    You don\u2019t need any expensive equipment to troubleshoot, in most cases, you can get by with just the basics.<\/span><\/p>\n

    Prototyping or Building<\/span><\/h3>\n

    The final stage is to get the components off of the breadboard and put everything together.<\/span><\/p>\n

    You might be building just a single device and have no intention of creating any copies. \u00a0Or you may want to mass-produce your design, either commercially of because you need several units for yourself.<\/span><\/p>\n

    At this stage, you can use perfboard or a printed circuit board. \u00a0We\u2019ll discuss that in more detail further on.<\/span><\/p>\n

    Solderless Breadboards<\/span><\/h2>\n

    The essential tool for electronics prototyping is the solderless breadboard. \u00a0<\/span><\/p>\n

    \"Solderless<\/p>\n

    Solderless breadboards allow you to quickly assemble electronic circuits. They are commonly available and are very inexpensive, most hobbyists will probably want to have more than one.<\/span><\/p>\n

    Although there are several different varieties of solderless breadboards they all work the same way. They consist of a number of female sockets that accept small gauge wire, usually 22 or 24 AWG. \u00a0These sockets are arranged in a grid and spaced 0.1 inches apart. <\/span><\/p>\n

    The standard spacing for DIP and SIP package electronic devices is 0.1 inches, so parts like integrated circuits, resistors, capacitors, diodes, and many others will just snap in place. <\/span><\/p>\n

    \"Components<\/p>\n

    The sockets on the breadboard are interconnected in a pattern, allowing you to connect wires and additional devices together. \u00a0There are also strips of sockets dedicated to carrying power supply and ground connections.<\/span><\/p>\n

    Breadboard-Friendly Components<\/span><\/h3>\n

    Most electronic components by nature are \u201cbreadboard-friendly\u201d since they share the same 0.1-inch pitch. But some components either are too large, have thinker leads or have a lead pattern that won\u2019t conform to the breadboard grid.<\/span><\/p>\n

    \"Breadboard<\/p>\n

    You can get special \u201cbreadboard-friendly\u201d components like the potentiometers illustrated above, these will snap into the breadboard to make designing a lot easier.<\/span><\/p>\n

    You can also solder wires to components that don\u2019t conform to the 0.1-inch grid so that you can make them \u201cbreadboard friendly\u201d.<\/span><\/p>\n

    \"Homemade<\/p>\n

    Jumper Wires<\/span><\/h3>\n

    You\u2019ll be wise to start collecting jumper wires for use with your solderless breadboard, it seems you can never have too many.<\/span><\/p>\n

    Solid 22 or 24 AWG wire is perfect for breadboarding. You can cut it to custom lengths and use multiple colors to make a very nice layout, which will be of great assistance if you need to troubleshoot.<\/span><\/p>\n

    \"Breadboard<\/p>\n

    You can also purchase special breadboard jumper wires that come in a variety of colors and lengths. You can also get multicolored ribbon cables with a combination of male and female connectors, you can peel off these wires individually or in groups to use them with external sensors and breakout boxes.<\/span><\/p>\n

    Enhancing your Breadboard<\/span><\/h3>\n

    On its own a solderless breadboard is a very useful tool, however, a few additions can make it even better.<\/span><\/p>\n

    One obvious addition is to simply use more than one breadboard. Most solderless breadboards from the same manufacturer will snap together, allowing you to make larger breadboard surfaces.<\/span><\/p>\n

    \"Breadboard<\/p>\n

    You can also mount the breadboard (or multiple breadboards) on a base with terminals to allow you to connect external power supplies, test equipment, and other devices.<\/span><\/p>\n

    I also find that mounting a mouse pad next to a solderless breadboard is a great way to hold down an Arduino or other external board. The mouse pad is not conductive and, if you get a soft one, will grip and cushion your circuit board.<\/span><\/p>\n

    Arduino Prototyping Tools<\/span><\/h2>\n

    The Arduino, especially the Uno and Mega 2560 with their rows of female sockets, is by nature very \u201cprototype-friendly\u201d. You can plug wires directly into the I\/O and other sockets, make it very easy to interface Arduino with breakout boards, sensors or solderless breadboards.<\/span><\/p>\n

    There are additional parts that can assist you with Arduino prototyping. \u00a0These components are inexpensive and are built specifically for working with the Arduino, usually the Arduino Uno but also other models.<\/span><\/p>\n

    You can also build your own test jigs to work with any microcontroller, including the Arduino.<\/span><\/p>\n

    Arduino Prototype Shields<\/span><\/h3>\n

    \u201cShields\u201d are the circuit boards that snap onto the top of the Arduino Uno and Arduino Mega 2560. \u00a0Prototype shields allow you to add your own hardware to create your own custom shield.<\/span><\/p>\n

    \"Arduino<\/p>\n

    Prototype shields consist of a shield circuit board that has an area of perfboard on it. \u00a0You can solder your own components of connectors in this area and connect them to the Arduino pins.<\/span><\/p>\n

    Most of these shields also have a reset pushbutton, recognizing that the Arduino reset button will be covered when the shield is installed. \u00a0Many also have a LED for pin 13 and some have additional buttons and LEDs that you can use in your own designs.<\/span><\/p>\n

    \"Arduino<\/p>\n

    You can also mount a small solderless breadboard on one of these shields and access all of the Arduino pins using the shields female Dupont connectors. For a design with only one or two external components, this can be a very efficient way of prototyping.<\/span><\/p>\n

    \"Arduino<\/p>\n

    You can also get a prototype shield for the Arduino Mega 2560.<\/span><\/p>\n

    Arduino Screw Shields<\/span><\/h3>\n

    Arduino Screw Shields solve a perplexing problem that you are eventually going to encounter when prototyping.<\/span><\/p>\n

    There are a wealth of shields available for the Arduino Uno and you will likely be tempted to use some of them in your design to save an enormous amount of design and wiring time. \u00a0Many shields stack, so that you can mount one on top of another. But some do not.<\/span><\/p>\n

    The stacking feature allows you to get access to all of the Arduino\u2019s pins, even when a shield is plugged in. But if your shield has no female I\/O connectors, or if it is meant to be on top (ie. a display or keypad) then you have no access to the I\/O pins.<\/span><\/p>\n

    \"Arduino<\/p>\n

    Enter the Arduino Screw Shield. This device sits in between the Arduino and the shield and provides screw-terminals to allow you to access every pin on the Arduino Uno.<\/span><\/p>\n

    You can use these for prototyping or even as part of a permanent design. They come in a variety of configurations.<\/span><\/p>\n

    Arduino Interface Shields<\/span><\/h3>\n

    Arduino Interface Shields provide a simple method of connecting sensors, LEDs and servo motors to your Arduino.<\/span><\/p>\n

    \"Arduino<\/p>\n

    Most I\/O devices require three pins:<\/span><\/p>\n

      \n
    • Power<\/span><\/li>\n
    • Ground<\/span><\/li>\n
    • The actual I\/O signal pin<\/span><\/li>\n<\/ul>\n

      Recognizing this, the Interface Shield provides a 3-pin male Dupont connection for every I\/O pin on the Arduino, including the Analog inputs.<\/span><\/p>\n

      These shields also provide a screw terminal to allow you to connect an external VCC voltage, this can be very useful when driving servo motors or multiple LEDs.<\/span><\/p>\n

      Interface Shields also provide I2C and SPI connections, as well as connections for many popular displays.<\/span><\/p>\n

      Homemade Adapters<\/span><\/h3>\n

      I have also put together some homemade Arduino accessories as well. \u00a0You might want to do the same.<\/span><\/p>\n

      One of my adapters works with the Arduino Pro Mini. While it is quite easy to find a variety of adapters for the Arduino Nano, the Pro Mini seems left out. \u00a0Of course most of the Nano ones will work with the Pro Mini as the pin spacing is the same, however, the pin labels would be wrong.<\/span><\/p>\n

      I just soldered one up myself, it allows me to insert a Pro Mini and then bring its outputs to some male Dupont headers. I can then use male to female jumper wires to hook these to a breadboard.<\/span><\/p>\n

      I\u2019ve also made custom adapters for the ATtiny85 modules.<\/span><\/p>\n

      Raspberry Pi Prototyping Tools<\/span><\/h2>\n

      Not to be left out the Raspberry Pi also has a number of custom accessories to make prototyping and experimenting a lot simpler.<\/span><\/p>\n

      Keep in mind that the 40-pin Raspberry Pi GPIO has become an adopted standard with many single board computer (SBC) manufacturers. This means the accessories for the Pi will also work with other SBCs, as well as with all modern models of the Raspberry Pi.<\/span><\/p>\n

      T-Cobbler<\/span><\/h3>\n

      The most popular Raspberry Pi prototyping accessory is the T-Cobbler, which I assume is named that for its shape.<\/span><\/p>\n

      \"Raspberry<\/p>\n

      The T-Cobbler is a T-shaped circuit board that has pins that mount on a solderless breadboard. The top side of the \u201cT\u201d has a 40-pin connector on it, and you use a ribbon cable to connect this to the Raspberry Pi GPIO.<\/span><\/p>\n

      The T-Cobbler allows you easy access to the Raspberry Pi GPIO pins. In many designs, the pins on the breadboard side are arranged logically, instead of in the order that they are arranged on the GPIO header.<\/span><\/p>\n

      When you purchase your T-Cobbler make sure that it is for a 40-pin GPIO, the holder Raspberry Pi had a smaller GPIO and there are still many \u201coriginal\u201d T-Cobblers for sale today that have the smaller connector. You want to be sure to get a 40-pin one.<\/span><\/p>\n

      Prototyping HAT<\/span><\/h3>\n

      A \u201cHAT\u201d is the Raspberry Pi equivalent of an Arduino \u201cShield\u201d, HAT is an abbreviation of \u2018Hardware At Top\u201d. \u00a0Keep[ in mind that the original Raspberry Pi was marketed as an educational tool for schoolchildren, they probably choose \u201cHAT\u201d as it made sense to put a hat on top and it sounds cute!<\/span><\/p>\n

      As with the Arduino Prototyping Shield, the Raspberry Pi Prototyping HAT will allow you to attach a few external components to your Raspberry Pi, essentially creating your own, unofficial, HAT.<\/span><\/p>\n

      These shields come in several sizes and configurations, they also have models that allow the use of a small solderless breadboard.<\/span><\/p>\n

      Home-Made Adapters<\/span><\/h3>\n

      I\u2019ve also made my own Raspberry Pi test center, consisting of a Raspberry Pi, a T-Cobbler and an adapter that I made to allow the T-cobbler to be connected while a HAT is on the Raspberry Pi.<\/span><\/p>\n

      You can see it here being used with a speaker, push button, and microphone board and the Google AIY Voice HAT.<\/span><\/p>\n

      I assembled my adapter using a small Raspberry Pi proto-board, a 40-pin female connector with extra-long leads and a 40-pin angled connector. \u00a0The long pins on the female connector allow it to be used to accommodate a HAT.<\/span><\/p>\n

      \"Homemade<\/p>\n

      You\u2019ll also want to use longer spacers to hold the HAT in place. With a Raspberry Pi Zero that wouldn\u2019t be necessary.<\/span><\/p>\n

      Conclusion<\/span><\/h2>\n

      If prototyping is new to you I suggest you start with a small project that uses just a few components.<\/span><\/p>\n

      It only takes a small investment to pick up a solderless breadboard and some jumper wires. You can also add Arduino and Raspberry Pi specific prototyping accessories as you see fit.<\/span><\/p>\n

      You should also invest in a multimeter if you don\u2019t already have one, it is the essential troubleshooting tool and it isn\u2019t very expensive. Another tool you may want to look into is a logic probe, an inexpensive way to \u201csee\u201d inside an operating digital circuit.<\/span><\/p>\n

      Add some test cables and a few adapters to the mix and soon you’ll be designing like a professional.<\/span><\/p>\n

      Happy prototyping!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"

      Prototyping and breadboarding is an essential skill for anyone working with electronics or experimenting with microcontrollers and microcomputers.<\/p>\n

      In this article I will show you the basics of breadboarding, along with some breadboard accessories that you are sure to find useful.<\/p>\n","protected":false},"author":1,"featured_media":6028,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5,90],"tags":[41],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/dronebotworkshop.com\/wp-content\/uploads\/2019\/05\/Prototyping-and-Breadboarding.jpeg?fit=768%2C432&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p74ClK-1z0","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/dronebotworkshop.com\/wp-json\/wp\/v2\/posts\/6014"}],"collection":[{"href":"https:\/\/dronebotworkshop.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dronebotworkshop.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dronebotworkshop.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dronebotworkshop.com\/wp-json\/wp\/v2\/comments?post=6014"}],"version-history":[{"count":0,"href":"https:\/\/dronebotworkshop.com\/wp-json\/wp\/v2\/posts\/6014\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dronebotworkshop.com\/wp-json\/wp\/v2\/media\/6028"}],"wp:attachment":[{"href":"https:\/\/dronebotworkshop.com\/wp-json\/wp\/v2\/media?parent=6014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronebotworkshop.com\/wp-json\/wp\/v2\/categories?post=6014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronebotworkshop.com\/wp-json\/wp\/v2\/tags?post=6014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}