[SOLVED] SSD1306 with SPI?
- 
					
					
					
					
 Hi, It appears the ssd1306 driver (https://github.com/micropython/micropython/blob/master/drivers/display/ssd1306.py) isn't working for WiPy. I've had to modify the driver to change pin.high() -> pin.value(1) and pin.low() -> pin.value(0) but clearly there is something else going on. I have an Adafruit 128x32 OLED SSD1306 display wired to my WiPy 2.0 (via Expansion Board) as follows: WiPy->SSD1306 
 P5->D/C
 P6->RST
 P7->CS
 P10->CLK
 P11->DATA
 3V3->VIN
 GND->GNDThis is the code I am using to test. I get nothing - no errors, nothing on the screen. Is it wired correctly? Something else messed up? from machine import SPI, Pin 
 from ssd1306 import SSD1306_SPI as ssd
 spi = SPI(0, SPI.MASTER, baudrate=100000, polarity=0, phase=0)
 o = ssd(128,32,spi,Pin('P5'),Pin('P6'),Pin('P7'))
 o.fill(1)
 o.show()The OLED is good as I've used it with the Pyboard and it works. Just not with the WiPy. I may be able to figure out what is wrong with the driver if I had a working SPI driver to compare. Anyone know of an SPI that actually works with the WiPy? Of any kind? 
 
- 
					
					
					
					
 @soren 
 Those pins are connected to the LoRa chip (SX1272) using SPI so you may see unexpected behaviour
 
- 
					
					
					
					
 @jmarcelino i was thinking more generally, using P5, 6 and 7 on a LoPy - if it is OK to use these pins? On the official pinout sheet, they have exclamation marks and no pin names like the rest.. but it seems to work when I control an LED with one of them, I just had some strange behaviour while trying to use a color sensor 
 
- 
					
					
					
					
 @jmarcelino is it totally out of the question to use pin 5, 6 and 7 for any I/O purpose at all? 
 
- 
					
					
					
					
 Hi, Thanks for the tip and confirming it works! I have fixed the problem by upgrading the firmware to 1.9.1 and it fixed the problem. Aaahhh...better. :) Chuck 
 
- 
					
					
					
					
 @Olias 
 It does work for me but I use different pins than yours as I don't own any WiPy and on the SiPy/LoPy the signalling pins you use are reserved.I setup mine as disp = ssd(128,32,spi,Pin('P9'),Pin('P8'),Pin('P22')) 
 
- 
					
					
					
					
 Yep, tried that too. Still doesn't work. Have verified it (still) works with Pyboard. 
 
- 
					
					
					
					
 
 
 
			
		