Wednesday, December 30, 2009

The Swizzler Download

[edit: The Swizzler now has it's own blog! Check it out at: Digital Dreams in HD: The Swizzler Blog]

Ever wanted to apply high quality special effects to video in real-time instead of pre-rendering effects?

The Swizzler (currently version 0.1alpha [edit: not really alpha, this version is stable and working quite well. It was named alpha due to being the first release. version 0.7 is coming soon! check out Digital Dreams in HD: The Swizzler Blog]) is a GPU accelerated windows media player application capable of applying special effects to high quality video (up to full 1080p HD video has been tested to run smoothly) System requirements are windows, .NET framework 3.5 sp1 (installed if you have the latest windows update). It is now available for preview download here.

Some screenshots:

The screenshots quality have been lowered due to upload limitations.

Some of the effects included in this software are:
- Color Correction
- Brightness and Contrast
- Edge Detection
- Banded Swirl
- Pixelate
- Light Streak
- Toon Shader
- Directional Blur
- Emboss
- Color Emboss
- Grayscale
- Invert
- Sharpen
- Color Threshold
- Outline
- Zoom Blur
- Edge Fade
- Vignette
- Erode
- Watercolor
- Splitscreen
- Splitscreen flip
- Swirl
- Pinch

Effects can be stacked (you can apply different effects simultaneously) and many of their parameters may be adjusted using the controls on the fly. The interface is simple and straightforward.

This application is brought to you by the power of WPF (windows presentation foundation) and will only work on windows XP, Vista and 7. A dedicated GPU is not required but is highly recommended as the effects are quite graphics intensive. Integrated graphics cards will work as long as they support pixel shader version 2.0 (which most do).

Thanks for taking the time to try out my software = ) If the above link doesn't work, or you didn't find it. Click here:

Not all of the shaders were written by me. Some shaders were taken from the Microsoft DirectX shader library and some from Shazzam, a great tool for pixel shader programming. The video used in the screenshots is Coral Reef Adventure HD taken from the Windows Media HD content showcase.

There are many more features to come. I appreciate any feedback and comments. Please feel free to contact me with bug reports, suggestions, errors, etc @ fakhruddin087 at gmail (thats zero-eight-seven). Thanks for trying out my software ;)

This program was written and published using Microsoft Visual C# 2008.

Thursday, December 17, 2009

Microchip programming. It's a lot easier than you think ;)

Greetings all. This is my first post on Vortex Electrica and I hope it will be the first of many. Today I'm going to write about basic microchip (or microcontroller for you purists) operation and application. First of all allow me to define what a microcontroller is. A lot of you may know the terms microcontroller and microprocessor, but what exactly are the differences between these devices? They are different by the way. Both microcontrollers and microprocessors can be called microchips.

Basically, microprocessors are CPUs. They can process data. Whereas microcontrollers are a combination of CPU, memory, and peripherals in one device. Peripherals are devices that have other functions that allow for interfacing between the microcontroller and other devices, such as input/output pins, analog to digital converters, digital to analog converters, and etc. Memory can be RAM, ROM, EEPROM, and etc. In this post I'll be focusing on microcontrollers and what we can do with them. More specifically, I'll be posting about the 08M PICAXE chip which is a great chip for beginners.

Above is the PICAXE-08M package picture and pin descriptions. The first pin is always the topmost pin left of the notch. Referring to the above figure, we can see that the 08M requires a +5V power source, it has a serial input and output, 4 digital inputs, 4 digital outputs, 3 analog inputs, a PWM (pulse width modulation) output, an infrared input and output, a tune output, and a ground connection. However, not all of these functions can be used at once due to the restriction of pins. What can we do all these?

Digital inputs and outputs: Can be used for anything from turning on LEDs to controlling robots when used as outputs and can be used as switches or condition checkers as inputs. For input, a low (0) signal must be between 0-1.5V and a high (1) signal would be from 3.5-5V. The nominal voltages for output are 0V for a low signal and +5V for a high signal.

