18 August 2013

Rooting Android Phone

Assalam 'alaikum and very good day!

This is not a tutorial on how to root a phone, you can find one on some other great sites. What I want to share here is about the main idea rooting an Android phone. Basically it's about why, not how.

What is root?
People who ever used Linux operating system must be familiar with this term. Root is the right of access which can be said almost unlimited. For Windows user, you'll probably know this as an Administrator right. It's the same thing. It can access most of the resources, either hardware or software of a computer system. So you can say that by having this access, you can control pretty much everything about your phone.

Why root a phone?
There are some apps that require root access, and usually these types of apps is able to access a deeper level of resources such as physical memory and system files. Without rooting, these apps can't be used.

So how to root a phone?
I'm not doing a full tutorial, but only the general steps that are needed to be done for most phones. After you get the main idea, you will easily troubleshoot the problem arising in case the rooting process does not work. You can also explore different methods to do each steps.

In rooting your phone, there will be several steps, those are:
  1. Unlocking bootloader
    • Basically, bootloader is a small system which manages the booting process of your phone's OS. By unlocking bootloader, you will be able to add updates to the OS, which is needed to root the phone.
  2. Flashing the root file.
    • You need to have a file which will update the current OS with root access. Then, simply update it via recovery mode or USB. After that, the phone is capable of getting root access.
  3. Install superuser apps.
    • The phone is capable of root access, but how to use  it? Simply install a superuser apps from Google Play. When needed to use root access, the apps will prompt you whether to grant or deny the rights.
What can you do now?
Now, you can use apps which require root access.You can also learn to flash different OS into your phone. For me, I've tried several OS on my phone. The best ones I've tried are from CyanogenMod.

Other than that, I used these apps:
  • Link2SD : To manage my apps thoroughly. Apps that are immovable to SD card can be moved. System apps can be removed or frozen to free up the internal storage space.
  • GameKiller : An apps which have similar function to Cheat Engine. I use it to alter numbers in games. I'm not the type to use real money on games, so I used this apps instead to get those money.
  • CleanMaster : As it name suggest, it really cleans my phone. With this, I managed to always free up my phone storage and memory.
  • No Frills CPU : For overclocking. Now I'm able to make my phone runs faster. But the battery also runs out faster though. aha ha ha
  • LuckyPatcher : Try it, a nice apps ;)


15 August 2013

Customized HTC Wildfire S



 Assalam 'alaikum and very good day :)

I just wanna share about what I have done with my phone. For starting, my phone is a HTC Wildfire S which I bought about three years ago in which the price has go down like 80%. I don't have the knowledge to pick out a phone yet during the time, so the spec for this phone is really low.
  • CPU Freq. 600MHz
  • RAM 512MB
  • Internal storage 512MB
  
What's the problem?
As you can see, the CPU frequency and RAM is really low for a smartphone. After some month of usage, it will get slow and slower. The internal storage is also very small. Half of it is already dedicated for Android system, so the only left for apps are around 256MB only. Half of that 256MB is already used for the system apps, so basically I can only install 5 to 7 apps at most, considering they can be moved to SD card.

Why not buy a new one?
Can't afford them currently. And also, I'm waiting for Ubuntu Edge to come out. hehehe

The solution?
I've seen apps which will allow you to manage the system apps, but all of them needs root access of course. So the solution is basically rooting the phone. So I've done it.


Then what?
Then after a successful attempt of rooting the phone, of course I wanted to try more. So I tried flashing various custom ROMs, mainly from CyanogenMod. The summary is:
  • CM9 (JellyBean) : Runs quite slow.
  • CM7 (Ice Cream Sandwich) : Really liked it except for that it is unable to do video recording due to unreleased decoder by Qualcomm. So that's a no.
  • CM5 (Gingerbread) : Nice, but I don't really like it. Plus, the built in apps had already eat up much spaces.

So what now?
I finally changed back to the stock ROM, though I've used app2SD which allows you to manage system apps and mount a 2nd partition for linking system apps. So basically this apps will allow me to install more apps.

For the CPU problem, I've changed the kernel to Sense Fire kernel and used No Frilss CPU Control apps to overclock my phone. Now it runs even faster. I just do overclock for playing games though.


Additional topic
Usually, HD games cannot be played on low spec phone like mine, but recently I've found that some people made it available. For example, Subway Surfers cannot be played, but I've found the apk for Armv6 architecture and HVGA devices. So yeah, I can now play that game. Though it runs quite slow at first, but after overclocking the phone, I can play it. Diner Dash also lag at first, but runs smoothly after overclocking.

For low spec phone users
This is a good way of improving your phone. Not really improving actually, but more like taking the most out of it. But the message here is that your phone might be capable of more than it seems, so use it wisely. I've done this after my phone's warranty had ended since unlocking the bootloader and rooting it will void the warranty.

07 May 2013

Virtual Thermometer


I've recently bought a book for learning Visual Basic (VB) since I've never learned them. I have not yet finished the book, but due to my hype towards microcontroller, I've already worked on a simple project which uses both VB programming and an Arduino.

The project is simple, it sense the surrounding temperature using a temperature sensor, Arduino reads it and sends it serially to a computer running a program written in VB. The program will then display the temperature continuously.

Although simple, the highlight of this project is the algorithm I wrote (which probably already thought of by some other people) to let the user to use the program right away without needing to select the baud rate or serial port for the serial communication with the Arduino. It will automatically be selected in the background.

The connection for the Arduino and temperature sensor (LM35) is as follow. The Arduino is then connected to a computer via the USB cable.
Connection between Arduino and LM35


The program written in VB (for now named Temp Sense) will display the temperature as follow. Inside the form TempSense, there' two label, one for displaying the temperature and another is the degree celcius symbol (°C). There's also a status bar displaying the serial port which is connected to the Arduino.

The program's interface



Below is the code for VB program.




Below is the code for Arduino



As confident as I wrote this post, the project is actually not going that well. I have not done enough research and learned everything that I should. The program does receive and display the temperature, but the problem is, the program is "locked". It cannot be closed when it reaches the looping state. I'm still finding ways to let the loop runs without disabling the controls of the program. Any help with this problem is very much appreciated. Leave a comment.

That is it for now. Looking forward for solution and probably other project.


Credit the first picture from:
http://hanez.org/2011/04/11/arduino-lm35-temperature-sensor/

06 May 2013

Blog Baharu

Assalamualaikum.

The blog is emptied to give it a new kind of look. Instead of posting about my personal life, I want it to contain posts regarding my hobby, interests and opinion. As for hobby, it is mostly electronics, computer engineering and programming. This includes Arduino and Raspberry Pi.

Let's just hope my determination for now will not just be "Hangat-hangat tahi ayam".