Search the Community

Showing results for tags 'oled'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • New Users Introduction
    • Announcements
  • Digilent Technical Forums
    • FPGA
    • Digilent Microcontroller Boards
    • Non-Digilent Microcontrollers
    • Add-on Boards
    • Scopes & Instruments and the WaveForms software
    • LabVIEW
    • FRC
    • Other
  • General Discussion
    • Project Vault
    • Learn
    • Suggestions & Feedback
    • Buy, Sell, Trade
    • Sales Questions
    • Off Topic
    • Educators
    • Technical Based Off-Topic Discussions

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







Found 15 results

  1. Hi, I use uC 32 and Basic I/O shield in my microcontroller programming class. I am using utility functions provided in class to display strings on the OLED, but it is not working. I am not sure whether it is me that made mistake or the OLED is broken. All other things (SW, BTN, ADC, and LED's) are working fine with the utility functions provided to control them. I tried to get help from TA, but with remote class and all, it is rather difficult. Can someone share a easy way to check if the OLED is functional? I am using Pickit3 to program uC32. Let me know if you need any more information.
  2. Hi, I want to connect the pmod oled display to my raspberry pi, but I'm not really getting the hang of how I should wire it. If someone can explain where to plug in each pin and how to code it that would be great. Thank you.
  3. Hi, I'm a newbie trying to learn about the Genesys 2 board and would like to program the onboard OLED as an exercise. I'm following this tutorial. There is a prominent warning that says "Important! Make sure to turn off the OLED display before shutting down or reprogramming your board." Why? What will happen if I don't turn off the OLED display and simply turn off the power switch? Will it get damaged? This makes me very nervous to try my own programs since I will probably mess up at some point. Can someone reassure me that I won't do any permanent damage? Thanks!
  4. Hi Forum Folks! I just started using a nexys video board on which I want to display some text using its onboard OLED. After doing some research I realized there is no ip for it in vivado ip integrator nor libraries in sdk. I can see there is an example for it using programmable logic but I have to use microblaze. Can anyone point me on how to deal with this? thanks in advance!
  5. Hi, In my project I want to print alphanumeric data on the OLED display on the ZedBoard, but do that by usin GPIO. I have found a couple of related IP cores online, but that is not what I need. I need something simililar like logo.bin file that is the defoult Digilent logo that apears on the OLED when the Linux is booted. So any possibilitis to modify the logo.bin, or to create .bin file with my own contents? I appriciate your tips and help!
  6. Hi there, I am not sure this is the right place to post my inquiry and I am aware that chance to find are very little. I have bought ER-OLEDM024-1 which specs are <a></a> from www.displayfuture,com . I am trying to control it with AT32UC3L0256 <a></a> On the display specs there is a code... if you have any other OLED code sample for that microcontroller , would you mind to pass it to me? Any help will be much appreciated. Bests, Andres
  7. Hi Digilent, zedboard, vivado 2015.4, petalinux 2015.4, /dev/zed_oled, pmodoled-gpio.ko I am working on zedboard to enable onboard-OLED display. First vivado outputs bitstream hardware, then petalinux generates " BOOT.BIN + Image.ub ", finally zedboard bootup by the SD card. " insmod pmodoled-gpio.ko " does bring /dev/zed_oled . However, " cat logo.bin > /dev/zed_oled " has nothing to display. Then I decided to add oled block design in vivado project. I tried two different versions, including tamu and Digilent . After making external pin assignment, Vivado / petalinux all functions. However, there is still no outputs on OLED. Please advise how to turn on OLED in petalinux/vivado. Thanks in advance Mike (P.S. OLED by itself works well on OOB package with digilent logo output)
  8. Hi, I'm trying to get the Pmod OLED to work with the PIC24F32KA302, I've used the template file and modified all the register appropriately but I cant get the display to work. It turns on and always display garbage when I try writing to it and even clear the OLED doesn't seem to work, the display does respond to SPI command but just the displays different just pixels. any thoughts on what might be wrong, I can post some code if it helps.
  9. Hello together, I'm a student and I am going to buy the Basys3 board. At that nice student price I thought I'd get a Pmod for Debugging like a little screen. I will be programming only hardware circuits and my own processors. As it seems to me, all tutorials for the OLEDrgb Pmod are made for use with the Microblaze which is not something that I plan to do. For that kind of stuff I already have microcontrollers lying around. I want to be able to access the screen / output (maybe only leds are possible for this purpose? and 7 segments?) directly via my hardware like turning on and off LEDs for debugging and maybe also for displaying actual useful information. What would be the best Pmod for this sake? OLED? LCD? Are these even accessible via SystemVerilog? 7 Segment and LEDs should work afaik but the board already has a lot of them... Some examples: Showing which state of an automata I'm in, Showing if my clock is working, Displaying results of a calculation, ... Thank you in advance! Riesenrad
  10. I know, there is great example for Linux application for PmodOled for Zybo. I can find it here. But this is included in Petalinux BSP. If someone is not interested in using Petalinux, then it is painful to install Petalinux just to create project, and extract sources from there. There is another great page about PmodOled - PmodOled reference manual - where I can find link to examples - Example code . Could someone put there link to example for Zybo? Or alternatively, because Zybo example is for whole PmodPack, maybe this code could be put to the page, where there is this BSP file, for example below it? I would really appreciate that.
  11. Just wondering whether the python module which supports the monochromatic oled display can also drive the rgb one or some re-coding is needed. Thanks for any help, Best, Mario
  12. I'm trying to write a code that will display the character H in the left top corner when the potentiometer is fully counter-clockwise, H in the middle when potentiometer is halfway between ccw and cw, and finally H in the right top corner when potentiometer is fully clockwise. Though my code works, I used a for loop to iterate through all the LEDS before the place where I want to put the H character. I wanted to know how I can change the position of the column number of the Oled. Here's my code: #include<p32xxxx.h> #include<plib.h> #pragma config POSCMOD=HS, FNOSC = PRIPLL #pragma config FPLLIDIV = DIV_4 #pragma config FPLLMUL = MUL_16 #pragma config FPLLODIV = DIV_4 #pragma config FWDTEN = OFF #pragma config FPBDIV=DIV_4 #define prtVddCtrl IOPORT_F #define prtVbatCtrl IOPORT_F #define prtDataCmd IOPORT_F #define prtReset IOPORT_G #define bitVddCtrl BIT_6 #define bitVbatCtrl BIT_5 #define bitDataCmd BIT_4 #define bitReset BIT_9 #define cbOledDispMax 512 //max number of bytes in display buffer #define ccolOledMax 128 //number of display columns #define crowOledMax 32 //number of display rows #define cpagOledMax 4 #define POT 2 void initADC(int amask){ AD1PCFG = amask; AD1CON1=0x00E0; AD1CSSL=0; AD1CON2=0; AD1CON3=0x1F3F; AD1CON1SET = 0x8000; } int readADC(int ch) { AD1CHSbits.CH0SA = ch; AD1CON1bits.SAMP=1; while(!AD1CON1bits.DONE); return ADC1BUF0; } BYTE rgb0ledBmp[cbOledDispMax]; void DelayMs(int n){ int k = 0; for(k=0;k<n*10;k++){ } } void OledHostInit() { unsigned int tcfg; /* Initialize SPI port 2. */ SPI2CON = 0; SPI2BRG = 15; //8Mhz, with 80Mhz PB clock SPI2STATbits.SPIROV = 0; SPI2CONbits.CKP = 1; SPI2CONbits.MSTEN = 1; SPI2CONbits.ON = 1; /* Make pins RF4, RF5, and RF6 be outputs. */ PORTSetBits(IOPORT_F, bitVddCtrl|bitVbatCtrl|bitDataCmd); PORTSetPinsDigitalOut(prtDataCmd, bitDataCmd); //Data/Command# select PORTSetPinsDigitalOut(prtVddCtrl, bitVddCtrl); //VDD power control (1=off) PORTSetPinsDigitalOut(prtVbatCtrl, bitVbatCtrl); //VBAT power control (1=off) /* Make the RG9 pin be an output. On the Basic I/O Shield, this pin ** is tied to reset. */ PORTSetBits(prtReset, bitReset); PORTSetPinsDigitalOut(prtReset, bitReset); } BYTE Spi2PutByte(BYTE bVal) { BYTE bRx; /* Wait for transmitter to be ready */ while (SPI2STATbits.SPITBE == 0); /* Write the next transmit byte. */ SPI2BUF = bVal; /* Wait for receive byte. */ while (SPI2STATbits.SPIRBF == 0); /* Put the received byte in the buffer. */ bRx = SPI2BUF; return bRx; } void OledDspInit() { /* We're going to be sending commands, so clear the Data/Cmd bit */ PORTClearBits(prtDataCmd, bitDataCmd); /* Start by turning VDD on and wait a while for the power to come up. */ PORTClearBits(prtVddCtrl, bitVddCtrl); DelayMs(1); /* Display off command */ Spi2PutByte(0xAE); /* Bring Reset low and then high */ PORTClearBits(prtReset, bitReset); DelayMs(1); PORTSetBits(prtReset, bitReset); /* Send the Set Charge Pump and Set Pre-Charge Period commands */ Spi2PutByte(0x8D); Spi2PutByte(0x14); Spi2PutByte(0xD9); Spi2PutByte(0xF1); /* Turn on VCC and wait 100ms */ PORTClearBits(prtVbatCtrl, bitVbatCtrl); DelayMs(100); /* Send the commands to invert the display. This puts the display origin ** in the upper left corner. */ Spi2PutByte(0xA1); //remap columns Spi2PutByte(0xC8); //remap the rows /* Send the commands to select sequential COM configuration. This makes the ** display memory non-interleaved. */ Spi2PutByte(0xDA); //set COM configuration command Spi2PutByte(0x20); //sequential COM, left/right remap enabled /* Send Display On command */ Spi2PutByte(0xAF); } void OledPutBuffer(int cb, BYTE * rgbTx) { int ib; BYTE bTmp; /* Write/Read the data */ for (ib = 0; ib < cb; ib++) { /* Wait for transmitter to be ready */ while (SPI2STATbits.SPITBE == 0); /* Write the next transmit byte. */ SPI2BUF = *rgbTx++; /* Wait for receive byte. */ while (SPI2STATbits.SPIRBF == 0); bTmp = SPI2BUF; } } void OledUpdate() { int ipag; int icol; BYTE * pb; pb = rgb0ledBmp; for (ipag = 0; ipag < cpagOledMax; ipag++) { PORTClearBits(prtDataCmd, bitDataCmd); /* Set the page address */ Spi2PutByte(0x22); //Set page command Spi2PutByte(ipag); //page number /* Start at the left column */ Spi2PutByte(0x00); //set low nybble of column Spi2PutByte(0x10); //set high nybble of column PORTSetBits(prtDataCmd, bitDataCmd); /* Copy this memory page of display data. */ OledPutBuffer(ccolOledMax, pb); pb += ccolOledMax; } } void CharTable(int index){ switch(index){ case 17: //character H Spi2PutByte(0x00); Spi2PutByte(0xFF); Spi2PutByte(0x10); Spi2PutByte(0x10); Spi2PutByte(0xFF); Spi2PutByte(0x00); break; }; } void setPageNumber(BYTE pagnum){ PORTClearBits(prtDataCmd, bitDataCmd); /* Set the page address */ Spi2PutByte(0x22); //Set page command Spi2PutByte(pagnum); //page number /* Start at the left column */ Spi2PutByte(0x10); //set low nybble of column Spi2PutByte(0x10); //set high nybble of column PORTSetBits(prtDataCmd, bitDataCmd); } void main(){ int a; int repeatccw=0; int repeatcw=0; int repeathor=0; OledHostInit(); OledDspInit(); OledUpdate(); setPageNumber(0x00); T3CON = 0x8070; PR3 = 0xFFFF; initADC(0xFFFB); int k=0; while(1){ a = readADC(POT); a=a>>5; if(a==0b00000){ if(repeatccw==0) repeatccw++; else if(repeatccw!=0) continue; OledUpdate(); setPageNumber(0x00); CharTable(17); repeathor=0; repeatcw=0; } else if(a==0b10000){ if(repeathor==0) repeathor++; else if(repeathor!=0) continue; OledUpdate(); setPageNumber(0x00); for(k=0;k<64;k++) Spi2PutByte(0x00); CharTable(17); repeatcw=0; repeatccw=0; } else if(a==0b11111){ if(repeatcw==0) repeatcw++; else if(repeatcw!=0) continue; OledUpdate(); setPageNumber(0x00); for(k=0;k<110;k++) Spi2PutByte(0x00); CharTable(17); repeathor=0; repeatccw=0; } } }
  13. Hi, I have recently purchased a few Nexys Video boards. I tried to set up a the XADC demo but the OLED just doesn't work. It just displays garbage on the screen. I have tried building using Vivado 2015.4 & 2015.3 but no luck. I am using PROG-USB port to download the bit file using Vivado Hardware Manager. Is anyone able to built the example design & test it. If you get it working, please let me know what version of the tool you using. Thank you. Tesh
  14. HI, I am trying to figure out if the OLED Pmod can work with the chipKIT Cmod. Code was taken directly off the Pmod OLED web page. In one version of the demo code -- the Cmod is not mentioned. oledlibrary1 by laraswanland, on Flickr IN a near identical version (on the same page), the Cmod IS mentioned. oledlibrary2 by laraswanland, on Flickr Both demos have OLEDdemo as the sketch. Neither of them work when I have the Pmod OLED plugged into J1 of the Cmod. Can someone take a look at which library is correct? and if the Pmod OLED can work with the Cmod?
  15. Using the PmodOLED and the chipKIT Cmod-- I was able to make the file work on my work-Windows PC I downloaded the newest file from the webpage (thanks to previous post:) and got the library into my sketchbook folder. However, when I tried to compile on my home MacBook, I kept getting this error: Uninstall, reinstall MPIDE. Delete all libraries. Reinstall it again. Then, went to the MPIDE Icon, held down Control+ click and went to "Show Package Contents" Which then I navigated to Contents->MacOSX>Resources>Java>Hardware>pic32>compiler>pic32-tools>include>sys Screen Shot 2015-01-28 at 9.39.48 PM by laraswanland, on Flickr ... and verified that the file was there. Screen Shot 2015-01-28 at 9.41.55 PM by laraswanland, on Flickr ... I reopened MPIDE Opened the OLED Demo Example Hit Verify... Same irritating error. So I grabbed the sysattribs.h: and put it into my search bar. and came up with the file OLEDDriver.cpp that had it directly referenced. Screen Shot 2015-01-28 at 9.34.08 PM by laraswanland, on Flickr ... Opened the file up + found sysattribs.h and it was oddly the only include with a directory slash... <sysattribs.h> Screen Shot 2015-01-28 at 9.32.36 PM by laraswanland, on Flickr Tried a few things, but it turns out if you switch the direction of the slash... and hit save... the file will compile. <sys/attribs.h> Screen Shot 2015-01-28 at 9.33.12 PM by laraswanland, on Flickr Screen Shot 2015-01-28 at 9.32.49 PM by laraswanland, on Flickr So change the <sysattribs.h> to <sys/attribs.h> My thoughts is that there may be a weird syntax that Windows uses that can use the forward-slash, but Mac (and maybe Linux) can't use it? Is this something other people have noticed?