Quick one this time....I have posted a few projects lately that incorporated a Raspberry Pi Pico, rotary encoder, and .96" OLED: here, here, and here. To make it unnecessary to breadboard the hardware, I posted an "experimenters board"--a development board to augment a RP Pico that adds a rotary encoder, an OLED, and a buffered GPIO output, and other enhancements.
Just now I updated the KICAD and Gerber files on the PCBWAY community site salient to the posts: here.
The 9-29-24 revision of the experimenter's board uses less components, incorporates the encoder debounce library here, superseding the less responsive CD4011 based hardware debounce discussed here.
Good news: it all works.
![]() |
Thanks to Wendy and the gang and PCBWAY for patiently providing revised me with PCB's. You can help this blog by checking 'em out. |
![]() |
9-29-24 revision |
To make sure the grounding issues I saw with earlier revisions was a function the PCB's layout, not the schematic nor code, I breadboarded the entire "dev board for a dev board":
The breadboard example worked every time, but some of the older experimenters PCB's didn't, so, for versions of the board prior to 9-29-24, I was fairly certain this was a hardware/PCB layout issue.
I thought trace layouts for low frequency audio wasn't terribly important--put things almost anywhere, throw in whatever traces you want--it will work--we are bottom feeders?
Wrong. Apparently the I2C traces (at the very least) needed to be treated with forethought.
![]() |
Previously: more narrow traces....no ground pour |
![]() |
9-29-24 design improves that. |
I found myself putting the 9-29-24 assembly on hold for a couple of weeks, partially because I was tired of revising the board, and also having a feeling (incorrect, fortunately) that the 9-29-24 revisions would make things less reliable, not more.
Word of caution: 1306 128x64 .96 OLED's are everywhere but there appear to be 2 different pinouts coming from Shenzen: GND far left, and VCC far left.
My design requires VCC on the far left--make sure you get that style of OLED if you build this project.
![]() |
Spinning the rotary encoder advances or diminishes the counter on the OLED as expected. Every time, without fail. Thank goodness. |
Next: I have augment the code to create a user interface for the frequency counter....yes, I will get to that someday, but it means a lot of code changes.
For now it's back to my day job--for better or worse the global pandemic is over.
No comments:
Post a Comment