Recently in Android Category

I bought my wife a Google Nexus 4 for Christmas and then for our anniversary, I purchased her the wireless charging accessory that is available for it. I was almost instantly green with envy. As a pretty avid user of my smart phone, I very rarely make it through a day without needing to charge.

I wondered how difficult and expensive it would be to add wireless charging to the Samsung Galaxy S3. I had read rumors that Samsung would be selling a wireless charging system, but the phone's been out quite a while now and nothing seems to have reached the market. Considering the fact that Samsung's marketing department is cranking up on the Galaxy S4, I'm dubious about whether something will come out for the Galaxy S3 from Samsung.

Unexpectedly, I stumbled across this thread on the XDA forums which detailed an "easy" way to take pieces from obsolete Palm phones to add wireless charging to the Galaxy S3 in five minutes. In reading the thread, there didn't seem to be anything that I felt I couldn't do, and in looking at prices on Amazon, the parts were going to add up to much less than what I paid for my wife's charging mat.

Over the years I've found that when someone says something is "cheap & easy" on the Internet to do yourself, somehow it manages to turn into expensive and frustrating when I take it on. But considering the fact that the parts cost so little, I couldn't help but give it a try.

Parts List:

  1. PALM Pixi Touchstone Back Cover
  2. Palm Touchstone Charging Dock
  3. Copper Tape
  4. Rare Earth Neodymium Magnets 1/4" X 1/16" (optional)

I wound up deciding the magnets might be useful in getting the phone to align with the charger, so I went ahead and picked those up. But that's a completely optional item.



Tools Needed:

  1. Scissors
  2. Scotch Tape
  3. Glue Gun
  4. multimeter
  5. Pocket knife
  6. Something slender and somewhat pointy; like a small screwdriver

The long and short of the mod is that you remove the wireless charging guts from the PALM Pixi phone cover, flip it 180 degrees, position it correctly in the Galaxy S3 phone cover, and then use copper tape to connect the charging terminals in the phone to the wireless charging guts. Cheap and easy, right? Not necessarily so in my case. I followed the steps online pretty closely and found them to be adequate but left me wanting additional details, and ultimately either defective parts or my own inexperience caused me problems.

After getting everything put together and into the back cover of my Galaxy S3 I placed it on the charger and tried to read the voltage off the contraption. Sadly, the multimeter read 0.00. I futzed around for a good hour making sure the copper tape was taped down and there weren't any loose but never could get any positive readings off of the multimeter.

I began to become concerned about a few things. Firstly, I had read in the thread, that positioning of the coil was important and could cause issues if you didn't have the correct alignment between the coil and the charger. Secondly, I became concerned that I had defective or incorrect parts. And lastly, I was practically convinced that I had damaged the parts in the process of disassembling them somehow.

Assuming I had obliterated the electronics when disassembling and relocating the coil into my phone's cover, I decided that I would order an additional Pixi Cover. On top of that, because I wanted to be able to charge via the Touchstone in a couple different places, I went ahead and ordered an additional Touchstone too.

Originally I had planned to nicely set everything using hot glue, but in the process I took everything apart and put it back together again in a variety of different configurations. When I got everything put together and functioning well, I simply decided that the scotch tape I had used to tack everything in place was going to be sufficient.

Having had these difficulties in my first attempt, I thought I'd write a detailed step-by-step of how I accomplished the task for the people out there like me who are more proficient in destruction than they are in creation. The difference between my successful and unsuccessful attempts was the liberal use of my multimeter at almost every step of the way.

  1. Test the AC Adapter and Micro USB cable by plugging them into an outlet and into your phone. Your phone should start charging. In your phone's settings, select Battery and make sure it says Charging (AC).

  2. Hook the USB cable up into the PALM Touchstone and place the PALM Pixi cover on the Touchstone. The magnets in the Touchstone should align the case correctly. Using your multimeter, test the DC Voltage on the two contacts inside the cover it should read around 5.5v. If it doesn't right off the bat, then you probably just have it misaligned, so fiddle with it a bit to see if you can get the correct voltage read off the device. I noticed that my Touchstone whines very quietly when it's properly aligned. When it was misaligned, it would be quiet or intermittently emit that whine.

  3. Carefully disassemble the PALM Pixi cover. Everything is glued or taped in there, so taking it apart is pretty simple. The most stubborn pieces are the four metal discs.

  4. Take four of the Neodymium Magnets and place them on the PALM Touchstone like in this picture. Using the four metal discs and some scotch tape, set the four discs low in the back of the SGS3 cover. Make sure that their positioning and alignment roughly match what they did coming out of the Pixi cover. Test fit your SGS3 cover to the Touchstone and make sure the discs and magnets line up well.

  5. Flip the coil assembly (Coil, circuit board, flexible circuit board thingamajig) upside down and on it's back. Then fold the flexible circuit board back on itself so that the positive and negative terminals are exposed. Center the coil in the four metal discs and then cover the bottom half of the coil with the t-shaped sticky tape that had been over it in the Pixi cover. Use the scotch tape to tack everything in place.

    Note: This is an incredibly important step. I tried very hard to skip this step because this is where I was afraid I had damaged my first Pixi cover. However, it's not possible to use the tape and line up the terminals with the battery terminals inside the phone. That's why the author in the XDA forum thread said this was the clever part of the modification.

  6. Put the SGS3 cover on the PALM Touchstone, which should be plugged in to the wall, and make sure you're getting a reading of around 5.5v on your multimeter.

  7. Set your SGS3 cover on its back next to the phone and eyeball where you're going to need to use the copper tape and cut a few strips of the copper tape about 1in" x 1/8in". (actual lengths may vary)

  8. Take two strips of the copper tape, and on one end of each strip, fold the end into a point. When doing this step, make sure you fold the shiny side over the sticky side to form your point because the shiny side is a better conductor than the sticky side.

  9. On the phone's charging terminals to the left of the battery, put the pointy end down between the terminal and the phone case. Use something pointy, like a pen, small screwdriver, the leads of your multimeter, etc. to gently push the pointy end of the copper tap down to make contact with the charging terminal. Run the other end of the tape (in the opposite direction of the other charging terminal) toward the edge of the case to just behind the case clips. Trim off any excess tape.

  10. Cut another 1/8" wide strip of copper tape. This tape will cover the top terminal on the flexible circuit board and then run to the matching edge of the case for the tape you ran from the top terminal in the phone. Place the back of your S3G3 on the Touchstone and measure the voltage, except this time measure from the terminal that has not been taped and the farthest point on your copper tape. If you're reading 5.5v, you're ready for the next step. If not, it probably requires a bit of re-taping. In the worst case, fold over the end of your copper tape and then tape that down on top of the terminal. The tape's sticky surface can interfere with the connection to the terminal.

  11. Repeat step 10 for the other terminal on the flexible circuit board and test your cover on both lengths of the copper tape.

  12. Put the cover back on your phone, eyeball the strips of copper tape on both sides and make sure they line up correctly and touch their counterparts. Also make sure that it's not getting shorted out on any other bits of copper tape. Carefully snap the case together.

  13. Put the phone on the Touchstone. Depending on your phone's software you'll get a message pop up saying that you're wirelessly charging!

