Photo Light Meter

julianE

Senior Member
Hello. I'm hoping for some suggestions for a project I've been wanting to make.
I still like shooting film and have a number of very old film cameras, Zeiss, Agfa, Argus and so on. Most do not have a light meter and tho I'm good at guessing sometimes a light meter would help. I do have nice light meters but they are all bulky. What I envision is a very small inexpensive unit that would not be a woe if lost. I'm thinking of using an 08M2, either an LDR or a photo diode, probably LDR for simplicity. A lithium button cell, 2032 or smaller and some sort of a display. The display is where I need most guidance. I'm considering using a Nokia 5110 but it's rather big. The 128x64 .96" OLED is very nice but I'd have to use a larger chip and it's pretty complex to drive. I'm even considering the inexpensive 3 digit Voltmeters that Erco wrote about, they can be driven by PWM. Any suggestions for a simple to drive small display that's not too power hungry.

Thanks.
 

Jeremy Harris

Senior Member
Or use a solar cell and a moving coil meter for a two component solution that doesn't need a battery :)
I have sitting on my desk my very old Weston Master III light meter, must be 50 years old, at least. It still works and is just a solar cell and a moving coil meter!
 

stan74

Senior Member
It's a simple project. Playing with CdS light dependent resistors is lookupable. To be honest, film cameras and what was expensive gear once is a few £'s in charity shops in UK. The stuff isn't even collectable yet. Those weston selenium meters don't work indoors from memory. Yes, I got good at guessing light levels when I used film cameras.
I've used the small 128x64 oled you mentioned. They are dumb devices. I've posted a Picaxe Tron game that uses one in audio/visual projects. You could use extracts from the code to print text, variables, plot and draw lines. The display is the hard bit. Reading the ldr can be done with the picaxe adc or timing a capacitor charging.
 

stan74

Senior Member
PS you could print characters on the oled from a 08m2. Use the print routine in my code. It show's the i2c bytes to send to move the print position and print number routines. If you used the line code you could draw a needle :) but you'd need a 28x2 because it uses a 1K screen buffer to work..you can't read screen ram on those displays but they're only £3 on ebay.
 

AllyCat

Senior Member
Hi,

Light meters are about the scale that's under the needle, not the needle. ;D
Yes indeed, a photographic light meter needs a logarithmic scale, which I believe with the Westons uses a specially-constructed meter and a Selenium photocell. The Westons also had an ingenious slider/filter arrangement to give a much wider logarithmic response. My Weston Master 5 has scales of 2 to 10 and 10 to 16, or 14 "doubling" steps, i.e. 2^14 or a range of 16,000:1.

Another factor is the spectral (colour) response of the photocell; Silicon sensors have their peak response in the Infra-Red part of the spectrum (and generally a low response at the blue end) so may give misleading results. When "exposure meters" were first being built into cameras, the sensors generally chaged from Selenium (Photo-Voltaic) to Cadmium Sulphide (Light-Dependent Resistive) even though a battery was needed, because they could be cheaper and more sensitive.

For your application a LDR (e.g. ORP12) is almost certainly the best way to proceed, with a reasonably good colour response and a wide dynamic range (i.e. perhaps a Megohm down to a few hundred ohms). With a correctly chosen series resistor, READADC10 and a lookup table in the PICaxe (or a "DIY" ramp-generator/counter ADC) you might handle an EV scale with at least 16 doubling steps and ten increments inbetween (although normally only 3 are used/required). So the little 3-digit meters suggested by erco might well be a good solution, but note their minimum required supply voltage (a single 3v lithium coin cell might not be sufficient).

Cheers, Alan.
 

oracacle

Senior Member
Hardware aside the maths would be the tricky side of things. A single stop is half the amount of light, and to get an f-stop one of 1 the ratio would be 1/(sqrt 2).

I will try and get more info up over the weekend
 

hippy