Analog inputs: These are ADCs or analog to digital converters. The range of voltage allowed for the analog signal is 0-5V. The ADCs in the 08M convert an analog signal to a digital signal with 8 bits. For example, 0V analog would be converted to 0000 0000 binary, 5V = 1111 1111 binary, and 2.5V would be approximately 1000 0000 binary. ADCs are useful to check signal strength, for example in sensors, and also for reading analog values which we may want to manipulate. For example, we could make a voltmeter using the ADC function.

PWM: PWM is pulse width modulation. A PWM signal is basically a square wave signal which can be asymmetrical, meaning it can have a longer on time than off time and vice versa. PWM signals are useful for control purposes. For example DC (direct current) motors speed can be controlled using PWM signals.

Infrared input and output: These are pretty self-explanatory. They are infrared ports which can be used for receiving and transmitting infrared signals. Using these the 08M can communicate with other devices using infrared signals. For example, we can use the 08M to create an infrared remote for TVs, DVD players and etc. Device commands for common Sony devices are even included in the 08M datasheet! On the other hand, we can use standard infrared remote controls to control the 08M. Imagine creating a remote controlled robot that can be controlled using a TV remote  ;)   Maybe I'll try building one myself in the future.

Tune output: When this pin is connected to a buzzer/piezoelectric speaker, we can make music using the 08M. Monophonic ringtone 3310 type music yet music nonetheless. The 08M datasheet has a great guide for making music and even has a musical keyboard reference for making your own tunes. The 08M also has four inbuilt tunes which are Happy Birthday, Jingle Bells, Silent Night and Rudolph the Red Nosed Reindeer.

So, how do we get started on using all these functions? First we have to construct a main board for the microcontroller as an interface for the microcontroller with sensors, leds, infrared leds, buzzers, and also to supply power to the microcontroller. Below is a typical 08M mainboard.

Shown above is the circuitry for the mainboard. You can design your own mainboard or order boards online from the PICAXE website. The website also contains excellent documentation with all the datasheets and information you need to get started. In my opinion, absolutely anyone can learn to use these PICAXE chips in a short time with diligence due to the simplicity of the systems.

Programming for the microchips: The microchips can be programmed easily using free software from the PICAXE website. The software programs the microchip using the BASIC language which is fairly straightforward and easy to learn. Most of the syntax is self-explanatory and simplified for easy use and application. Besides using the BASIC language, the microchips can also be programmed using flowcharts! You can't get more straightforward than that. All of the required information on programming can also be obtained from the PICAXE site. To show you a glimpse of how easy the programming is (some of us give up just at the thought of having to write a program) below are examples of using BASIC and a flowchart to turn a LED on and off at pin 4 with a pause (in milliseconds) of 1000ms and 500ms.

Even if you've never programmed a line of code in your life, that has to be pretty easy to understand right?

Programming the microchip: After creating the program, we need to program the microchip. The microchip has to be connected to the COM port or USB port using a COM port to serial input cable or USB to serial cable respectively. Then the programming software can be used to program the microchip. The microchip has to be turned on during programming. After programming, the microchip will instantly run the new program. It's as easy as that.

With that I conclude this post. I hope it has been as much fun reading as it has been for me writing this. More than that I hope that you have learned something and developed an interest in microcontrollers. You are all welcome to share anything you may want to here or on a forum that I am a member of for extended discussion.

helpful websites:
PICAXE website (They even have more advanced projects such as a fully functional net server!)
Student Portal Forum (Great new forum for academic engineering discussion)

Disclaimer: Some of the above material has been taken from an IEEE robotics workshop. I suggest any electric/electronics fan to look into the IEEE as the programs they conduct are extremely helpful in many ways.

Tuesday, October 13, 2009

The Roots of Vortex Electrica (VE)

Assalamualaikum guys....... Here I'm providing for a perspective article on how each of the members of this blog felt about this whole thing.

VE started out as two students (me and beautifulmind) started having discussions of the on-goings of the Electrical Engineering Curriculum, which in our opinion lacks project based approach. We were 2nd year students at that time and no EE projects were given by the lecturers, who also in my opinion sees us as incapable and unambitious as the ones they see prevalent among Malaysian students (at least most of them do).