Note: Apparently, this message isn't present in many aftermarket phone ROMs. If you've flashed any ROMs, don't freak out like I did if you don't see the dialog pop up . In settings, check battery and see if it says you're Charging via AC.



As the original author indicates on XDA, here are a number of things that could cause problems. In the course of this modification I ran into every problem except the second one.

  1. Positioning of the charging coil with respect to the Touchstone
  2. Not using a PALM AC Adapter with the Touchstone
  3. A lack of a good connection between the copper tape and the charging terminals in the phone.
  4. A lack of a good connection between the terminals orfrom the charging coil electronics and the copper tape
  5. You broke something, like I did

In the event you're worried about all the taking everything apart carefully and putting it back together, there appear to be options available for you. For around $20 on eBay someone is selling an assembled backplate for use with the PALM Touchstone. It'll probably wind up costing you a few bucks extra but you won't have to contend with doing these things yourself. Or, if you're willing, you can spend anywhere between $40-$60 to buy a Galaxy S3 Wireless Charging Kit from Amazon, which contains all the same parts already put together for you.



This was incredibly easy to do, but it was also a little frustrating. I'm sad to say but humble enough to admit that the work isn't necessarily in my wheelhouse. The parts are a little persnickety and it requires care and attention on your part in order to put it together correctly. According to the original author, it is a "super easy" five minute modification, which, if you're familiar and confident, I imagine is entirely possible. However, in my case it took me a couple hours to get it working. I did take a little longer since I was working on writing this blog article and I also wasted a bunch of time unsuccessfully trying to improve upon the original author's method. In the end, it was an interesting project and I'm pretty excited that I can just plop my phone down on the Touchstone and have it start charging.

My final thought is that this is a very good modification indeed. Other than an ever-so-slight bulge on the back of the phone, it's hardly noticeable at all. It's incredibly inexpensive; I wound up spending roughly $20-25 to add wireless charging to my Galaxy S3. When you consider the prices of the various different wireless charging items out there today, I think that's a fantastic deal. If you ever go to sell and trade in your phone, you can easily remove the parts that you added and nobody would ever notice. The only negative thing I can conjure is that it's dependent on obsolete parts from the PALM Pixi (or Pre) phones. That's probably what makes it inexpensive right now; vendors are trying to clear their inventory, and as that happens the parts will likely vanish. Hopefully, by then you'll have upgraded your phone to something newer with built-in wireless charging.

Lastly, a huge kudos and thank you to android94301 of the XDA Forums and all the people who chipped in thoughts in that thread. People like me rely and appreciate the heck out of people like you who figure these things out in the first place and share them with the rest of us!

Ever since buying our Nexus 7 tablets (two of them), a Samsung Galaxy SIII, and a Nexus 4 I've been trying to think of nifty everyday uses for NFC. I explored creating a Card Dock Profile blog post a few months ago. I wanted to use NFC to completely automate my car dock profile but ultimately I found that the app Tasker was better suited for what I wanted.

My complaint with NFC has been that it can only trigger a series of events. For example, if you want to make a "silent" profile for your phone you can create a NFC tag and set it next to your bed. When you place the phone near that tag it sets your phone to silent. However, if you want to turn silent mode off the next morning, you will either have to do that manually or create a second NFC tag to undo the silent mode and then manually touch it. For me, this what was insufficient. I wanted to be able to create proximity-based actions to trigger a series of events when the phone was close to an NFC tag and then when the phone exited the proximity of that tag then trigger another series of other events.

Since I couldn't quite do what I wanted with NFC, I've been searching for other interesting uses for NFC. In my prior article's research, I came across a fantastic app called InstaWifi. InstaWiFi is a free app (donations are encouraged) that will share any of the WiFi access points stored in your Android device. It shares them in two ways:

  • Encoding the AP details to an NFC tag.
  • Writing the AP details in a QR Code.

The details embedded in the NFC tag or QR code contain all the information including the password needed to connect to the stored Access Points.

The minute I came across this app, I knew exactly what I wanted to do. I'd print up and laminate a card with the QR code on one side and then place an NFC tag on the back of the card. What I went ahead and did, was:

  1. Picked up some Self-Sealing Laminating Pouches
  2. I used InstaWifi to create a QR code and then emailed it to myself.
  3. I created a document sized it to the pouches I purchased (4"x6") and included some directions on how to scan the QR code and NFC tag.
  4. Printed the document and then cut it to size the NFC tag.
  5. Used InstaWifi to encode a NFC tag I had purchased earlier.
  6. I adhered the NFC tag to the back of the printed document.
  7. Sealed everything up into the laminating pouch.

