Howdy--this post is part III of the posts here and here.
From last time--I created a simple control voltage generator, sourcing about 30mA with 3 independent pots, each output is -10 to +10V DC controlled by a dedicated pot.
For revision 3 I added a MCP4728 DAC and tweaked the 16-bit ADC reads, using 3 of the 4728's 4 channels, to make the CV generator's output better match the values shown in the OLED.
This simple revision had a big problem....unlike REV 1 and 2 I couldn't get the I2C bus to work--no I2C signal, anywhere.
I figured it was a hardware issue and spent a lot of time troubleshooting based on that assumption--nope.
Then I had to move my shop--pack up every tool, every part, every file drawer, move it across town, then set it all back up again--a ton of work.
Once unpacked I took this back up in my new workshop, and Claude.ai caught the problem; the sketch used the "SSD1306AsciiWire.h" library to drive the OLED; my code was written like this:
Wire.begin(); //set I2C
oled.begin(&Adafruit128x64, I2C_ADDRESS);
Wire.begin(); //set I2C
Wire.setClock(400000L); //set I2C speed.
oled.begin(&Adafruit128x64, I2C_ADDRESS);
The OLED needed a standoff and I was surprised I couldn't find anything close to what I needed on the Internet so I designed and 3D printed one myself:
That sat between the front panel/Oled and the PCB:
I will package all of this up (gerber, Kicad files, STL file for the standoff, Arduino code, and all the rest)--and put it on PCBWAY's community site once I am less slammed by my day job--please stay tuned--in the meantime here's the shameless plug for my sponsor.
![]() |
| Boring AI background. |









No comments:
Post a Comment