New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Project Suggestion] Add support for alternative OLED pin configurations #6
Comments
Currently pursuing two possible ways of addressing this issue; hardware switches to allow configuration when the module is assembled, and a software + hardware approach where the pins can be switched using signals from GPIOs. The second would use up more pins of the Pico, but would result in much less hardware clutter and a much easier process for a DIY user. |
Further research shows only two common pin layouts exist for this OLED display, so a simpler approach is possible: A Hardware DIP switch and pull-up/down resistors. The two potential pin layoutsProposed hardware switching solutionIn mode 1 (The Pi Hut), the DIP switch would be set to on/on/off/off This would allow the two different OLED configurations to be used easily, with only a quick change of the switch positions during assembly to allow it to work. Potential issues with solutionIn theory, due to user error or misunderstanding, incorrect signals could be sent to the OLED, however this should not be an issue as the I2C bus runs on 3.3V, so even if the power rail were connected to a data pin, no damage should be caused and the issue could be fixed with a simple switch change. |
Another option I've seen modules use is jumpers and shunts to change hardware configuration. However, this probably wouldn't fit on the jack PCB and would have to be on the pico PBC. Here's an example of a module I recently build that uses jumpers and shunts (regretfully I don't have the schematics). Check out page 65: |
Yup, I did consider using shunts and in many ways it would have been a cleaner approach, however there just isn't room on either PCB. The jack PCB doesn't have the vertical space between boards for a full jumper + shunt, and the pico PCB doesn't have the room around the existing traces and components |
A sheepish reply to my above comment: There may in fact be a much simpler header and shunt solution which would fit, as the shunts are shorter than I previously calculated, allowing for them to be mounted on the jack PCB but facing towards the pico PCB. As the pins alternate in a certain way between the two configurations, a solution with only an 8 way 2 row header and 4 shunts should be possible, taking up minimal space and being easy to set for the user: This implementation would fit snugly between the two PCBs, and there is enough room for an explanatory silkscreen diagram next to the header. |
Project Suggestion
Describe your suggestion or idea
The current PCBs only support one pin layout for the I2C bus of the OLED display, meaning that alternative displays using the same driver which may be more accessible to other customers cannot be used.
The PCB could contain some hardware to allow the pins to be switched for alternative layouts.
Images
The Pi Hut OLED
CPC OLED (theoretically compatible but alternate pin configuration)
The text was updated successfully, but these errors were encountered: