Go Down

Topic: Crius OLED display (Read 40003 times) previous topic - next topic

Eagle67

#60
Oct 03, 2013, 08:14 pm Last Edit: Oct 11, 2013, 08:22 pm by Eagle67 Reason: 1
Had problems with getting the OLED working with the MEGA, but I've solved it with this thread. Thanks. :)

This was I did:
Got the CRIUS CO-16 v1.0 from dx.com this week.
Solution (tested Arduino v1.0.5):
1. Use pins: SCL  = D0 (21)  ,  SDA  = D1 (20), VCC = 5V , GND=GND (no 100 ohm resistor was needed in my case)
2. Download the files from Mike's post
3. Open .ino, config.h (OLED_address must be set to  0x3c) and data.c in one Sketch in Arduino
4. Alter the ino file on the lines for the PULLUPS into:
#define I2C_PULLUPS_ENABLE         PORTD |= 1<<0; PORTD |= 1<<1;   // PIN D0&D1 (D1: SDA & D0: SCL) //Mod
#define I2C_PULLUPS_DISABLE        PORTD &= ~(1<<0); PORTD &= ~(1<<1); //Mod
5. Check code and upload

Thanks and have fun!

11-10-2013: Used it also with a Teensy++2.0 with the same code modification. It worked for some days and somedays not and tonight I got also snow!! I could only solve this by placing the 100 Ohm resistor in the Vcc line. I'm looking for a different combination of OLED and PCB (I don't have the eyes anymore for building one and/or soldering in this detail).

itsgumby

Hi all, I've been playing around with the crius oled for a while but I recently came across this post https://github.com/hallard/ArduiPi_SSD1306/issues/1  It shows a mod done to the oled to separate the reset pin (14) for the oled and bridging 2 pins (19,20) together. Anyway I tested it and works with the adafruit examples and libraries, address just needs to be changed look for this line -  display.begin(SSD1306_SWITCHCAPVCC, 0x3D);  // initialize with the I2C addr 0x3D (for the 128x64) and either remove the address 0x3D or replace it with 0x3C.

Enjoy!!

EVRE

#62
Oct 25, 2013, 04:19 am Last Edit: Oct 25, 2013, 04:21 am by EVRE Reason: 1
One of the attached libraries has the ASCII table stored in data.c, and all that is loaded into ram. Takes up ~38% of a 328's RAM.
I edited the sketch to put the ASCII table into progmem, now the sketch only takes up 2% of ram. One of the leanest ways to output to the oled.

note: I also had to use a 100ohm resistor as the + lead to make the display work.

hyzhang7

#63
Dec 07, 2013, 06:50 am Last Edit: Dec 07, 2013, 07:13 am by hyzhang7 Reason: 1
Hi,
Thanks all of you for the helpful info. I want to say, the pcb of this diaplay is too bad, many bugs have to be fixed. As Peter said, two things I suggest the people with this display to do before using it:
first, reconnect the RESET pin, this must be done, otherwise the display may become crazy!
second, connect the pin19 and 20 together, this is easy, and your MCU can get correct ACK signal from the I2C bus.
After doing above two things, this display works well with my MCU(ATMEGA32).
Enjoy it,
-hy

MAS3

Hi all.

Today i found some time to have another look at the display and was able to connect pins 19 and 20 from the glass.
Now the display also answers the Nick Gammon's I2C scanner with 0x3C.
I tried the sketch EVRE has attached, which shows the test texts.
It stops after i changed the address to 0x3D, so this is a difference between the other sketch i tried.
Still need the 100 Ohm resistor, or else there's only noise visible.

So now it's time to find out a way to use larger characters and be able to read the display from some distance.

I also tried to desolder the flatcable from the pcb, but wasn't able to do that.
How did you guys do that, what temperature did you set (if any) and did you put the iron at the pcb or direct to the plastic ?
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

0miker0

To remove the yellow flex cable from the board that its soldered to I applied a fair amount of flux, used flathead soldering tip at a regular temperature, and put a medium size bead of solder onto the tip. I taped the display to a table to keep it from lifting and lifted one end of the flex cable tweezers. Then rubbed the iron back and fourth, starting at one end of the flex cable working my way up while gently lifting with the tweezers. I've found the more I do the better I got at it. The flex cable is heat resistant so it wont melt.

RobvdVeer

#66
Dec 15, 2013, 01:29 pm Last Edit: Dec 15, 2013, 01:32 pm by RobvdVeer Reason: 1
Hi folks. I had ordered a crius display 128x64 and stumbled across this thread before i even received the display. I was reluctant to try it out, seeing all the troubles posted here.

I'm a lucky guy. I received a Crius v1.2 board. I used the modified dealextreme_oled code from the beginning of the forum and the display works without modification! Very satisfied customer here.
Rob
Follow my progress on http://simplicate.weebly.com

MAS3

Hi Rob.

Could you try and make a photograph of the backside of your display (showing the other components) and upload that ?
I'm curious if the differences would be visible.

Alvast bedankt.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

RobvdVeer

Yup, i will do that tomorrow.

Geen probleem.
Rob
Follow my progress on http://simplicate.weebly.com

joaosombra

Hi for all,

     This topics helped me a lot! I ordered a Crius V1.0 oled display from DX, but I got it working on my Arduino Duemilenueve and Mini Pro only after:
     * Insert an 100ohm resistor between 5v pin and Vcc
     * Soldering the 19-20 display pins together
     * Soldering and small cable on 14 display pin (reset)

     By the way, I'm searching for a tiny battery for my project (using this OLED display). I tried the CR2032, but It has no enough power to turn on this display.

Thanks.

RobvdVeer

#70
Dec 16, 2013, 07:35 pm Last Edit: Dec 16, 2013, 07:40 pm by RobvdVeer Reason: 1

Hi Rob.

Could you try and make a photograph of the backside of your display (showing the other components) and upload that ?
I'm curious if the differences would be visible.

Alvast bedankt.


Pictures ofthe v1.2 board, as promised. This one works without modifications.

Edit: better/sharper image
Rob
Follow my progress on http://simplicate.weebly.com

MAS3

Thank you very much for those pics.
They do indeed show that pin 14 is now connected through a resistor (value 104 == 10K) and a capacitor.
This means the guys at Crius learn from their faults, which is encouraging.
They did however still not seem to bother to connect wires 19 and 20 so the display can talk back to the master (your Arduino).

So, if you are going to order this display, make sure it is at least a PCB v1.2, and throw in some extra solder to have a full feature display.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

RobvdVeer

Glad to be of assistance. However, since the display is working now, i'll wait connect 19 and 20 together.
Rob
Follow my progress on http://simplicate.weebly.com

MAS3

Just tried olikraus' u8glib, and works like a charm.
So larger fonts are available and the display can be read from a larger distance.
Next is to find out how to clear the display and other commands like that.
So more sleep deprivation for the next weeks..
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Drexus

Thanks to everyone in this thread!

I've picked up this display (v1.2) and compiled mikes code. I was crossing my fingers (and eyes) in the hopes this would run without a hitch.

It almost made it. It stopped to spit out a compile error:
Code: [Select]
core.a(main.cpp.o): In function `main':
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:5: undefined reference to `setup'
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:15: undefined reference to `loop'


I'm using Arduino 1.0.5. with a Mega 2560 (but not connected yet).
Anyone know what this means? Perhaps I didn't import mikes code right?
Thanks.

Go Up