Technical Support
Staff member
What I envision is a very small inexpensive unit that would not be a woe if lost. I'm thinking of using an 08M2, either an LDR or a photo diode, probably LDR for simplicity. A lithium button cell, 2032 or smaller and some sort of a display. The display is where I need most guidance. I'm considering using a Nokia 5110 but it's rather big.
The 5510 display isn't that large but I guess it depends on just how small you want it. Something the size of a cigarette packet ( not sure if that's a valid unit measurement these days ) would seem to me a reasonable size to aim for as you might need more than just a 2032 cell battery in practice. A 9V PP3 and small voltage regulator could be a good choice for that size. Maplins and others sell plastic boxes that size with PP3 compartments which I have found convenient for this sort of project.

You may not need a graphical LCD display and text LCD, digit LCD or simple 7-segment display may be usable. OLED displays offer good readability even in bright sunlight. The AXE131Y kit might be of interest. The 18M2 controller could be programmed to act as the light meter directly driving the LCD. People here could help with creating the code for that -

http://www.picaxestore.com/index.php/en_gb/axe131y.html

The project has three parts; the physical ( size and power supply ), the optics ( light detection and conversion or readings to lux or whatever ), and the display handling. Though inter-related they can be dealt with as separate parts of the project. I'd be tempted to consider the AXE131Y and then figure out what else is needed to make it what you want.

The hard part would seem to be in finding a suitable sensor and calibrating that to show the correct and desired reading. That should be easier if you already have a light meter. Members here will probably be happy to help figure out how to turn readings into results via an equation or algorithm.
 

hippy

Technical Support
Staff member
If considering using the 5510 LCD there is some discussion on using that on the forum, and for the 3310. I wrote code for a 3310 when they became available as break-out boards which allows that to be used as a large text display with proportional and double-width fonts, bar graphs and so on but I can't locate that now. The main problem with unmodified 3310 displays is poor back lighting, which is actually side-lighting.

The AXE131Y ( and AXE133Y ) have a limited graphical capability which is handy for displaying things like bar graphs and sliders but does mean more work for displaying text. The main limitation there is that pixels are in character blocks rather than continuous but they can still work well. I did have a nice demo for a display turned on its side as an 'analogue mercury thermometer' but can't find that now.
 

julianE

Senior Member
Wow. So many excellent replies, thank you. As far as size, a cigarette pack is too large I'd like something that's half that size. BTW, here is what I wanted to buy years ago, it was less dear then,

https://www.bhphotovideo.com/c/product/918762-REG/gossen_go_4006_2_digisix_2_light_meter.html

Thanks Stan74 for the info about the OLED 128x64 I have one in stock. I was not aware that it could be driven by an 08M2, my understanding was that all the character sets needed to be generated and the need for 1K screen buffer. I will read through all you posted and make a little test circuit.

I have used the TLS series light sensors and they are outstanding very simple to use but expensive. I use one for my darkroom purposes. I expect I will lose the light meter so probably best to go with a simple LDR. Perhaps have two switch selectable series resistors maybe a 500K and a 50K, will need to test which values would make most sense.

As far as enclosure, maybe a candy tin, the smaller size one or I might just make something out of cardboard.

i do like the 3 component solutions but it's a Picaxe forum and I'll try to stick with using an 08M2.

To sum up, LDR, single 2032 cell, OLED display only displaying numerals. As a start just an EV reading with maybe a piece of paper attached to the back giving me a list of possible fstop/shutter combinations. Might be nice to have the picaxe give me a couple settings maybe for F5.6 and F11. I envision it as just an alternating display, perhaps show a value for 1.5 seconds.

Sound reasonable?
 

Goeytex

Senior Member
Another option might be the TI OPT3001. About the same cost as the TLS235. It is essentially a LUX meter in a chip. I2C interface, output in LUX.

http://www.ti.com/lit/ds/symlink/opt3001.pdf

Many others options as well. Go MOUSER or Digikey ( or others) and do a parametric search to see what's available. An intelligent device will save time in both hardware and software development.
 

