A couple of weeks ago, I just post a review of my MCP23017 breakout board. As the board configuration allows to connect up to 8 of these boards, I decided to do it and see that it really works. My goal is interface 8 LCD displays with two wires: SDA and SCL from an I2C bus. With direct IO`s of a microcontroller, you need at least 48 lines to control all the displays. With this option (and a little of software, of course), you can do this with only two lines.
- The hardware
The first thing to do is mount the 8 boards. Schematics of the board is available here. Nothing new here, the only thing to consider at this time is to set the address of each board. This is done with the jumpers JP1 – JP3. For this components, I use a 0805 footprint in the PCB, so it’s easy to mount the 0 ohm resistors in the adequate position:
Also, I populated a 4-way polarized connector in order to prevent errors in the connection of the boards, avoid short-circuits between boards. The LCD used is the Win star WH1602B-NYA-ET#, a standard 2×16 LCD, whit the only disadvantage that this model hasn’t backlight. In the manufacturer web, there’re some examples of code and schematics, including both 4 and 8 bits parallel mode.
- Boards connection
The most tedious task is to find and mount the 8 LCD’s. How or where I can mount it? Well, after thinking the form of do this, I used two backplane guides to mount all the displays. I use 2,5mm screws to fix it. The result is a bit unstable, but the global mount can handle easy:
After half an hour, I finish the assemble of the 8 displays. Now, it’s time to make the wire to connect all. I use the housing connector that matches with the polarized ones, and makes a chain cable: in each connector, I crimp two wires (except in the first and in the last ones). Here is the result:
Read More: How to interface 8 LCD displays and 24 leds with only two wires