sipeed / NanoKVM

NanoKVM: Affordable, Multifunctional, Nano RISC-V IP-KVM
GNU General Public License v3.0
3.15k stars 53 forks source link

Adding OLED to nanoKVM Lite #102

Open haggis-supper opened 1 month ago

haggis-supper commented 1 month ago

I would like to be able to add the i2c OLED to the NanoKVM Lite.

Is there any information available about the requirements, for example

Z2Z-GuGu commented 1 month ago

@haggis-supper Hi, this is feasible and does not require any software modifications. Here is the open source schematic of the Full version OLED board for your reference https://cn.dl.sipeed.com/shareURL/KVM/nanoKVM/HDK/02_Schematic 30113. The OLED size is 0.96 inches, which is a quite common model.

haggis-supper commented 4 weeks ago

Thank you for that pointer and information :)

Is there any way to change the i2c address from 0x7a to 0x7b in code/config file. I can see a lot of the screens availble are 0x7b i2c address. i'd rather change code/config file than try to desolder and move the resitior on the back of the oled display.

SantyC93 commented 4 weeks ago

I can confirm that by moving the resistor the screen works correctly, but I agree it would be easier to change the config if possible. I also have another question, is it possible to use an SPI screen instead of IIC?

Z2Z-GuGu commented 4 weeks ago

Is there any way to change the i2c address from 0x7a to 0x7b in code/config file. I can see a lot of the screens availble are 0x7b i2c address. i'd rather change code/config file than try to desolder and move the resitior on the back of the oled display.

Sorry, the different versions of our NanoKVM (Lite/Full/PCIe) identify different models by the address of the screen, so it is not convenient to customize the screen address

Z2Z-GuGu commented 4 weeks ago

I can confirm that by moving the resistor the screen works correctly, but I agree it would be easier to change the config if possible. I also have another question, is it possible to use an SPI screen instead of IIC?

NanoKVM uses LicheeRV Nano as the core, no extra SPI pins assigned to OLED (GPIO P port is assigned to wifi) But then we will open source the OLED display part, you can customize your screen to a large extent

SantyC93 commented 4 weeks ago

I can confirm that by moving the resistor the screen works correctly, but I agree it would be easier to change the config if possible. I also have another question, is it possible to use an SPI screen instead of IIC?

NanoKVM uses LicheeRV Nano as the core, no extra SPI pins assigned to OLED (GPIO P port is assigned to wifi) But then we will open source the OLED display part, you can customize your screen to a large extent

Ok, thank you very much :)

haggis-supper commented 3 weeks ago

@SantyC93 Thanks for letting me know the OLED works, i've got a couple and will modify the i2c address and fit it this weekend.

In the meantime i've made another NanoKVM Lite enclosure encorporating space for the OLED in the top if you need one . I've added it to my existing 3d design for the non oled case here - NanoKVM Lite Case

SantyC93 commented 3 weeks ago

@haggis-supper Thank you very much for sharing! I was planning on making an enclosure myself, you just saved me a lot of time :D

damtrx commented 5 days ago

@SantyC93 Thanks for letting me know the OLED works, i've got a couple and will modify the i2c address and fit it this weekend.

In the meantime i've made another NanoKVM Lite enclosure encorporating space for the OLED in the top if you need one . I've added it to my existing 3d design for the non oled case here - NanoKVM Lite Case

Hi , I'm stuck with the display too. Were you able to get one with 0x7a address ? All mine have got different address (0x3c) or similar. It is a shame that the i2c address is hardcoded.

haggis-supper commented 5 days ago

Nope, i still need to desolder/solder the connections on the back of my screen to swap it over.
Kind of reverted back to pikvm's just now as the nanoKVM is just not doing what i want.

damtrx commented 5 days ago

Nope, i still need to desolder/solder the connections on the back of my screen to swap it over. Kind of reverted back to pikvm's just now as the nanoKVM is just not doing what i want.

Got it. The ones from aliexpress that I got are using different address and can't be changed. I just wonder why there is no search function in the code like every other arduino code that I used before.

Using hard codes address is something that is basically poor coding for me. I'm not buying this as excuse to distinguish the platforms

haggis-supper commented 5 days ago

I have to agree with you on that, thats why i asked at the beginning if the i2c address could be in a config file somewhere as all screens seem to be the other address. I had a couple i bought ages ago and a couple i got from Amazon, they all have the default 0x7b address. Moving the resistor on the back of the screen is very inticate with a soldering iron.

SantyC93 commented 5 days ago

@SantyC93 Thanks for letting me know the OLED works, i've got a couple and will modify the i2c address and fit it this weekend. In the meantime i've made another NanoKVM Lite enclosure encorporating space for the OLED in the top if you need one . I've added it to my existing 3d design for the non oled case here - NanoKVM Lite Case

Hi , I'm stuck with the display too. Were you able to get one with 0x7a address ? All mine have got different address (0x3c) or similar. It is a shame that the i2c address is hardcoded.

Hi, all my SSD1306 and SSD1315 displays have a very small resistor in the back (right under the pins) that let you switch the address, usually on mine the default is 0x78 and I can change it to 0x7A. None of my displays have 0x3c so maybe you have a different model, I don't know if it could have a way to change the address or not. I can confirm tho that on SSD1306 and SSD1315 changing the resistor to 0x7A makes them work with the NanoKVM Lite. I agree it's kinda inconvenient but apparently the should open source the OLED display part so maybe this will change.