manuka

Senior Member
It'd spoil constructional fun,but surely consider diverse LIGHT/LUX meter apps. available for Android devices ?!

Although tending indicative rather than precise,the beauty of such Android apps (& no doubt also Apple) is that they'll be readily at hand on your smart phone of course,to promptly give insights on ambient illumination levels. The validity of the returned readings may be device specific, but photographic light meters can also be retro emulated - David Quiles "LightMeter" is well thought of.

Aside from classic film photography I've used several such apps. extensively when installing & tweaking diverse modern LED lights & checking ever improving relative lux/Watt output- a professional LUX meter allows cross refs.,but it's often absent when needed. Stan.

Footnote: Sub standard lighting in public areas,walkways and workplaces has become a particular pet hate of mine,as poor lighting is increasingly inexcusable with today's efficient, reliable, low voltage, cool running, compact, robust, instant starting and ever cheaper LED lamps!
 

Attachments

julianE

Senior Member
Although tending indicative rather than precise,
I have tried light meter apps with a windows phone and it was beyond bad, it did look pretty.

Thanks for the suggestion, I am very grateful for all the responses. My next step is to figure out how to use the inexpensive OLED module it would make a dandy display for so many projects. I've been reading stan74 tron program and it's very impressive, I'm not overly bright so it will take me a while to deconstruct.
 

julianE

Senior Member
No, it's a windows phone, one of the few products microsoft got right that completely failed in the market place. I do have android tablets.
 

AllyCat

Senior Member
Hi,

Perhaps have two switch selectable series resistors maybe a 500K and a 50K,
IMHO that's not a good idea, the PICaxe ADC inputs are specified to be driven from a source impedance of no more than 10k. Perhaps push that to 20k, or somewhat more if adding a (non-electrolytic) capacitor acroiss the input to ground. But with only a 10 k resistor a READADC10 can still resolve to better than 10% (i.e. more than 10 ADC steps away from ground or the supply rail) over a full range from 100 ohms to 1 Mohm (i.e. ~13 f-stops).

The TI OPT3001 is probably rather beyond your price point, but it might ease "calibration" issues and it's worth reading its data sheet which explains why you should NOT use an IR-sensitive sensor (such as a silicon photodiode). However, calibration might still be an issue because it (and a LDR) will have a "cosine" angular response (i.e. "viewing" the inside of half a sphere) whilst you probably want to mask it to a (much) narrower field of view. Of course the Westons also had their "invercone" (diffuser) option to make incident light measurements.

Another issue may be daylight (direct sunlight) readability, where a "mechanical" type of display might be better. Perhaps you've even found an application for Buzby's little stepper motor (joke). Maybe a reflective LCD or an OLED can be ok, but note that I believe stan's code is for an X2 chip, which may not port directly to an M2.

Cheers, Alan.
 

hippy

Technical Support
Staff member
The TI OPT3001 is probably rather beyond your price point
That appears to be about £2 each when I checked with Mouser, so would seem to be a no-brainer as far as I can see; apart from its small footprint. With only 6 legs that might not be a major problem and breakout boards are probably available.

The software effort to use the OPT3001 may be more than using an LDR or photodiode but probably worth it for what advantages it does bring to the table.

www.mouser.co.uk/ProductDetail/Texas-Instruments/OPT3001DNPR
 

AllyCat

Senior Member
Hi,

Yes that chip does look very "nice"; you can now get a ridiculous amount of functionality at tiny prices (and unfortunately sizes), probably driven by mobile phone/tablet applications, etc.

But £12 (UK) shipping from Mouser, and the cheapest (Chinese) breakout assemblies I found were around £5, with the potential of a month's wait for it to arrive. :(

Cheers, Alan.
 

stevesmythe

Senior Member
If you have the right credentials (I think just a business email/url), you can request a free sample (including free postage) from the Texas Instruments website.
 

