Portexpander / Porterweiterung mit MCP23017 (I²C)

  • Ursprünglich wollte ich einfach nur einen simplen Portexpander für das Labornetzteil bauen. Da hier im Forum aber immer wieder die Frage nach einer Erweiterung der vorhandenen Anzahl der GPIO auftaucht, habe ich zusätzlich eine erweiterte Schaltung entworfen.


    Eine schnelle und einfache Möglichkeit der Erweiterung bietet der MCP23017, den es in einer I²C und einer SPI Version gibt. Erik Bartmann beschreibt in seinen beiden beigefügten Anleitungen, die er zum freien Download zur Verfügung stellt, zwar die SPI Version, aber abgesehen vom Bus ist die Umsetzung nahezu identisch.


    Ich habe eine kleine Platine entworfen, mit der es einfach möglich ist, einen MCP23017 an einen Raspberry Pi, einen ESP8266 oder einen Arduino, etc. anzuschließen. Um diese Flexibilität zu ermöglichen, muss ein Betrieb mit sowohl 3V3 als auch 5V möglich sein. Hierzu habe ich für SDA und SCL einen Lötjumper vorgesehen, über den sich einstellen lässt, welche Spannung an den beiden Lötpads anliegen soll. Als Levelshifter wurde diese Lösung gewählt.


    Da der RasPi an den GPIO für SDA und SCL bereits Pullup Widerstände integriert hat, müssen diese dann auf der Platine entsprechend weg gelassen werden. Um zu verdeutlichen, welche Widerstände zu welcher Spannung und welchem Signal gehören, habe ich sie neben den Kennzeichnungen für die Lötjumper positioniert.


    Die Spannungsversorgung der angeschlossenen Komponenten kann über die Platine erfolgen. Es sind jeweils 6 Lötpads für Vcc und GND vorgesehen. Die Spannungsversorgung der Platine kann direkt über das Lötpad "Vcc" (zwischen GND und SDA) erfolgen. Wer die Spannungsversorgung lieber über eine externe Quelle zuführen möchte, kann dies über die Micro-USB-Buchse tun. Über einen Lötjumper kann dann eingestellt werden, ob die Platine mit den 5V aus der Buchse versorgt werden soll, oder ob daraus über den verbauten LDO 3V3 gemacht werden sollen, mit denen die Platine dann arbeitet. Der LDO kann bis zu 500mA liefern, was für den Betrieb der meisten Sensoren, LCD/TFT, etc ausreichend sein sollte.


    Über drei Lötjumper am IC kann die I²C Adresse des MCP32017 frei konfiguriert werden.


    Wer Interesse an einer (bestückten) Platine hat, kann sich gerne per PN melden, da ich noch einige Exemplare übrig habe.

  • ESP8266 Porterweiterung mit MCP23017 (I²C) V2.0


    Hallo Neueinstiger,


    ich habe diesen Beitrag duct zufall gefunden weil ich, mike2nl admin auf discord fuer tasmota on github,

    etwas fuer einen unserer user suchte via google. Nun hast Du da ein sehr schoenes breakout board erstellt was die Aufmerksamkeit

    eines weiter Admin und mehrerer User eregt hat. Naja eregt ist nicht das richtige word.


    Wuerde gerne mir Dir in Kontakt kommen um board(s) (komplett) zu betsellen.

    Hoffe ich kann Dich auf diesem Wege erreichen.

    Wenn alles so funktioniert wie ich mir das denke und wuensche werde ich dein board

    in unsere installation hinzufuegen. Das heisst wir haben x.xxx.xxx.xxx user weltweit

    verteilt. Wir haben eine Alternative firmware fuer unter anderem die sonoff devices

    von iTead.cc erstellt.

    Du findest uns auf github: https://github.com/arendst/Sonoff-Tasmota

    Auf Disvord: https://discord.gg/Ks2Kzd4

    Kann Dich leider nicht via Konverstionen erreichen (LIMIT erreicht)


    Gruesse aus den Niederlanden,

    Mike