Product Idea: GPS Business Trip Logger
This is something my dad asked about as a potential birthday gift, and I haven't found anything out there that meets the criteria for what he wants. My dad, like many people that do a lot of driving on business, needs to keep track of how many miles he drives on business-related trips. In the U.S., you can deduct most business-related trips at something like 35 cents per mile driven. Typically the first and last trip of the day (i.e. driving from home to the job site and from the job site back home) aren't deductible, but the intervening trips are (with the obvious exceptions of non-business meals and personal errands). The IRS isn't satisfied with a total mileage in the event of an audit. Rather, they expect the starting and ending odometer reading for each trip to make their job possible in such an event. There are a couple of solutions that exist for this sort of thing, but none that are entirely satisfactory. The simplest is to keep a little notebook in the car, and before each trip mark down the starting and ending odometer reading. This isn't particularly difficult, but it's quite easy to forget, and something that you're likely to forego entirely when you're in a hurry. Another possible solution (one that I did a bit of work on a few years ago) is something like the Davis Instruments CarChip. This is a little device that plugs into your (1997 and later U.S.-spec) car's OBDII port (a little socket under the dashboard that looks like a plastic version of the parallel port on the back of old printers). OBDII stands for On-Board Diagnostics Level II, and it was originally intended for emission-control-related tools to be able to download diagnostic information from the vehicle's ECU (the "brain" that decides when and how much fuel should be injected into the engine, and when to fire the spark plugs, among other things). When a scan tool is plugged into this port it can talk to the ECU using a special serial protocol called J1850 after the SAE specification that specifies it (or ISO-somethingorother on some vehicles). It can ask the vehicle a bunch of questions as defined in another SAE spec (J2178 for those keeping score at home). Among the questions a scan tool can ask the vehicle is "how fast are we going?" The vehicle answers (within 100ms, but typically much faster), "20 miles per hour" (as far as I know they still use customary units). By doing this repeatedly, the CarChip integrates how many miles you've gone (at least I think that's how it works -- there may be some way of directly querying the mileage of the car at any given time). It also has a real-time clock, and it can know when you've turned on and off your car (when it receives or loses power). By putting all these variables together, it can get a pretty good idea of what constitutes a "trip", when it started and ended, and how far you drove. Unfortunately, there's no way to know for sure where you went. What I think would be an ideal solution would be to use a GPS receiver to log where you went. A GPS receiver is very good at telling you what time it is and relatively good at telling you where you are. It can't directly measure when you start and end a trip, but really, that's not what we're concerned with -- We want to know whether you're leaving home, work, or a client's site, and how far you went, and whether its the first or last trip of the day. What I'm picturing is a little dongle you plug into your cigarette lighter (I guess they're calling them "power outlets" these days) that simply records where you went and when. At the end of the month, you take it out of your car, plug it into your computer, and some semi-sophisticated software finds places at which you tend to stop a lot, shows them on a map, and asks you what they are (i.e. "Home," "Work," "Strip Club," etc.). Once that's been established, said software could translate that into trips, and either determine automatically or ask you whether a particular trip was deductible for business purposes. As for how to implement/prototype it, there are relatively affordable Bluetooth™ GPS receivers available. There are also very small computers available with Bluetooth interfaces. One could run a small Linux system that would save all of the waypoint data off to an SD card that you'd plug into your PC and download the data. I'd be interested to hear any alternative ideas for how to approach this.