julianE

Senior Member
IMHO that's not a good idea, the PICaxe ADC inputs are specified to be driven from a source impedance of no more than 10k. Perhaps push that to 20k, or somewhat more if adding a (non-electrolytic) capacitor acroiss the input to ground. But with only a 10 k resistor a READADC10 can still resolve to better than 10% (i.e. more than 10 ADC steps away from ground or the supply rail) over a full range from 100 ohms to 1 Mohm (i.e. ~13 f-stops).
I agree Alan. I did some more reading, one of my spot meters only gives me an EV number and I use chart to translate that to shutter/f stop setting. It's just a 7 segment tiny led display in the viewfinder. I think all I need is a very limited range of EV values because older cameras have a limited range of shutter speeds and the best I can hand hold is about 1/15th of a second (I'm not a big coffee drinker and have steady hands). Here is a wiki of EV ranges,

https://en.wikipedia.org/wiki/Exposure_value#/media/File:Exposure_program_chart.gif

I only need a limited portion of that, probably from EV 10 to 17. Most likely an even tighter range. I have to find my spot meter and read some EV values just to see whats needed. I will enclose the LDR in a bit of a shroud to restrict its angle of view. Often, all I do is just read the reflected light from my hand and that gives me a nice middle value. Negative film has a lot of latitude so it really does not need a lot of precision. I have a few of the fancy chip based detectors but I really want to make this very inexpensive. I'd like to make a few of these meters and just leave them in the car and various camera bags, or just have them sitting next to a camera shelf and as I grab the camera I would just slip the meter in my pocket.

I have one of these for my RC planes,

http://www.ebay.com/itm/like/191891279248?lpid=82&chn=ps&ul_noapp=true

Something in that form would be perfect for a light meter, of course I can't just use the shrink wrap cause I will need to have access to a battery.
I have an older version of the said battery monitor and it uses an Amtel tiny chip. I'm thinking a 20M2 or maybe a 14M2 would do the job of driving the LED and also monitoring the LDR.
 

julianE

Senior Member
I'm now considering just having 7 LEDs to display EV level from 10 to 17, I can use either a 14M2 or 18M2, maybe flash the single LED indicating EV to make it easier to see in bright conditions. I'd like to use the touch command instead of a mechanical button, have not done that much hopefully it's not too difficult, I have the axe181 demo board and it works well enough.
Can I bring the picaxe out of sleep mode using the touch switch?
 

AllyCat

Senior Member
Hi,

Can I bring the picaxe out of sleep mode using the touch switch?
IMHO that's probably a step too far; I'd recommend a simple push-button. I believe the base PIC chips do support a "touch" wakeup (interrupt), but PICaxe only supports polled interrupts, so the PICaxe needs to be awake (if only briefly). Also, the touch oscillator is likely to drain a significant current, not really recommended, particularly if you're still planning to use a coin cell power supply.

But it would be an amusing challenge to fit it all on an 08M2 (IMO quite possible). A "Charlieplex" on three pins can drive 6 LEDs, four pins could drive 12 LEDs, and one or two of those pins could also have the LDR attached (and/or a pushbutton wakeup).

The LDR can be read using either an ADC input, or a digital input by timing (counting) how long it takes a current through the LDR to charge a capacitor up to a threshold voltage (in its simplest form the raw TTL or ST digital input level, but even the 08M2 chip has an analogue comparator). This "timiing ADC" method can give up to a 16-bit value linearly proportional to the LDR resistance! A linear to Log (EV) scale conversion is then simple.

Cheers, Alan.
 

julianE

Senior Member
But it would be an amusing challenge to fit it all on an 08M2 (IMO quite possible). A "Charlieplex" on three pins can drive 6 LEDs, four pins could drive 12 LEDs, and one or two of those pins could also have the LDR attached (and/or a pushbutton wakeup)
Alan, maybe I'll make that version too, will take some effort. I'll need to order some 2032 battery holders, I was sure I had some laying around but no such luck. I'll nix the touch feature and use a mechanical switch.

