2019-03-27: Added files for etching the PCB in extended gerber, PDF, and SVG file formats in archive PCB.zip (cf. last two images)
This easy to build PCB with printed enclosure provides an additional 8 digital inputs (or 25mA outputs) and 8 outputs with 500mA each, controlled by I2C. It is based on the MCP23017 16-Bit I2C I/O Expander, the outputs are driven by a ULN2803.
The enclosure has connectors for the fischertechnik construction toy system and uses my printed flush sleeve design ("Printbuchse") for the fischertechnik typical 2.6mm jacks. The outputs can drive ft-parts like lamps, magnets, valves, or (undirectional, mono-speed) motors. Combine two or more of the ULN2803 driven outputs, if you need more than 500mA.
- The 2x3 pin I2C connector is pin compatible with other ft I2C cables (ftDuino, TX).
- Looking at the MCP23017's specs, the expander should work both with 5V or 3.3V I2C devices, I only tested 5V, though.
- The I2C address can be changed by DIP switches which are hidden under a print-in-place cover.
- The fourth DIP switch connects interrupt B of the MCP23017 with one of the unused I2C connector pins.
- Additionally, two male headers provide access to interrupts A and B.
- For the Arduino, you can use this Adafruit library. Outputs are 0 to 7, Inputs are 8 to 15, don't forget to activate the internal pull-ups.
I'm far from being an electronics guru, so use my circuit at own risk. And, yes, Fritzing sucks at turning out proper schematics, but it's what I know.
Please consider leaving a "like" or posting your make as a token of appreciation for my work.
Find my other fischertechnik designs here.
Before assembly, make sure that each flush sleeve is clean and worn by initiating both sides with a ft-jack and a male pin header.
After assembly, be careful when inserting ft-jacks for the first time. Use a slightly twisting motion. If you use excessive force, you'll run into danger of pushing the pin header so hard that it may break at its soldered base from the PCB. After first use, it should work just like any other ft-socket, though.
I used this Anet A8 pen holder and a Faber Castell Multimark permanent marker to plot the labels onto the top:
- The PCB layout is pretty straightforward, so I used a wiring pencil for most of the connections.
- Adapt the two LED-resistors to your LED and, for the red one, to your planned external input voltage.
- The three pullups for A0..A2 are SMDs at the backside.