Now, I have a nice little laminated card that I just hand to my guests when they want to get on the WiFi. I have tested the QR code on a handful of different devices and the NFC tag on at least three different devices without any problems.

In lieu of printing a card like I did, you can also use your phone/tablet to share the WiFi AP. You can use NFC to beam the WiFi app directly to another device, or for non-NFC devices you can scan the QR code displayed on your device from the other device.

So far, of all the different uses for NFC I've tinkered around with, this has to be my favorite use. NFC has come in handy for a few things, but the things it's been handy for aren't unique to NFC. For example, sharing files is a pretty nifty NFC use, but there's plenty of other, often better, options for sharing files; email attachments, a direct bluetooth file transfer, DropBox, etc. In this particular case, I think my preference for sharing WiFi AP details is NFC followed by the QR code. Both of these bases are covered by InstaWiFi, which I recommend for all Android device users.

The author, Jessie Chen, created a nice walkthrough for the app on Youtube:


Update 12/1/12: I made some minor revisions and improvements and described it at the changes in the Update section of this article.

Over the years, I have owned a number of "sporty cars": a 1992 Mitsubishi Eclipse GSX, a 2004 Mazda RX-8 and most recently a 2002 Chevrolet Corvette Z06, which I drive today. I am also apologetically geeky. Over the years, I've wanted to be able to use various computing devices (Palm Pilots, Laptops, Smartphones, etc.) to display and capture data from my cars' computers (ECU).

On each of my cars, this possibility existed. But it usually involved hardware, up to and including an entire replacement of the car's computing system. Depending on the vehicle, I found that the hardware was generally expensive, difficult to use, not quite what I had in mind, and most of all a ton of labor to get set up.

Things began to change in 1996 when the ODB2 standard was adopted for all cars sold in the United States. A common universal interface made this data much more accessible and inexpensive for everyone to access. Combined with the explosion of mobile computing (smartphones, tablets, netbooks, cheap laptops, etc.) the functionality has really improved over the last 10 years.

This article is ultimately very similar to what I talked about in my Ultimate Car Dock series (part 1, part 2) however this article's purpose is to use your Android smart phone purposefully for displaying and logging information from the car's ECU.

Objective

To create and automate a Car Dock profile, which automatically opens an app to both display data read from the ECU and capture it to a log file and then sync that log file up to a cloud-based storage service like DropBox

Requirements

Hardware

  • Phone Holder/Mount: I have written a bit about the different kinds of phone mounts that I have experimented with over the years. Hopefully this is a good starting point for shopping for your own phone mount. The holder certainly is not required but I definitely recommend one. At the very least, get a friend to hold your phone and keep his or her eyes on it for you when the vehicle is moving.
  • Android Smart Phone: Just about any "modern" Android phone will do here the important features are going to be Bluetooth and a nice display.
  • Bluetooth ODB2 Adapter: There are options available here: very inexpensive Bluetooth ODB2 adapters are readily available on eBay if you go this route. What you will want to search for is 'ELM 327'. From what I have read and experienced, these are a mixed bag. I had one myself that worked most of the time, but whenever I really wanted to use it, I had to wrestle with my phone in order to get it to pair up. For my phone, I wound up going with the PLX KIWI Bluetooth based off of a recommendation from another friend and the fact that the location of the ODB2 port on the Z06 was a little inconvenient for the size and shape of my ELM 327.

Software

  • Tasker: As I have raved about in a number of my articles, Tasker is my favorite Android app of all time. In order to create this Gearhead-themed Car Dock profile, I will rely on Tasker's functionality to determine when the phone is in the car, enable Bluetooth and launch the ODB2 app.
  • Torque: Of all the ODB2 apps available on the Google Play Store, Torque seems to stand above the rest. I have used it for quite some time and it definitely has the options to display and log the data the way I want.
  • DropSync: The DropSync application can function as a Tasker Plugin. For the purpose of this blog, I have selected the free version of this particular app and I will work around the limitations of the free app.

Installation and Configuration

The next step is to mount your phone's car dock and your Bluetooth ODB2 adapter, I covered my installation in an earlier article. Your installation will vary depending on your vehicle and your mounting hardware

Torque

Setting up Torque is probably easiest if the majority of it is done from your vehicle with it turned on. This will make sure all of the data that is being read from the sensors will be populated in Torque and give you a good idea of what is or is not available from your ECU.

Getting Started

First, head on over to the Getting Started page on the Torque WIKI to get Torque paired up with your ODB2 Reader.

Setting up your Torque Dashboard

  1. Select the Realtime Information and it'll take a dashboard of pre-set gauges. Press and hold on an empty part of the dashboard and it'll bring up a menu.
  2. Select "Add Display"
  3. From the options available, select the gauge style you want to add.
  4. Choose a sensor with the gauge. Items highlighted in green are things that are available. Keep in mind that some of the sensors are on your phone.
  5. Select the size of the display.
  6. Move the gauge to the position on the dashboard you want it at.
  7. Repeat steps 2 through 6 until you've filled up your available dashboards with all the gauges you want.

Configuring Torque Data Logging Options

  1. Use the back button to exit back to the Main Torque screen
  2. Hit your menu button and select "Settings"
  3. Scroll down and choose "Data Logging & Upload"
  4. Hit Select What to log
  5. Hit the Menu button and select "Add PID" to log
  6. Scroll through the list of available sensors to choose to data log.
  7. Repeat steps 5 and 6 for as many sensors you want written to your log.
  8. Make sure the following boxes are selected:
    • Log when Torque is started
    • Only when ODB connected
    • Rotate Log Files

Other Torque Settings

  1. Under General Preferences, select the "Startup in Dashboard" option

