Arduino Best expander Input/Output | GPIO Expansion module | MCP23017, MCP23S17

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hey guys it's chris i come again with a new tutorial as you saw in the intro of the video today we will build another breadboard friendly module the way i did on my last project video for the decoder module we will create an mcp23017 based breakout board this circuit provides 16 gpio expansion for any sort of microcontroller so you can interface with this integrated circuit using an arduino stm32 raspberry pico or any other mcu dev board as long as it has a i square c communication port the module will include 16 leds for output indication and another 16 for input status indication we will try to keep the whole circuit on one compact area to keep the module breadboard friendly i move it to altium designer and i grab it the mcpic from the online library make sure that you are selecting the so ic28 package since it refers to the smd package the ic also available through other packages like the qfn and dip but we will not use these ones for our module after getting the mcp i brought the input indication yellow leds and the output indicators ones will be orange light leds each led is preceded by a pull down resistor i will use a high resistance value to keep a soft light of the leds so anything around 1k ohm resistor will go fine all leds and resistors are 0 4 0 2 package i choose this tiny size package to keep the module as smaller as possible make sure that you are placing the leds in a reversed position to separate the input and output current flow for the mcp gpios i gave access to all mcp pins through these cl header connectors moving to the pcb designing stage as always measuring the board width is the most important part which will keep the module fit on any prototyping breadboard the cl connectors will be spaced by 8 inches equivalent to 20.32 millimeters and the module width is 22.86 millimeters equivalent to 9 inches i placed the mcpic in the middle of the module and i distributed the led indicators to the top and bottom sides of the pcb before start routing make sure that you set the design rules parameters to match the pcb manufacturer capabilities after routing here is the 3d view of the module and it looks so neat [Music] i generated the related gerbil files and i move it to jlc pcb to place my order [Music] six days later i got the personal on my desktop and here are my designed pcbs turned out properly [Music] i prepared my desktop for the assembly mode all components and tools are ready if you are willing to assemble these tiny components by hand then you must have a solder iron with a pointy end solder tip small cross section solder core and some flux all components look ready now it's time to assemble [Music] [Music] more [Music] my [Music] after finishing the assembly don't forget to clean the board with some flux removal solvent as you can see guys the module its compact size makes it suitable for prototyping before start testing the module let's get back to the data sheet and check again the peanut description i remind you that our integrated circuit is based on i square c communication and here are the scl and sda pins for clock and data we also have these three input pins a0 a1 and a2 for hardware address it gives us these eight possible addresses it means that you can place eight mcp ics to get control it in parallel through the i square c bus i will use arduino nano for this project i gave the address 7 to my module by putting all the address pins to 5 volt also make sure that you connect the reset pin to 5 volt otherwise the module will not start then i connected scl of my module to arduino scl located in pin a5 and then i connected the sda of my module to arduino sda located in pin a4 i run the arduino ide and i imported the mcp library by adafruit it really helps to interface with this module since you will be handling digital functions of arduino apis i create this instance for my mcp module and i gave it the address 7 to make my module recognize it through the i square c bus i then made these animations to test the outputs of my module [Music] after uploading the code you can see that the leds are dancing depending on the animations that i have made and check mark for output testing now in order to test input reading i will connect this push button to the digital input d0 of my module and using this code whenever i press the push button i get a message through the serial monitor and also i get the input indicator lighting up [Music] we are done with the day's breakout module i will be waiting for your suggestions about more other modules ideas do not miss to subscribe to my youtube channel for more electronics videos one last thing make sure that you are doing electronics every day it was chris see you next time
Info
Channel: DIY GUY Chris
Views: 24,941
Rating: undefined out of 5
Keywords: Arduino, Arduino projects, top 10 Arduino, best arduino idea, arduino gpio, arduino expansion, MCP23017, mcp23s17, arduino pcf8574, arduino pcf8575, how to add GPIO, nodemcu, stm32 nucleo expander, ESP8266 expansion, ESP32 expander, electronics, PCB, JLCPCB, Altium designer, PCB Design, PCB Assembly, arduino getting started, smd, smt, yellow circuit, circuit board, electronics tips and tricks, The Official Guide to arduino expansion gpio, The Expert Guide to arduino expansion gpio
Id: lq6jbXaX4oQ
Channel Id: undefined
Length: 7min 15sec (435 seconds)
Published: Tue Feb 22 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.