Reply to topic  [ 3 posts ] 
Microduino OLED Display (HCMIDU0011) 
Author Message
Site Admin

Joined: Sun Aug 05, 2012 4:02 pm
Posts: 647
Post Microduino OLED Display (HCMIDU0011)
Image
Image

Description:

The Microduino (TM) OLED display (blue-green)is a tiny 128 x 64 pixel display desined for use with the Microduino range of Core and Core+ boards. It is based upon the common SSD1306 driver IC and uses an I2C interface for communication. This means that only 2 wires are required to control this display (excluding power and GND).


Specification:

Resolution 128x64
Interface: I2C
Power: 3.3V


Schematic:

Image

Datasheet:

SSD1306 controller datasheet:
Attachment:
SSD1306.pdf


Microduino/Arduino Library:

There are several libraries available for this module. For the example sketch below we have used the MicroLCD library developed by Stanley Huang.

A snapshot can be downloaded here:

Attachment:
MicroLCD.zip


Example Sketch:

Code:
/* FILE:    ARD_Microduino_OLED_Display_Example
   DATE:    23/08/13
   VERSION: 0.1
   
REVISIONS:

23/08/13 Created version 0.1

This is an example of how to use the Mictoduino OLED 128x64 graphic display
(HCMIDU0011). The sketch uses the MicroLCD library developed by Stanley
 Huang  <stanleyhuangyc@live.com> to display some example text and graphics.

PINOUT:

MODULE             Core   Core+   UNO 
GND                   GND    GND     GND
3V3                    3V3    3V3     3.3V
SDA                    A4     D20     A4
SCL                    A5     D21     A5


PLEASE NOTE THAT THIS DISPLAY IS 3.3V ONLY. Connecting this display to a 5V
supply will perminantly damage it.

You may copy, alter and reuse this code in any way you like, but please leave
reference to HobbyComponents.com in your comments if you redistribute this code.
This software may not be used for the purpose of premoting or selling products
that directly compete with Hobby Components Ltd's own range of products.

THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS MAKES NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
HOBBY COMPONENTS SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
REASON WHATSOEVER.

/* Include the standard Arduino header and Wire library */
#include <Arduino.h>
#include <Wire.h>
/* Include the MicroLCD library */
#include <MicroLCD.h>

/* Create an instance of the library */
LCD_SSD1306 OLED;


/* Create an example graphic and store it in program space */
static const PROGMEM uint8_t Resistor[128 * 24 / 8] =
{0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0xC0,0xF0,0x7C,0x3E,0xFC,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x80,0xE0,0xF8,0x3E,0x3E,0xF8,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF8,0x3E,0x3E,0xF8,0xE0,0x80,0x00,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0xFC,0x3E,0x7C,0xF0,0xC0,
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,
 
 0x00,0x3C,0x7E,0xE7,0xC3,0xC3,0xC3,0xC3,0xFF,0x7E,0x18,0x18,0x18,0x18,0x18,0x18,
 0x18,0x18,0x18,0x18,0x18,0x18,0x78,0xF0,0xC0,0x00,0x00,0x00,0x00,0xC0,0xF0,0x7C,
 0x1F,0x07,0x01,0x00,0x00,0x00,0x03,0x0F,0x3F,0xFC,0xF0,0xC0,0x00,0x00,0x00,0x80,
 0xE0,0xF8,0x3E,0x0F,0x03,0x00,0x00,0x00,0x00,0x03,0x0F,0x3E,0xF8,0xE0,0x80,0x00,
 0x00,0x00,0x80,0xE0,0xF8,0x3E,0x0F,0x03,0x00,0x00,0x00,0x00,0x03,0x0F,0x3E,0xF8,
 0xE0,0x80,0x00,0x00,0x00,0xC0,0xF0,0xFC,0x3F,0x0F,0x03,0x00,0x00,0x00,0x01,0x07,
 0x1F,0x7C,0xF0,0xC0,0x00,0x00,0x00,0x00,0xC0,0xF0,0x78,0x18,0x18,0x18,0x18,0x18,
 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0xFF,0xC3,0xC3,0xC3,0xC3,0xE7,0x7E,0x3C,
 
 0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x1F,0x7C,0x7C,0x1F,0x07,0x01,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x3F,0x7C,0x3E,0x0F,
 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x3E,
 0xFC,0x3E,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 0x03,0x0F,0x3E,0x7C,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x01,0x07,0x1F,0x7C,0x7C,0x1F,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00};


/* Initialise the display */
void setup()
{
  OLED.begin();
}

/* Main program */
void loop()
{
  /* Clear the display */
  OLED.clear();

  /* Display some text */
  OLED.setCursor(42, 0);
  OLED.setFont(FONT_SIZE_MEDIUM);
  OLED.print("HOBBY");
  OLED.setCursor(20, 2);
  OLED.print("COMPONENTS");

  /* Display the graphic */
  OLED.draw(Resistor, 0, 40, 128, 24);

  /* Nothing left to do */
  while(1);
}


You do not have the required permissions to view the files attached to this post.


Fri Aug 23, 2013 4:22 pm
Profile

Joined: Sat Aug 03, 2013 11:22 am
Posts: 3
Post Re: Microduino OLED Display (HCMIDU0011)
A couple of questions:

1. is there a datasheet?
2. Whats the power consumption of the module
3. presumably you need to run it with a level shifter/resistor to interface it to the microduino core


Fri Aug 30, 2013 4:31 pm
Profile
Site Admin

Joined: Sun Aug 05, 2012 4:15 pm
Posts: 636
Post Re: Microduino OLED Display (HCMIDU0011)
I've added the datasheet for the SSD1302 controller to the first post. Your second and third questions are good ones. The module is intended to directly interface with both 3.3 and 5V versions of the Core and Core+ boards. From our own checks of the design, there are two 270 ohm resistors placed in series with the IO pins. These are shifting a 5V TTL level from a core board down to 3.5V. This is around 0.2V above VDD and so their values have been clearly chosen as the simplest way of level shifting from 5V.

_________________
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.


Fri Aug 30, 2013 7:19 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 3 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Thank you to phpBB.com & phpBB.ro.
Design created by Florea Cosmin Ionut.
© 2011 All contents of this site are © Hobby Components LTD