DropSync

  1. Open DropSync and click the "Link with Dropbox" button
  2. Select "Allow" when Dropbox prompts you asking about permissions
  3. Select the local folder where Torque is saving its logs (/storage/sdcard0/torqueLogs on my phone)
  4. Select the DropBox folder to sync the logs to
  5. Make sure Two-way is displayed for the sync method and hit "Next"
  6. Select "Done," and DropSync will begin syncing

    Note: The free version of DropSync will only sync up one folder on your phone with one DropBox folder, plus it will not transmit any files over 5mb. Based off the size of the Torque log files that I have created since starting work on this blog, I think the free version will work for this purpose.

Tasker

We have configured Torque to automatically open up in its Dashboard and also to start a new data log once it connects to the ECU. Additionally, we have used DropSync to pair up the local Torque logs folder with a folder up on your DropBox account.

What we need to do at this point is to use Tasker to perform the following: detect when your phone is in the Car, then open the Torque application to begin the displaying and logging the data from your ECU, and finally determine to force sync your data logs folder.

  1. Open Tasker and select the "Profiles" tab.
  2. Click the Plus button to create a new Profile
  3. Name your profile and hit the green check.
  4. In the First Context menu select, "State"
  5. Select "Sensor"
  6. Select "Orientation," then select the orientation that your phone will be in in its car dock.
  7. Select "New Task," leave the Name empty and hit the Green Check icon
  8. Underneath "App," use the Load App and select "Torque" from the list of apps. Hit the green check to get back to the Profiles screen.
  9. Briefly touch where it says "Orientation: Right Side" to bring up the Context Options menu.
  10. Select "Add"
  11. Select "State"
  12. Select "Power," change the source to "Any" and hit the Green Check icon.
  13. Briefly touch where it says "Load App Torque..." to bring up the Task Options menu
  14. Select "Add Exit Task", choose "New Task," leave the name empty and hit the Green Check
  15. Add a new task, select "Misc," then "Send Intent," and type the following where it says "Action": org.prowl.torque.REQUEST_TORQUE_QUIT
  16. Add an additional task, select "Plugin", pick "DropSync", hit the "Edit Configuration" button and select "Sync Now" from the dropdown; use your back button to move back to the Dropsync Tasker configuration and hit the Green Check

Demonstration

Here is a video I took of this in action. It was recorded at night in pretty poor lighting, so the video is a little out of focus and hard to see. However, you will see me put the phone into the car dock, it opens the Torque app which starts up in the dashboard with the gauges that I had selected. Because they wind up slightly out of focus, here's the gauges I had selected:

  • Top Row: Throttle Position, Coolant Temperature, Timing Advance, Voltage
  • Bottom Row: Intake Temperature, Intake Pressure, O2 (Left), O2 (Right)

You cannot make it out from the video, but at the very end after removing the phone from the car mount, the DropSync synchronization functionality got kicked off and pushed all of the new log files up to my DropBox account.

Final Thoughts

At first, working with Torque seemed a little persnickety; every now and then when it starts up, the screen flickers a little bit (like you see in the video). Plus, I had some difficulty getting the app to quit nicely when undocking. I took some of these quirks to the Torque support forum and the developer was extremely responsive and helped me work around the ones that were bothering me the most.

I also wound up including some of the other features of my earlier car dock blogs into this profile plus one new one: * Turn on my phone's WiFi hotspot (new) * Update my GTalk Status and custom Message * Disable the screen timeout

While I really like how easy DropSync was to get working and I love that the Free version is functional enough to do what I wanted it to for this blog, this app got me searching around the market and I found there are lots of other similar apps that cost less than DropSync Pro. Primarily, I've been looking at FolderSync, which supports multiple cloud storage services than just DropBox and it is half the price of DropSync pro. I have been using FolderSync's paid version now for awhile and I am pretty pleased.

If you have any comments, questions, or improvements or if you would like to share how you are using your Android phone in the car, please share your thoughts with us in the comments below.

Updates

12/1/12: Thanks to the help of the developer responsible for Torque, I have been able to address one of my gripes about working with Torque. I could not find a reliable method when exiting the Torque app to exit the application. Tasker's Kill App action did not seem to put the kibosh on Torque the way that I would have wanted it to. Fortunately for us, the developer created a quit Intent that allows me to force the app to quit. I have updated the blog above to add steps on how I did that.

In part one of this series, I tackled talking about some of the particulars in picking out the hardware for your car's phone mount. In this article, I am going to focus on unleashing some of the features that Android has to offer. I have made every attempt at building this so that every Android user can do it without having to unlock the features that are only accessible after rooting the phone.

For what it is worth, I own a Samsung Galaxy S3 from T-Mobile. Because there is quite a bit of variation between hardware and software in the Android universe, you may find that some options do not exist for your phone, or hopefully that better options exist for your phones.

What I want from my Docked Phone

Ultimately, what I want from my phone is a few things. In all my tinkering in the past, I've learned that some of it is just not possible, and some if it I will not be able to do without replacing things in my car, but before I get into that I wanted to describe my ideal docked cell phone. If you are thinking of doing the same thing, I suggest you sit down and describe your ideal as well:

  1. The phone will wake the screen and unlock when docked. Because the dock is powered, I want the screen to remain on the entire time it is docked.

  2. Car Mode will get triggered on the phone, which should enable Google's Car Home app. This app is listed as not compatible with my device, so I had to follow these directions to install it manually.

  3. The phone will pair up via bluetooth to two devices: my head unit so that I could listen to Google Music over A2DP and control the phone over AVRCP and my PLX Kiwi Bluetooth ODBII reader for data logging from my car's ECU via the Torque app.

  4. Update my Google Talk status on the phone to busy and set my custom message to "Driving"

Limitations

Unfortunately, I do not (yet) have a bluetooth head unit. Bluetooth is becoming a pretty common feature in newer cars and it is also pretty common feature to find on aftermarket head units. More and more the music on our portable devices is much better than what is available in our cars, so why not strive to find a way to play the music from our phones through the car's audio system?

Additionally, I am not aware of a method to automatically unlock the phone. I think I have a pretty creative way to work around this, but it is a workaround. Maybe some day Google will give us a method to unlock the phone that I can incorporate into my phone dock, but for now, my "workaround" will have to suffice.