Well it's time we prove that we're not of that breed. So when a lecturer, who was in charge of Electrical Machines, gave us an assignment on taking specs of a motor and study it, we decided that's it, we're building one. So we told the lecturer, and he gave an incredulous look, but then said, "Well if you CAN do it, then that is the best thing we all can do".

Result? There's the picture of the motor on the right side of this blog page.
This is why the logo of this club is in the form of an armature of a motor, our debut project which contributed to the origin of this club.

So, two years already, 3 major projects have been done, all in physical form, no softcopy, simulations or paperwork crap included. Excluding our projects which are self-driven, which are countless, we headed to newer dimensions of practical electronics, and that, my friends, needs the interest and zeal to realize.

Now for the big question: Why this blog? The way I looked at it, this is a place to put in projects done the Malaysian way; this is because being Malaysians means limitations in investments and resources due to the public perception in stuff like these, where the Malaysian mentality is like: If you're smart, you do medicine. Otherwise there is no future out there for you.

Not all of us can bear to invest too much in electronics projects, which tend to be demanding of MONEY. So this blog discusses the way to get through projects and spending a lot less than the ones used by the 'net users, which is like: Buy. Assemble. Test. This blog endorses the idea of Electronics: The Malaysian Way, as I see it.

We're all tight up on schedule due to being final year students, and whatnot our thesis titles are among the ones rated 'very difficult/challenging', supervised by one of the most respected and strict Professors in the department. So in time, perhaps when things start to fall into place, there will be more articles, insyaAllah.


Sunday, September 6, 2009

Get your own homemade rechargeable battery pack!

For electronics hobbyists, money has always been one of the most demanding constraint, and so every little improvision will save a lot of money. In this article, I’ll demonstrate a simple and VERY money-saving approach to obtain your own rechargeable battery pack. These battery packs power my DIY RC battle tank, The Howitzer, which will be featured in future articles, Insya-Allah.

First, scrounge on every source of rechargeable batteries you can get, for instance cellphone batteries from your family’s broken cellphones, broken mp3 players, broken PDAs, any device that needs charging. Also, you can buy cellphone batteries from very old models like the Nokia 3310.

The cellphone also contains excellent DIY stuff that can be hacked like the LCD panels, small motors for vibration, and others for your use! So don’t throw them away first, they’ll be useful for future projects.
Here are the batteries in one place:

Note that the second battery from the left is a PDA battery, and the rest are cellphone batteries.
I’ve soldered the terminals with red (as the positive terminal) and black (as the negative terminal).
Then, assemble the batteries according to your preference. Mine’s like this:

You can use plastic panels to build the casing if you like, but I prefer it to be simple so I used electrical tape, which is quite strong and durable.
As for the recharging, use any extra battery chargers that you have (I had a lot of it!)

Just dissect the charger from its plug, and solder new pins so that it can be plugged into the new battery pack. The basic rule is that the positive terminal of the charger should be connected to the positive terminal of the battery, and so for the negative terminal, while charging.
I always had people from the ‘net warning about the battery might explode if we recharge it ourselves, but I had been doing the things I did with around 20 of them, and none ever did. Just to be safe, you might want to cover it with a protective casing so that IF it does explode, the casing will take the load.
One tip I discovered: A weak battery can be 'recrystallized' by reverse charging it for a few hours to restore some of the battery electrolytes. To be safe, put some protection in case the battery leaks or ruptures when doing so. I take absolutely NO responsibility for any accidents which might happen.

That’s it! A 4.5V rechargeable battery pack costs around RM70 here, but you can build one yourself virtually for free! And what’s even better is that you can customize your battery pack design to fit your prototypes!

Another thing to bear in mind: It is okay to connect different types of batteries in series, because as long as each battery is delivering their own share of power, it should be okay, except if one of the batteries run out of power to be delivered, then you need to recharge it so that it doesn’t reverse-charge itself (a phenomenon inherent to batteries; it reverses its polarity when it runs out of power. Beware that it might explode if ignored) so you need to continually monitor each battery from time to time.

