djphazer / O_C-Phazerville

The kitchen sink of O_C firmware - do all the things!
http://firmware.phazerville.com/
243 stars 37 forks source link

Spi add on for big screen oled #91

Open themangoest opened 4 months ago

themangoest commented 4 months ago

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 commented 4 months ago

image

themangoest commented 2 months ago

Is it possible to add this?

djphazer commented 2 months ago

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

themangoest commented 2 months ago

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 commented 2 months ago

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

djphazer commented 4 weeks ago

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 commented 4 weeks ago

Awesome :) I just ordered two of the OLEDs myself. I think the main target is the T4.1 as that is the one used in Pauls new design, right ? Maybe i should start to breadboard something like that... Just to be flexible with pin assignments and stuff.

best Sascha

On Mon, Oct 28, 2024 at 9:10 PM Nicholas Michalek @.***> wrote:

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

— Reply to this email directly, view it on GitHub https://github.com/djphazer/O_C-Phazerville/issues/91#issuecomment-2442524941, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG3NMMEWXXDGLXE55BQHL7TZ52K45AVCNFSM6AAAAABLHWQIUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSGUZDIOJUGE . You are receiving this because you commented.Message ID: @.***>

-- -- kind regards / Viele Grüße Sascha Haber

http://northernlightmodular.com/ https://bit.ly/2No5sus - Modular Grid

+45 31585333 Copenhagen DK32950523

themangoest commented 4 weeks ago

Hi Nicholas,I tested with 2 different teensy 3.2 and get the same screen issueMaybe it is better to concentrate on the teensy 4 since the 3.2 is obsolete?Cheers Gregory Verstuurd vanaf mijn iPhoneOp 29 okt 2024 om 08:09 heeft NLM @.***> het volgende geschreven: Awesome :)

I just ordered two of the OLEDs myself.

I think the main target is the T4.1 as that is the one used in Pauls new

design, right ?

Maybe i should start to breadboard something like that...

Just to be flexible with pin assignments and stuff.

best

Sascha

On Mon, Oct 28, 2024 at 9:10 PM Nicholas Michalek @.***>

wrote:

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

Reply to this email directly, view it on GitHub

https://github.com/djphazer/O_C-Phazerville/issues/91#issuecomment-2442524941,

or unsubscribe

https://github.com/notifications/unsubscribe-auth/AG3NMMEWXXDGLXE55BQHL7TZ52K45AVCNFSM6AAAAABLHWQIUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSGUZDIOJUGE

.

You are receiving this because you commented.Message ID:

@.***>

--

--

kind regards / Viele Grüße

Sascha Haber

http://northernlightmodular.com/

https://bit.ly/2No5sus - Modular Grid

+45 31585333

Copenhagen

DK32950523

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

djphazer commented 4 weeks ago

@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 commented 4 weeks ago

Hi Nicholas,You want me to send a pcb and screen?Cheers Gregory Verstuurd vanaf mijn iPhoneOp 30 okt 2024 om 06:14 heeft Nicholas Michalek @.***> het volgende geschreven: @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!

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

djphazer commented 3 weeks ago

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 commented 3 weeks ago

Perfect :) I's it easy to access the pins on Paul's beta unit ? Do you plan to cut and wire or can one solder on the top pins of the T4.1 ? As in making a cable loom that attaches to that ... that would be cool Mine is on the way as well...

On Wed, Oct 30, 2024 at 9:49 PM Nicholas Michalek @.***> wrote:

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!

— Reply to this email directly, view it on GitHub https://github.com/djphazer/O_C-Phazerville/issues/91#issuecomment-2448347697, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG3NMMFO23TAJGA327WNWQDZ6FA5TAVCNFSM6AAAAABLHWQIUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBYGM2DONRZG4 . You are receiving this because you commented.Message ID: @.***>

-- -- kind regards / Viele Grüße Sascha Haber

http://northernlightmodular.com/ https://bit.ly/2No5sus - Modular Grid

+45 31585333 Copenhagen DK32950523

djphazer commented 3 weeks ago

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 commented 3 weeks ago

My old eyes love to see that :) Thanks for the link... Thats is like less than half what our Amazon charges us in the EU Also it has the pins in the center which is cool...

On Tue, Nov 5, 2024 at 12:41 AM Nicholas Michalek @.***> wrote:

IMG_20241104_182419_687.2.jpg (view on web) https://github.com/user-attachments/assets/c733d690-b131-4423-8deb-e0eb1a365e49

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

— Reply to this email directly, view it on GitHub https://github.com/djphazer/O_C-Phazerville/issues/91#issuecomment-2455926430, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG3NMMFIUYQ6TZU7GZK76WTZ67ZYTAVCNFSM6AAAAABLHWQIUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJVHEZDMNBTGA . You are receiving this because you commented.Message ID: @.***>

-- -- kind regards / Viele Grüße Sascha Haber

http://northernlightmodular.com/ https://bit.ly/2No5sus - Modular Grid

+45 31585333 Copenhagen DK32950523

themangoest commented 3 weeks ago

Hi all,Yes it’s the same oled that I use but I have the pins on the side.Looking forward to the next chapter of progress!Keep it up 👍 Gregory Verstuurd vanaf mijn iPhoneOp 5 nov 2024 om 00:41 heeft Nicholas Michalek @.***> het volgende geschreven: IMG_20241104_182419_687.2.jpg (view on web) 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

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

djphazer commented 3 weeks ago

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 commented 3 weeks ago

Hi Nicholas,

Success here too with the Teensy 3.2 I'll try the T4 in 6 hours and will keep you posted.

you rock!

cheers

Gregory Delabelle MANGOEST Ⓣ +32 485 985644 @ www.mangoest.be https://github.com/themangoest/

Op di 5 nov 2024 om 11:14 schreef Nicholas Michalek < @.***>:

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

— Reply to this email directly, view it on GitHub https://github.com/djphazer/O_C-Phazerville/issues/91#issuecomment-2456767342, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOVXDXL4DZRIV7RF77GFMLZ7CLAHAVCNFSM6AAAAABLHWQIUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJWG43DOMZUGI . You are receiving this because you were mentioned.Message ID: @.***>

themangoest commented 2 weeks ago

Hi Nicholas I guess the next logical step is trying the new hardware OC with more in and outs?Dobyou have the schematics for that?Cheers G

djphazer commented 2 weeks ago

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 commented 2 weeks ago

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 commented 2 weeks ago

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

Banshee700 commented 2 weeks ago

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.