The oled is smaller than the picaxe but it doesn't need a buffer and the code is simple. A range switch is needed, ldrs are sensitive.
I'd just buy a used meter. I always took 3 pictures a stop apart to be creative, I loaded my own cassettes so film was cheap.
https://www.youtube.com/watch?v=9W4wRA9Q01I
Stan, very impressive video. What picaxe are you using? Can you share your code?

Do you have any OLED projects driven by 08M2?

I seldom bracket, I find if I overthink an image it looks stale. Of course, there are times I do take a safety second shot.
I go back and forth between medium format and 35 mm, my 4x5 camera languishes on the shelf. Film is getting precious I was surprised how high the prices have gone. Fortunately, I have a picaxe temperature monitored refrigerator full of film, I should have enough for at least 10 years :)
 

stan74

Senior Member
Not much to a bar gauge. I used a 28x2. I tried a digital display 1st but it changed to fast to read. the ldr is connected to V+ and dark is 255 and light is 0 so subtracted from 255. Maybe if the ldr was connected to 0V light would be 255.
I never got into colour printing,too dear (I was only 12) and getting film printed cost so I didn't bother with cameras until 16 years ago when I got a 2meg olympus that was heavy but took good pics.
main:
dirsb=%00001111
gosub InitialiseLcd
gosub clearbuffer
gosub ClearDisplay

adcsetup = %0000000000000001

start:
readadc a.0,b0
b0=255-b0/2
;
hi2cout (0,SSD1306_PAGEADDR)
hi2cout (0,3) ;set row=3
hi2cout (0,7)
;
hi2cout (0,SSD1306_COLUMNADDR)
hi2cout (0,0) ;set column
hi2cout (0,127)
;;
for ptr=0 to b0
hi2cout (64,255) ;new bar level bytes
next ptr
for ptr=b0 to 127
hi2cout (64,0) ;erase old bar level bytes
next ptr
goto start
 

julianE

Senior Member
Thanks Stan for sharing your code. I got it working, took a little bit cause I had to copy/paste from your Tron program for the subroutines and definitions. Works really well. Since I have the 28X2 and OLED on a breadboard I'll go and work out the steps, see if I can learn how everything works. It will be useful for many projects, the OLED is very inexpensive.


lbenson:

Nextion OLEDs can easily be driven by an 08M2--at least for certain projects--but you don't have many pins left over for useful work.
I'll eventually buy one of the Nextion displays, been looking at them for a while. I like the idea that you can have a custom interface, very useful.
How is the response, is it equivalent to phone or tablet displays, I just looked it up and it's a resistive screen instead of capacitive, I know that capacitive is prefered but I have used resistive and it wasn't too bad.

The price is certainly reasonable.
 

stan74

Senior Member
Hi julienE, I to am impressed by these cheapo oleds. As rev ed says, "you never look back".
I bought a RPi lcd resistive touch screen for £12 ebay. 408x320 but darned if I can change the pi's screen res. These to could work with picaxe but they're dumb displays. Nextion is elegant,if a bit learning curve with the editor. There's a scrolling data/oscilloscope part.
The oled I used can hardware scroll but it wraps around so an oscilloscope is just erasing the left edge with new data. I copied the controls from some where and the guy sets them up in eeprom then reads them back and writes them but you might want to mod that to hic2out (0,controlcode1,0,controlcode2) etc. A 0 means a control code is to follow. 64 means data byte to follow (use that to write to screen ram which I set up easy) When you write to screen ram the oled automatically increases it's pointer to the next byte.
The guys original code used writei2c (64,0,0,0,0,0,0,0,0) but changing it to hi2cout and you can only send 1 byte, (64,0). There's a line tx_buffersize=32 which might or not have something to do with it but must be sorted as sending 2 bytes is slow ie cls is
for ptr=0 to 1023:hi2cout(64,0):next ptr but the guy send 8 bytes with write.
 