That’s all, see ya soon!

Saturday, May 23, 2009


"Faces of birds" , that what we call when in this suite . This is the protection suite to avoid silicon die and small electronic component effected by dust. 11 Mei 2009 , we are going for another level of engineering education process, internship which will expose us to real engineering working environment.ON semiconductor Seremban , a multinational company with the headquaters locating at Phoenix Arizona , USA doing silicon wafer fabrication and packaging for electronic component become our choice ( actually there is no choice for us ). This internship will end 17th July 2009. So,the progress for updating this blog become slower. But , staying together make our "Vortex Project" become more powerful in the night side after back from working.

There are more project will be done in this 10 weeks. Wait for the next project that will be uploaded here.And please , if you have your own project and want to share with us , send your article at .Some preparation for the next ROBOGAMEZ 2009 competition also in our schedule.

If you want to join this competition , more information you will get from this link . Practical approach for better engineering education.

Wednesday, May 6, 2009

For you the 1st eyes

ROBOT is something that build to fulfill human needs, to obey ( artificial intelligent robot ) certain rule that have been thought (programmed ) in its brain (microcontroller / microprocessor / BEAM brain) , to do specific repeating process/progress (dull robot).For me , human that create robot are intelligent because they are manipulating those robot to do their job. There are two different dimension of time between the robot and human. Average reaction time for homosapiens mechanically is 215 milliseconds. When entering into the dimension of time domain for robotic responses , the fastest reaction time that I was programmed until now is ~500 nanoseconds which mean 400000 times faster than ordinary human response. Simple arithmetic 8-bit binary can be done in 200 nanoseconds. That why , the solution for a complex problem is only with manipulating semiconductor brain. We(Human) are manipulate them. Realized either you or robot have the highest IQ. Now use your beautiful brain to think!!

For this post , I’m actually want to share the idea and knowledge about electromagnetic wave sensor or in simple way the frequency fall into visible light and it is know as light sensor. Its feels good seeing something you build works as what you want.

First autonomous robot that I ever build known as “Photovore” from BugBot,Junkbot books. Photovore is BEAM family robot and functioning as light seeker . But ,is it enough for you to satisfy something that you build 100%(+2% noise) totally copied from a book? from internet? If not , understanding what is happening inside Photovore system become necessary. Doing something without knowing anything same as wasting your time even it is for your thesis. The brain is only contain a single chip of LM339 Operational Amplifier. The LDR(light dependent resistor) eyes is used as input for the comparator ,the first light sensor that I worked with. LDR is made of high resistance semiconductor. If light falling on the device is of high enough frequency , photons absorbed by the semiconductor give bound electrons enough energy to jump into the conduction band. The resulting free electron (and its hole partner) conduct electricity, thereby lowering resistances.

We as a electric/electronic student should know very well about the operation of operational amplifier in comparator mode. Change in intensity of light at LDR(Photovore eyes) will result changing in resistance through it. From 5V supply, there will be a ratio in dividing 5V in two LDR. If Left LDR have higher intensity of light compared to the Right ,then it will have a lower resistance through it. Using simple theory of voltage divider, the lower resistance will get lower voltage on it. This voltage act as an input for the LM339.Right and left reference is actually is connected to a variable resistor. By adjusting that resistor , right and left reference will change. Reference is a comparing value to the input. Example right reference=2.5V , voltage drop across Left LDR=3V,the output from left system of LM339 will be 0.5V.Right Motor will get 5V-0.5V through 2.2K resistor = 4.5V feed to the right motor. The same thing also happen in the other side. We are manipulating the changing of LDR resistance to make that system works as what we want. At dark point , resistance across LDR can be around 50~100 K.ohm and it can be as higher as 200K.ohm and above .From that only we can think further the used of LDR. It is beautiful.

For the next stage , we will see how LDR works as line sensor and colour sensor. Make sure you really understand the simple “super double basic mayo” function of LDR.

Related Posts Plugin for WordPress, Blogger...