2013-01-26

Repairing Samsung SyncMaster 920N

I bought this monitor around six months ago. It was slightly used, with even some scratches on the screen but as I used this monitor as second one it doesnt bother me very much. 

This morning I woke up, switched on both monitors and this one didnt want to light up. That means - Its power light responded and computer recognized it but no backlight working. 

Four screws for stand, two more in both lower corners.
I knew exactly what happened with it because I had exactly the same issue with the primary monitor which is same brand and model. There are two bad capacitors on that board which were gone boom. I decided to change them by myself. 

Previously in the primary monitor there were both capacitors and one MOSFET fried. That time I changed whole power board because of this fried MOSFET. 

First assumptions were that only these two capacitors were bad so I decided to change only them. But after changing them the monitor still didnt work and I saw that MOSFET frying with smoke. 

That observation killed all my hopes for repairing that circuit board by myself. Firstly I didnt have such MOSFET available and secondly, if I would have it, I wouldnt be able to solder it because not having proper instruments. 

Somehow I noticed that on this power board there are two identical MOSFETs. As I had saved this old power board from first monitor repairs, I thought - I could loose nothing if I would try to desolder off the one which wasnt fried from that old power board and change with that fried chip on the original power board of this second monitor. Well.. doing it carefully as much as I could, I got that monitor working again! So, I have skill up in soldering small things :D Here are some insights of how this monitor looks from inside.


See more pictures --->

2013-01-11

Telephone number representation in ... one pixel..

Lets say I have a telephone number which consists of 8 numbers - "29945987"
How to shorten it? Well.. one could convert it to different numeral system with base greater than 10.. The most popular would be hex numeral system with base-16. In that case the number would be "1C8F083" with only 7 symbols in it. My friend tried to convert it as an ASCII but didn`t do it mathematecally correctly :D so he has to rework it.

Ok, but - how to get it on a ... pixel? Well, what exactly is pixel? Working with different imagery software (starting with most popular and simplest Microsoft Paint and ending with complex Adobe Photoshop, Gimp, etc) users can "paint" or do whatever they are doing with custom made colors chosen from software color palette. The color "consists" of three "base channels" representing colors - red, green and blue each having a value from 0 to 255. So each pixel has these three values. Even better, there is some "pixel formats" with additional alpha channel for opacity. 

What does it mean? It means, that in the one pixel there can be stored value, which doesn`t exceed 255^4 =4`228`250`625 - numerical information with 9 characters is safe to save in one pixel. Even better - in two pixels we can safely save information about 19 numbers or the maximum value stored in two pixels is 1.78781033478129 × 10^19 or 17878103347812900000.

The next thing is - how to encode and decode such an information?

Lets try to encode my number "29945987" in pixel step by step. Despite maybe there are another approaches how to do it, this one is mine:

The main rule is I have to split the number in 4 parts with values from 0 to 255.

The first part will be the alpha channel.
The value of alpha channel is calculated as the floor value from division of my number and the value 255^3

floor(29945987;255^3)=floor(29945987;16581375)=1 (alpha)

The second part will calculate the value for the red channel. For that we firstly need to calculate with remainder (first) of difference between given telephone number and 255^3. 

mod(29945987;255^3)=mod(29945987;16581375)=13364612

Lets see is this number dividable with 255? Not really, there will be again some remainder (second) left. In such a case this second remainder can be any value from 0 to 255. Let us this value be the value for red channel

mod(13364612;255)=62

From here everything tangles, could be hard to follow.
What else we can do with the remainders we have? Previously we got second remainder with value 62. Subtracting it from first remainder, can this value be divided with 255^2?

13364612-62=13364550

In this case no, there is third remainder with value 34425.

mod(13364550;255^2)=mod(13364550;65025)=34425

Again, we are calculating the difference between second and third remainders getting the number which can be divided with 255^2 without remainder value=0.

13364550-34425=13330125
The division between calculated difference and 255^2 will be the value for third - green - channel. The calculated value will be lower than 255^3.

13330125/255^2=13330125/65025=205


And the last - blue - fourth channel value will be the division between third remainder and 255^1

34425/255 = 135

Does this all seems familiar? Well, this is my today`s empirical approach how to get values.
Actually - the similar approach could be done using base-x algorithm where x is any integer. In my case it should be 255.

And this is the RGBA color of my telephone number
And here it is in one small pixel:





2013-01-03

LFO midi parametriser

LFO midi parametriser is midi vst effect which usually goes before vst audio input. It creates certain midi cc messages with values derived from LFO. Synchronizable with host. Can be downloaded here.








Double8bit chiptunes synthesizer.

In these last New Year holidays I was figuring out how wavetables works and what can be done with them. This one is simple 8bit (256 samples length) wavetable VSTi synthesizer with syncable 8bit LFO. Waves can be drawn with mouse directly on wavetable area creating different user wavetables and save as txt files for further use. This synth has ADSR envelope, two-knob filter, LFO synchronisation with host, inner volume and gain control. Lite version can be downloaded here. Without LFO mix.