Apps Used to Build Ultimate Car Dock

In order to accomplish, I tried to focus on apps that were free in the Play Store. In some cases, I chose to go with paid apps only because they were critical to accomplishing the task at hand:

Required

  • Tasker: Tasker is the app that is all of brains and smarts behind the Ultimate Car Dock profile. Tasker's the only paid app in the list. I have used Tasker for an enormous variety of purposes and is by far the best app I've ever purchased.
  • Google's Car Home: Car Home works with the Android Car Mode and replaces your default Android launcher with a more driver-friendly version. It makes using the phone in the car much easier.
  • Locale GTalk Plug-in: This plug-in app works with both Tasker and Locale and can be used to set your GTalk status and custom status messages.

Optional

Creating the Car Dock Profile in Tasker

Profiles are my favorite feature in Tasker. You can use an event to trigger a profile. When that trigger happens, you can define entrance events and events when you exit that trigger. Here are the steps you can take to create your Car Dock profile.

Creating the Ultimate Car Dock Profile

  1. Open Tasker
  2. Select the Profiles tab.
  3. Click the icon that looks like a Green Plus Sign to create a new Profile.
  4. Name the new profile Ultimate Car Dock.
  5. Select State for your first context.
  6. Select Power, and then pick Power from the Select Power Action screen.
  7. In the Source drop down, select Any and hit the Green Check button
  8. In the Task Selection dialog, select New Task and press the Green Check (don't provide a name)
  9. Define each of the actions to be executed when the phone enters "Car Mode" for each new action hit the Plus sign button
    • Display > Stay On > With AC or USB Power
    • Plugin > GTalk > Click Edit > Change GTalk Status and Custom Message (Note:You will have to provide your GTalk credentials the 1st time you set this up)
    • Net > Bluetooth > Set:On
    • Display > Car Mode > Set:On, and Check Go Home
  10. Press the Green Check when done adding actions to the Entrance Task
  11. Add additional criteria to trigger the Ultimate Car Dock Profile by touching where it says Power Any underneath Ultimate Car Dock.
  12. On the Context Options click Add.
  13. Chose State from the Add Context dialog.
  14. Select Sensor, select Orientation and pick the appropriate value for the position inside your Car Dock

    NOTE: I chose orientation, because it worked best with my setup. If you have bluetooth available in your car, it might be worthy to use it instead. (State > Net > Bluetooth Connected > Your BT Device Details Here)

  15. Touch where it says Car Dock On underneath Ultimate Car Dock.
  16. Select Add Exit Task then select New Task from Task Selection menu and press the Green Check (don't provide a name)
  17. Define each of the actions to be executed when the phone enters "Car Mode." For each new action, hit the Plus sign button
    • Display > Stay On > Never
    • Plugin > GTalk > Click Edit > Change GTalk Status and Custom Message
    • Net > Bluetooth > Set:Off
    • Display > Car Mode > Set:Off, and Check Go Home
  18. Press the Green Check when done adding actions to the Exit Task.
  19. Turn Task off and then back on by toggling the On button
  20. Dock your phone



Automatic Unlock "Workaround"

Because I can't automatically unlock my phone when docking it, I decided to go ahead and workaround this by permanently disabling the Lock Screen. I was originally concerned with the phone turning on in my pocket continually as it might drain the battery unnecessarily and I may accidentally pocket dial someone from my contact list. But I felt the risk of this was low, since the phone goes to sleep after a short period of time.

I had really wanted to manage whether the lock screen was enabled or not with Tasker, but I found the Tasker option to change the keyguard to be really persnickety. Sometimes it would work and sometimes it would not. There was a note in the manual saying that you needed to disable the keyguard in the Android settings, but when I did that, the lock screen was just permanently off all the time.

For the time being, permanently off is fine with me when it means that my phone wakes up and is usable once I dock it in my phone mount.

Conclusion

And there you have it: a robust Ultimate Car Dock mode for your Android phone. What I have described above has worked well so far for me. Furthemore, using Tasker, it can be customized however you see fit. Regardless of your car mount, your phone, and your preferences, the possibilities are endless. If you refer to the Tasker WIKI, you can start to get an idea of the numerous options available to use.

Please feel free to use the blog comments to share your own Ultimate Car Dock!


Every day, more and more people are switching to smartphones and with every new smartphone they are becoming more powerful and more useful. I have been on a somewhat Quixotic quest to integrate the use of my phone into the use and operation of my car. This quest started out with with me attempting to add Bluetooth to my '04 Mazda RX-8 and recently lead me to experimenting with NFC tags with disappointing results. My continuing quest has resulted in what I believe to be a pretty remarkable phone dock.

For those of you who notice that there's some incongruity in my car posts: I recently traded in the RX-8, so the photos are all of my "new" car, a '02 Chevrolet Corvette Z06. Please do not be alarmed.

Phone Mount Hardware

Because phones come in so many different shapes and sizes there are almost an infinite amount of choices when it comes to picking out hardware to mount your phone in your car. As long as you are pragmatic in the selection of your phone hardware it is pretty easy to pick the right option for you. In my years of owning Android phones, I have tried or researched a number of different styles of mounts.

  • Binder Clip Phone Mount: Until recently, this was by far my favorite phone mount. Firstly, it was dirt cheap, we only had to rummage around in my office supplies and through my wife's hair accessories in order to build it. Secondly, it worked really well and it worked for a number of different phones over the years.

  • Windshield Suction Mounts: I have never been a fan of these kinds of mounts because of the obstruction that they are. I like having the entire windshield clear and unobstructed. But, on the plus side they are pretty easy to install.

  • Gooseneck Cigarette-lighter Adapter: When I bought a mount of this style, I was originally pretty excited. However, what I found out was that when the phone was mounted it put an amount of weight on the end of that device and turned into a pendulum of sorts. When I was driving and using this mount it was not uncommon for the entire mount to rotate 90 degrees and have the phone either come out of the dock or land in the passenger seat. I am not sure if this is a common problem with this style of mount, or if I just had a low-quality model.

  • CD Groove Mount: I found these during my most recent round of phone mount research. Unfortunately, it would not work for me, since I have an aftermarket head unit where the display flips down to expose the CD player. However, I found the concept intriguing.

  • ProClipUSA: For my Galaxy S3, this is what I decided to go ahead and buy. They sell mounts specific to both the model of your car and the model of your phone. They have phone-mount options that include a 12-Volt adapter that you can hard wire into your vehicle's electrical system to provide power.

Over the years, I have learned a few things about buying Car Mounts:

  1. Avoid anything "Universal" like the plague. I have yet to own a "universal" car mount that worked well universally. Sure, it may have held my phone, but never particularly well (especially if your phone was not close to iPhone dimensions), and the mounts are always entirely too bulky.

  2. Find your comfort level for installation. Do not buy the mount that requires taking apart your dashboard in order to install it if you don't feel comfortable doing that work. And on the flipside, try not to buy the phone mount that installs the quickest if you are inclined to do a more complex installation. In the event that you buy a universal mount try and research to find other users with your same model phone to see how well it has been received.

  3. If at all possible, do your shopping in person. The quality of the materials used and the assembly are much easier to determine when shopping in person. This is one of those cases where you benefit from going out and holding it in your own hands before you buy it. If you are an online shopper, then find a model that you like, note it down and shop online.

  4. Read reviews, scour forums, etc. This is how I found my mount from ProClipUSA. I bounced around a few phone forums and a few car forums. This mount seemed to be the one that people recommended most frequently.

Installing the ProClip car mount hardware was pretty painless. What we wound up doing was splicing into one of the cigarette lighter sockets wiring to power the phone mount. We ran the wires for the ProClip AC adapter into and out of the glove box. I picked the glove box in the hope that, if another phone required a different AC adapter, I could avoid taking apart the car's center console again. But even if I had to, it would not be a tremendous amount of effort.

Coming up Next

In this particular case, the really neat and fun part of the Ultimate Car Dock for Android Phones all lies within the software on the phone. In the next article, we'll tackle using a few different Android apps and complete the ultimate Android Car Dock.





NFC - It is kind of a Gimmick

| No Comments

When Near Field Communication (or NFC) was announced as one of the hardware features for the next generation of mobile phones, I was first really excited because I like new toys and gadgets. But as more time passed between the announcements and the expiration of my wireless contract, I had a hard time getting excited about what I would wind up using NFC for.

Google WalletThe prospect of cardless payments, like with Google Wallet is somewhat interesting. Because I very routinely root, flash and modify my Android devices, I am more than a little hesitant to link my credit cards to my phone. Plus, I am always misplacing (but rarely losing) my phone, and it is already stressful enough when the phone goes AWOL. I would hate to compound that stress with having to worry about credit cards linked to the phone.

My common sense was tingling and it seemed to be telling me the same thing that Apple has said by leaving NFC off of the iPhone 5. NFC is nifty, but not really a significant feature for mobile devices. Samsung has been bombarding us in recent weeks about what an important feature NFC is:



Some of the social aspects of NFC advertised seem interesting but if I need to share a picture, playlist or other file with someone, it seems like there a bunch of easier ways to share it than opening an app and touching the phones together.

As I usually do with new purchases I'm excited about, I ignored my tingling common sense and I bought both a Nexus 7 and a Samsung Galaxy S3 pretty much on Day 0 of both devices, mostly because I wanted a new tablet and a new phone but partially because I was excited to tinker with NFC. And for those months, I have been trying to think of how I can make use of NFC.

I eventually decided that I thought NFC would allow me to be able to automate things when I put my phone into my car mount. If you are a frequent visitor, you'll remember that I recently blogged about manually installing the Google Car Home app.

TagstandI went to Tagstand and I bought an assortment of NFC tags just to play with them. Specifically I was after a durable NFC tag that'd match the color of my phone holder without being too obvious. I wound up settling on the Laundry Token Type 2 NFC Tag because it seemed like it would be the correct size and color. In my shopping for NFC tags they all seemed to hover right around $1.00-$1.50 per, depending on how durable it was and how much memory the tag had available. The Laundry Token tag was a bit more expensive, at $2.05 each.

After that, I collected a few Android apps that I thought would wind up being useful:

  • Tasker: Hands down one of my favorite apps in the entire market. I cannot really summarize the endless numbers of things that Tasker can do to
  • NFC Task Launcher: There are a great number of things that this app can do, but the most important feature that I found was that it could be used to launch Tasker actions, which is at the root of what I wanted to use. This app would be used to write to the tag and would determine what gets triggered when the device scans the tag.
  • Locale GTalk Plugin: This little app can set your GTalk status and update the custom message.

This is what I wanted to happen when I placed my phone in the car mount:

  1. Unlock the screen
  2. Disable the screen timeout
  3. Open the Google Car Home app
  4. Set my GTalk status as busy and a my custom message to say "Driving."

This is where I began to start running into a few different troubles.

What I Wanted does not seem to be Attainable

The most frustrating thing that I wound up running into is that I could not get the phone to unlock itself when docked. This was something that I was really hoping I could find a method for (kudos to anyone who shares a method). The closest I got was disabling the keyguard that disables the lock screen but that does not take effect until after you unlock the phone. From a security standpoint, it makes perfect sense that you would want to prevent someone from circumventing the lockscreen by toggling this option but it was disappointing nonetheless.

Devices Detect when an NFC Tag is near but do not report when the NFC tag goes out of range

Tasker's best feature is its Profiles. You create a profile based on an event, like, a location, a time of day, the proximity sensor, etc. (the possibilities are almost endless). When that event is met, Tasker performs certain actions, and when that event is no longer met, Tasker performs the exit actions. For example, I have a profile for when I'm near work. It sets my ringtone and notifications to things that are work-appropriate, turns the volume way down and sets my Google Talk status to "@Work". When I get far enough away from work, it sets my ringtone back to the Knight Rider theme, my notifications to something annoying, notches the volume back up a few ticks and clears my Google Talk status.

My original hope was that I could use the proximity of a particularly coded NFC tag to be the driver for my Tasker profile. Unfortunately, this is not the case. I could use the proximity of the NFC tag to trigger a Tasker task, but I could not easily build a profile around it.

In theory, you could use the NFC tag to set a Tasker variable for the Car Dock is true. Assuming that you've also plugged the phone into power, you could create a profile whose criteria was that the phone was powered and that the Tasker variable was true. One of the exit steps of that profile would be to set the Car Dock value to false. In that scenario, as long as you plugged the phone in and were close enough to the NFC tag at the same time, you would enter your Car Dock profile. This would work in theory but there were enough likely scenarios that made me think this might not be useful. For example, depending on how your phone is being powered by your car, it is very likely that you would briefly lose power when you cranked the ignition. If the phone lost power, the exit steps would trigger, which would include clearing the Car Dock variable. Once that happened, you'd have to reseat your phone in the dock to get it to re-scan the NFC tag and set the Car Dock variable back to true. Which lead me to my second concern.

The Range on NFC seems to be Less than Half an Inch

When I initially researched NFC, I was finding that the range is anywhere between "4cm or less" and .2m (.5 inches to 8 inches.) One of the first things I set out to do was to determine the range of my NFC tags. On both devices (Nexus 7 and Samsung Galaxy S3), the range is easily under half an inch. This was unfortunate because what I had really wanted to do was to conceal the NFC tag within the interior of my car somewhere rather than stick it directly to the mount. Furthermore, my car mount has a bit of a gap between the back of the phone and where the NFC tag could be affixed. And even more troubling, the NFC antenna appears to be at the top half of the phone, which is right around where the car mount ends. In order to make sure that the NFC tag gets read each time I dock the phone into the mount, I was going to have to find a way to mount it at the very top of the dock and possibly even have to use something like spacers to make sure that the tag was as close to the back of the phone as I could make it.

The Device has to be On and Unlocked to Read an NFC Tag

This was one of the more startling and disappointing discoveries on my phone. In order for an NFC tag to be read, the phone had to be on and unlocked. From a security standpoint, it makes some sense that you would not want an unlocked phone to be able to read NFC tags. But when you consider what I wanted to happen when I docked my phone, this is a significant obstacle. It looks like over on XDA that people have already modded the Galaxy S3 to allow NFC to function when the screen is off or locked, but I am not sure if that is compatible with my device and I was hoping to find a method which did not require a user to flash any kinds of modifications..

Because of these three problems, I decided to scrap my efforts at using NFC to build the ultimate Android Car Dock. Not necessarily because it cannot be done, I think it could be done but it would not necessarily meet all of my criteria. I was hoping that it would be a really simple task, simple enough that it would encourage the car dock manufacturers to start building NFC tags into their hardware.

As for me, I am headed back to the drawing board. I've already got other ideas that will help me build the Ultimate Car Dock I just probably won't be using any of these NFC tags to do so. In the meantime, I have got my brain in gear, trying to dig up other interesting uses for NFC. The best couple that I've come up with so far is for sharing WiFi Access Point details with your guests and fancier ID tags for your pets, luggage, etc.

Conclusion

NFC LogoAfter spending some time tinkering around with NFC, I think that it is mostly a gimmick. The marketing departments at Apple's competitors are going to try and make the most they can of this gimmick, but right now, NFC is not much more than an improved QR code. This is a new technology, and I am attempting to be an early adopter. If NFC tags can be created that are accessible from a greater range, and if the hardware & software used to read the tags can be improved upon, then I think there are a tremendous number of different uses that would be beneficial. I will continue to seek these uses of NFC and share my results.

In my years owning Android devices one of my favorite applications has been Car Home from Google Inc. Unfortunately, since I rarely have purchased AOSP devices this application is frequently hidden in the Play Store for compatibility reasons. I did a little reading on the subject and it seems that either Car Home is listed as incompatible with newer versions of Android (ICS and newer) or that it's listed as incompatible as a favor to manufacturers who have competing apps (ie: Samsung's Car Home).

At any rate, I bought a Samsung Galaxy S3 when they first came out. Since then, I have been busy rooting, flashing and modifying the phone to my heart's content. In the process, I lost the Samsung Car Home app and wanted to see if it could be replaced by installing Google's Car Home app. But this application is not listed in the Play Store as compatible with my device. Therefore ,I had to find a way to manually install it which inspired me to write up this blog article in case it was useful to other Android users.

The only thing that I can think of in these directions that is unique to the SGS3 is the path to the external SD Card. I was able to follow these same directions on the Samsung Vibrant, and Asus Nexus 7 Android devices without too many problems, even though the app layout of the Asus Nexus 7 is not tablet-optimized. I imagine that these steps should work for a variety of other Android devices. If these steps work for your Android device, please let me know in the comments and I'll keep an updated device list below.

Note: Rooting your phone and tinkering via ADB (and the like) are potentially dangerous and could cause permanent damage to your phone. In addition, it likely voids the manufacturer's warranty on the phone. I make no claims beyond the fact that I did these steps and it worked on my phone(s) and tablet. Please proceed at your own risk.

Pre-requisites

  • Your phone must be rooted.
  • ADB must be installed and functioning on your computer.
  • You need to be a little fearless

Because the app is available over the market, it should also be safe to install this as a user app if you wanted. In my research, some users who installed it a User App had some difficulties with the settings getting wiped out on each reboot. I very quickly tested this by installing as a User App, making some changes to the app, and rebooting my phone a few times. I did not have any of the problems that were described. Because of that, I chose to install it as a User App. If you wanted to install this as a System App, there are steps below to describe how to do that.

Installation as a User App

  1. Download the Google Car Home APK and Car Home Launcher APK.
  2. Install the apps using ADB:
    • adb install signedCarHome.apk
    • adb install signedCarHomeLauncher.apk
  3. Optional - Reboot your phone (adb reboot) to ensure your launcher has a current list of installed apps.

Installation as a System App

  1. Download the Google Car Home APK and Car Home Launcher APK.
  2. Copy the APKs to your phone's SD Card using
    • adb push signedCarHome.apk /external_sd/
    • adb push signedCarHomeLauncher.apk /external_sd/
  3. Use an ADB shell to mount /system and copy the files to /system/app
    • adb shell
    • su
    • mount -o remount,rw /system
    • cp /external_sd/signedCarHome.apk /system/app/
    • cp /external_sd/signedCarHomeLauncher.apk /system/app/
    • exit
    • exit
  4. Reboot your phone (adb reboot) to ensure your launcher has a current list of installed apps.

Congratulations! You have now installed the Car Home app from Google on your device. Of the few similar apps I've tried it has always been my personal favorite. I am hoping the popularity encourages Google to resolve whatever outstanding incompatibility issues are out there and make it available for more devices via the Play Store.

Devices

  • Samsung Galaxy S3 (SGH-T999)
  • Asus Nexus 7
  • Samsung Vibrant

I recently decided to replace my frustrating mobile phone (a Samsung Galaxy S phone, the Vibrant) because Samsung and T-Mobile has been terrible at keeping current with the latest version of Android. I did a bit of research on eBay and Craigslist, and found that the myTouch 4G (aka HTC Glacier) was a comparable phone with more memory and faster data speeds.

I spent New Year's weekend crawling Craigslist trying to find the cheapest MyTouch 4G nearby. I figured it'd be a bit of a calculated risk, but I felt pretty good about it. I found a guy selling one nearby and met up and grabbed up the phone in the parking lot of a nearby McDonald's. From what I could tell, the phone was in good shape but it had been a little loved.

I took the phone straight home, rooted it and installed my favorite Android ROM, CyanogenMod. It was not until a couple days later that I realized the phone had a quirky problem. Whenever I would receive (or place) a phone call, the screen would immediately go dark and remain dark until I either pulled the battery or received another call (and didn't answer it).

After about a hundred different searches on Google, I began to suspect that the proximity sensor on the phone was not behaving properly. The proximity sensor's purpose on phones is to detect how close to your face the phone is. When the phone is right up next to your face, the screen goes dark and does not respond to touch. Once you move the phone away from your face the screen should light back up.

I began by digging around in the CyanogenMod and Android settings. There were some settings that sounded like they might disable or ignore the proximity sensors, but unfortunately they did not quite do the trick for me. Regardless of what I tried, the proximity sensor remained enabled.

I wound up finding an app on the market that I used to troubleshoot the sensor. The name of the app was 'Proximity Sensor.' When I opened the app, it told me that the sensor was permanently engaged. Just for fun, I took my flash light and I turned it on and pointed it right at the sensor. When the flashlight was flush up against the phone at it's brightest setting, the app began to report intermittently that the sensor was clearing.

But if it took a flashlight right up against the phone in order for the sensor to turn off, then surely the sensor is most likely kaput.

Since my phone is rooted, I thought I'd give a few different "fixes" a try. According to some of my research, the HTC's proximity sensor is a CM3602. In considering options, I thought we'd have a few options:

  1. Deny all permissions on the CM3602 file in the /dev/ folder.
  2. Use an application like Tasker or Proximity Screen Off to disable the sensor.
  3. Switch to the MIUI ROM since it has an option to disable the proximity sensor.

Ultimately, setting the permissions had no effect. Tasker could read the sensor but could not disable it and the Proximity Screen Off app seemed a little convoluted to use. I briefly tried out the MIUI ROM, which fixed the issue. But, I have grown pretty accustomed to CyanogenMod and it was hard to give that up.

Ultimately, 8 or 9 pages deep into Google's search results was a suggestion to hex edit file and overwrite information about the sensor. Because I was determined to make CyanogenMod work on the phone, I decided to give it a shot. Within the file, /system/lib/hw/sensors.glacier.so, I searched for and overwrote the "cm3602" text with "xxxxxx" and then rebooted the phone.

Because I flashed a different ROM a few months later and a few people had asked for more specific directions, I went ahead and wrote these directions:

  1. Get ADB Functioning on your desktop computer.
  2. Download and install a Hex Editor
  3. Use ADB to pull down the file sensors.glacier.so (adb pull /system/lib/hw/sensors.glacier.so)
  4. Open sensors.glacier.so in your Hex Editor
  5. Search for the text "cm3602" (no double-quotes) and save your changes. Please note, case sensitivity is important. If you're paranoid, it's good to check that the file size is exactly the same as it was before your edit.
  6. Re-mount the /System folder as read-write using an ADB Shell (mount -o remount,rw /dev/block/mmcblk0p25 /system)
  7. Open up a new command window and use ADB to push your edited file (adb push sensors.glacier.so /system/lib/hw/sensors.glacier.so)
  8. Reboot your phone.

Thankfully it worked the proximity sensor is disabled on my phone and I am able to make phone calls without causing my phone's display to turn off indefinitely. This was confirmed by the Proximity Sensor app, which indicates now that there's an error while trying to read sensor data. This basically turned my dysfunctional phone into something that I could continue to use until my contract runs out and I can upgrade my phone to something with native support for Ice Cream Sandwich in a few months.

According to Google, people frequently have problems with the proximity sensor; people do not seem to like them, they seem to be interfered with by screen protectors and phone cases, and then in a lot of instances, probably mine, people drop their phones and damage the proximity sensor.

I've posted this online in both on XDA Forums and in the CyanogenMod forums. And now, it's forever preserved on my blog. Hopefully, someday down the road it'll help a few other people out.

Follow Brian

Archives