oracacle

Senior Member
Be it for future implementation EV is calculate as log2 (fstop sqrd/ shutter time). rearranged you can get the shutter speed from fstop squrd/ 2 ^Ev. I havem't had a need for obtaining Fstop from EV.
It may also be worth noting that the EV changes depending in ISO. What work I have done is based on an ISO of 100 for calculating shutter speeds for things like HDR and time lapse.

If your film still makes use of the ASA standard then the maths is still different. The wiki article on exposure value is quite an interesting read.
scantips also has a good page that has a table that maybe of use to you
http://www.scantips.com/lights/evchart.html
 

julianE

Senior Member
Thanks oracacle, very good link. I found my 1 degree spot meter last night that I can use as a reference to calibrate my meter.
I'm waiting for a 2032 battery holders, I ordered some from China and some from nearby, I should have ample holders to last me a long while.
 

julianE

Senior Member
Stan, very nice work, difficult math for picaxe. I've had a busy few days haven't had the time to work on any of my picaxe projects. An idea I've been considering is making a helper raw pic chip to do all the heavy lifting with the oled, in effect making a very inexpensive nextion type display.
 

stan74

Senior Member
The 20x2 is too slow to draw lines, I use the same oled with a 18f25k22 and arduino uno with compiled basic and lines are instant,so's filled boxes and circles. Sending bytes straight to the oled doesn't use much code or memory and as is the memory on the display is 8 rows of 128 bytes. You could use a 8m2 and put it in a tic-tac box idea or a focusable torch for spot or wide readings.
 

julianE

Senior Member
i tried porting over your LDR graph program to 08M2 and as it stands it will not work due to the scratchpad limitations, it looks like it will work with any X2 parts. Of course, a lot of the program I don't understand fully, will have to study more.
 

stan74

Senior Member
The plot/line code needs a buffer of 1024 bytes so you can or pixels and not rub out ones in the same byte.
That limits the picaxe options to 28x2 and 40x2 but if you hi2cout bytes you could use the bar gauge code I posted, you just need to setup hi2c and send the oled init codes. I'll do that for 08m2 if you want,I got one and could bread board a circuit. Spent hours converting code to another compiler and it's a pain but the library can't xor lines or pixels ie you can draw a line but not erase it. bollox library really so I'm using my line algo with their plot. oh the joy.
 

stan74

Senior Member
I haven't bread boarded this yet but it compiles. You need 4.7K pullup resistors on sda and scl.
Code:
;128x64 oled bar guage
#picaxe 08m2
setfreq m32
dirsc=?????
symbol SSD1306_ADDR=0x78
SYMBOL TWI_BUFFER_LENGTH 		= 32 ;oled control codes	
SYMBOL SSD1306_LCDWIDTH   		= 128
SYMBOL SSD1306_LCDHEIGHT            = 64
SYMBOL SSD1306_SETCONTRAST 		=0x81
SYMBOL SSD1306_DISPLAYALLON_RESUME 	=0xA4
SYMBOL SSD1306_DISPLAYALLON 		=0xA5
SYMBOL SSD1306_NORMALDISPLAY 		=0xA6
SYMBOL SSD1306_INVERTDISPLAY 		=0xA7
SYMBOL SSD1306_DISPLAYOFF 		=0xAE
SYMBOL SSD1306_DISPLAYON 		=0xAF	
SYMBOL SSD1306_SETDISPLAYOFFSET 	=0xD3
SYMBOL SSD1306_SETCOMPINS 		=0xDA	
SYMBOL SSD1306_SETVCOMDETECT 		=0xDB	
SYMBOL SSD1306_SETDISPLAYCLOCKDIV 	=0xD5
SYMBOL SSD1306_SETPRECHARGE 		=0xD9
SYMBOL SSD1306_SETMULTIPLEX 		=0xA8	
SYMBOL SSD1306_SETLOWCOLUMN 		=0x00
SYMBOL SSD1306_SETHIGHCOLUMN 		=0x10
SYMBOL SSD1306_SETSTARTLINE 		=0x40
SYMBOL SSD1306_MEMORYMODE 		=0x20
SYMBOL SSD1306_COLUMNADDR 		=0x21
SYMBOL SSD1306_PAGEADDR   		=0x22		; Page 0-7 represents line 0 - 7
SYMBOL SSD1306_COMSCANINC 		=0xC0
SYMBOL SSD1306_COMSCANDEC 		=0xC8
SYMBOL SSD1306_SEGREMAP 		=0xA0 | 1
SYMBOL SSD1306_CHARGEPUMP 		=0x8D
SYMBOL SSD1306_EXTERNALVCC 		=0x1
SYMBOL SSD1306_SWITCHCAPVCC 		=0x2

