Skip to content
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

Spi add on for big screen oled #91

Closed
themangoest opened this issue Jul 22, 2024 · 25 comments
Closed

Spi add on for big screen oled #91

themangoest opened this issue Jul 22, 2024 · 25 comments

Comments

@themangoest
Copy link

Hello,
Is it possible to have the spi connection add on for big screen oled?
Eh2k from squares and circles did a wonderful job there. They are added on ports 26 and 27.

@themangoest
Copy link
Author

image

@themangoest
Copy link
Author

Is it possible to add this?

@djphazer
Copy link
Owner

djphazer commented Sep 3, 2024

This is a bit outside my wheelhouse, although I am interested... more details?

@themangoest
Copy link
Author

Hi, thanks for checking this out.

the "Big SSD1306" the SPI port is operating at 8Mhz, else the display stay black.

you could connect the display to the second SPI Port (SPI1 - Pin 26;27)

the DAC connection is the same, expect not sharing 11 and 13 with the display. The alternative spi1 display connection is 26 and 27.

In squares and circles you an option for that in the web programmer. See picture above.

@Banshee700
Copy link

Yes, we also would like to use the big OLED for the upcoming 4UBu version of it.

@djphazer
Copy link
Owner

For reference, this is the code fork with the driver tweaks to make this work - https://github.com/mcleinn/O_C-for-SSD1309-2.4-inch-display (I was previously unaware this existed!)

I've cherry-picked/merged the changes on a separate branch (dev/large-OLED), and verified that it runs on Teensy 3.2, but of course the standard small display just looks garbled. If someone can verify that it works, I'll try to get it working for T4.x as well.

Experimental builds for testing: https://github.com/djphazer/O_C-Phazerville/actions/runs/11538938594

@Banshee700
Copy link

Banshee700 commented Oct 29, 2024 via email

@themangoest
Copy link
Author

themangoest commented Oct 29, 2024 via email

@djphazer
Copy link
Owner

@themangoest - You tested with Teensy 3.2 using the 2.4" OLED and it didn't work? I'm just trying to confirm a known-good scenario with this existing driver code modification. All the driver code for Teensy 4.0 and 4.1 is a bit different, but if I know what works, maybe I can figure out what to copy-paste into where...

Perhaps I should acquire a breadboard and various parts myself and actually learn how to swim!

@themangoest
Copy link
Author

themangoest commented Oct 30, 2024 via email

@djphazer
Copy link
Owner

I've ordered a 2.4" OLED, as well as a breadboard kit. I have the original 14HP O_C hardware to try it on, as well as the new 4.1-based unit. End of this week or next, I'll be ready for prototyping!

@Banshee700
Copy link

Banshee700 commented Oct 31, 2024 via email

@djphazer
Copy link
Owner

djphazer commented Nov 4, 2024

IMG_20241104_182419_687~2.jpg

Some success with Teensy 4.1 on original hardware! Simply setting SPI clock to 8Mhz works, but I had to reduce the core ISR frequency to get it stable... perhaps with a bit more determination, I can get the subpage transfer working properly.

For reference, it's this item on Amazon:
ACEIRMC 2.42 inch 128x64 OLED LCD Display Module SSD1309 7 Pin SPI/IIC I2C Serial Interface for Arduino UNO R3 (White) https://a.co/d/hFrPwds

@Banshee700
Copy link

Banshee700 commented Nov 5, 2024 via email

@themangoest
Copy link
Author

themangoest commented Nov 5, 2024 via email

@djphazer
Copy link
Owner

djphazer commented Nov 5, 2024

Success! Subpage transfer is working, with full speed ISR. Works on T3.2 and T4.x. It also still works with the smaller screens, so win-win!

It will work with the original display refresh rate (1ms redraw timeout) but I dialed it in at 2ms to eliminate some visual glitches. This means things like the scope_render screensavers operate somewhat slower than before.

Latest builds for testing: https://github.com/djphazer/O_C-Phazerville/actions/runs/11681824832

@themangoest
Copy link
Author

themangoest commented Nov 5, 2024 via email

@themangoest
Copy link
Author

themangoest commented Nov 10, 2024 via email

@djphazer
Copy link
Owner

New hardware schematics here: https://github.com/PaulStoffregen/O_C_T41/tree/main/schematic

It should work no problem, since the new hardware has Display and DAC on separate SPI buses.
I still need to try it on one of my beta units, but I'll have to desolder the other screen... probably make a cable loom like Sascha suggested.

@Banshee700
Copy link

Banshee700 commented Nov 11, 2024 via email

@djphazer
Copy link
Owner

oof, can't see the photos when you comment via email reply... happy to hear of some success with the hOC!

@Banshee700
Copy link

9a724fde-72da-4275-b17b-daed0eb54817

I just tested the new OLED with a hOC and yes, that is a plug in replacement and works fine with the new firmware :) Cable loom was the solution indeed, but our displays are in sockets, so i just had to pop it out, add some 90 degree pin headers and voila.. Regarding the new one...i wonder if we should just make some GErbers from the KiCad files or start to build the 4U version right away. I assume Gregory would like to make a Serge version, and I have a concept for the Buchla one ready This time the USB connections need to be on the front, and the attenuation for both input and output still is very important i think.

@djphazer
Copy link
Owner

Large OLED support has been merged in for v1.8.3! Seems pretty stable on all the platforms, let me know if you run into any issues.

@themangoest
Copy link
Author

themangoest commented Dec 18, 2024 via email

@djphazer
Copy link
Owner

Yes, indeed! PSv1.8.3 is published with it now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants