I have built this master clock from a GitHub page, it originally used an i2c 1602 LCD and I modded it to use an i2c SSD1306 OLED. I also added a reset button to set the counters and midi pointer back to 0 when pushed in stopped mode only.
It works perfectly well for me on my Chinese nano v3 clones, but unfortunately for Joel Seaton it doesn’t work at all well and outputs no MIDI and the timing pulses are half of what they should be.
Anyone care to breadboard the display, pot, encoder and some LEDs to see what happens for them. It will work with a 128x64 or 32 pixel OLED.
3 Likes
Run BLINK on the nano and see if it’s half the speed ( like 2 seconds instead of 1 second )
If so the clock is running at 8 instead of 16MHZ it’s probably a cheaper than cheap nanos that seemed to have this problem.
I did try to work around it
But the serial console was then out of whak and could not be bothered to fix it.
if this is the case it may be mucking up timing.
2 Likes
Yeah I think we are at that conclusion as his MIDI doesnt work, we tried blink and it was 4 seconds between flashes
1 Like
Resurrecting this thread… Also first post!
I’ve been playing with the Midi Clock project on my breadboard recently. I’m finding when I change the ppqn in the code the rate does not change on the D5-D9 outputs. Any ideas?
I am also finding that the BPM on the digital outputs are not the correct BPM. The rate on the outputs are significantly lower than the BPM shown on the LCD.
I am using the latest release of the uClock library. I’ve also made the recommended changes to the code from the uClock GitHub. I’m also using a legit Nano 3.0.
Any help would be greatly appreciated.
I cannot answer exactly as it wasn’t my code and I was only testing it for a colleague that had similar issues to you.
Mine worked perfectly but he was having all sorts of issues with his Nanos and he had tried different ones.
Copy that. I have a couple clones I can test with.
Quick update on my findings… The SSD1306 is causing the inaccurate clocks on the D5-D8. Disabling all of the lines of code related to the SSD1306 corrected the timing issue. I will keep digging into why.
That’s weird, to be honest I was using a 128x64 display and it would only ever display as 128x32. I tried everything I could think of to resolve this but just left it as double sized characters and a setting of 128x32.
It was originally built with an LCD, probably a 16x2 display, if you look up the original creator you should be able to configure it back for an LCD display.