gosub InitialiseLcd
gosub clearscreen

adcsetup = %0000000000000010

start:
readadc c.1,b0
b0=255-b0/2
;	
hi2cout (0,SSD1306_PAGEADDR)
hi2cout (0,3) ;set row=3
hi2cout (0,7)
;
hi2cout (0,SSD1306_COLUMNADDR)
hi2cout (0,0) ;set column
hi2cout (0,127)
;;
for b2=0 to b0
hi2cout (64,255) ;new bar level bytes
next b2
for b2=b0 to 127
hi2cout (64,0) ;erase old bar level bytes
next b2
goto start
;-----------------------------------------------------------------
clearscreen:
hi2cout (0,SSD1306_PAGEADDR)
hi2cout (0,3) ;set row=3
hi2cout (0,7)
;
hi2cout (0,SSD1306_COLUMNADDR)
hi2cout (0,0) ;set column
hi2cout (0,127)
for b2=0 to 1023
	hi2cout (64,0)
next b2
return
InitialiseLcd:
i2cslave SSD1306_ADDR, i2cfast, i2cbyte
for b2 = 0 TO 23
	read b2,b0
	hi2cout (0,b0)
next b2
return
eeprom 0, (SSD1306_DISPLAYOFF);                   ; 0xAE
eeprom 1, (SSD1306_SETDISPLAYCLOCKDIV);           ; 0xD5
eeprom 2, (0x80);                                 ; the suggested ratio 0x80
eeprom 3, (SSD1306_SETMULTIPLEX);                 ; 0xA8
eeprom 4, (0x3F);
eeprom 5, (SSD1306_SETDISPLAYOFFSET);             ; 0xD3
eeprom 6, (0x0);                                  ; no offset
eeprom 7, (SSD1306_SETSTARTLINE);            	  ; line #0
eeprom 8, (SSD1306_CHARGEPUMP);                   ; 0x8Deeprom 9, (0x14
eeprom 9, (0x14);						  ; INTERNAL VCC
eeprom 10, (SSD1306_MEMORYMODE);                  ; 0x20
eeprom 11, (0x00);                                ; Horiz mode. 0x0 act like ks0108
eeprom 12, (SSD1306_SEGREMAP);
eeprom 13, (SSD1306_COMSCANDEC);
eeprom 14, (SSD1306_SETCOMPINS);                  ; 0xDA
eeprom 15, (0x12);
eeprom 16, (SSD1306_SETCONTRAST);                 ; 0x81
eeprom 17, (0xCF)						  ; INTERNAL VCC
eeprom 18, (SSD1306_SETPRECHARGE);                ; 0xd9
eeprom 19, (0xF1)						  ; INTERNAL VCC
eeprom 20, (SSD1306_SETVCOMDETECT);               ; 0xDB
eeprom 21, (0x40);
eeprom 22, (SSD1306_DISPLAYALLON_RESUME);         ; 0xA4
eeprom 23, (SSD1306_DISPLAYON);                	  ; 0xA4
get hippy to check it if it doesn't work :)
 
Top