OBD Tuning, Part 1: Idle RPM Bump with the CVTz50 app

Sometime after the new year, my truck developed a new vibration noise in the center-right dash area. At first, I thought it was something that I had left loose while I was rewiring my power system, so the first thing I did was remove the two glove boxes to try to find the source of the vibration. However, there was nothing to see – everything was tidy and there was nothing that seemed to be loose back there. Just to make sure, I did some driveway and driving tests around the neighborhood; both glove boxes were still removed, and I found that the vibration noise would always happen during two very specific conditions:

  1. At idle, shifter in “Park,” after the engine is out of cold start mode;
  2. Shifter in “Drive,” vehicle stationery, foot on the brake (like at a traffic light).

Turning the A/C on would stop the noise for a few seconds, then it would come back. If I gently gave a tiny amount of throttle (while in “Park” only) the vibration would immediately disappear. I could easily repeat the two specific conditions listed above every single time I tried it to get the same specific vibration noise, so it wasn’t some random thing at all. I wasn’t able to exactly pinpoint the source of the vibration, but the closest area where the noise was coming from was somewhere on the passenger side of the firewall. I did some Internet searching to see if others had the same symptoms, and after reading a lot of posts it looked like my truck possibly got the same vibration issue at idle that many other Frontier owners have complained about over the years.

Apparently, the most successful solution I saw for this was to increase the idle RPM so that the engine could idle more smoothly and thus eliminate the bothersome vibration noise. This already matched the result I was seeing when I tried dabbing the throttle. After some more searching I discovered that previous solutions involved paid visits to a dealership service department or buying a $450+ aftermarket ECU tuner – but more recent solutions involved using a small OBD-2 Bluetooth adapter with an app on an Android-based mobile device. After seeing some forum posts and YouTube videos I bought a Konnwei KW902 (ELM327) Bluetooth OBD-2 interface from Amazon. The price was $21 and it was on my doorstep the next day.

For the Android-based mobile device, well… I’m primarily a user of the Apple ecosystem, so all of my current mobile devices were a bunch of iPhones from various years and 2 current iPads – none of which (obviously) do not use the Android operating system. Then I remembered that I had a 3-year old Amazon Fire 7 tablet that I randomly picked up during Prime Day back in 2019 for $29, so after fishing it out from my “unused gadget” bin, I charged up the tablet and brought it back to life for testing:

The Bluetooth adapter arrived on my doorstep in mid-February 2022 and at first, I thought I would just “set it and forget it” I ended up diving deeper into testing, and ended up spending almost 2 months testing and experimenting with OBD tuning apps! Here’s how the whole process began, for those who might want to try what I did on their own.

DISCLAIMER: If you choose to do anything described here, you do so at your own risk. I am not liable for anything you choose to do to your truck, and any possible ramifications that may occur based on what you read become solely your responsibility, not mine.

Initially, the required CVTz50 app is sourced on the Google Play Store; regular Android-based devices usually have the Google Play Store installed already, but the Fire tablets require a few easy steps to add it to Amazon’s FireOS (click this link for a separate guide). I already had the Google Play Store installed, so I purchased the CVTz50 app for a reasonable $4.99:

Installing the OBD-2 adapter was as simple as plugging it into the Frontier’s OBD-2 port (under the dash on the left side, right above where your right shin would be):

Connecting the OBD-2 adapter to the tablet is identical to pairing any other Bluetooth device first (in the tablet’s Bluetooth settings), then completing the pairing inside the CVTz50 app:

When the connection is made, the screen will scroll data. This might look scary, at first, but it is exactly what you want to see; the scrolling data confirms that the Bluetooth connection is working and the CVTz50 app is connected to the vehicle’s systems:

So here we are at the main menu screen of the CVTz50 app; you can see the following 10 menu options. Note that for the Frontier there were only three functions that I found useful, underlined in the photo below. That said, let’s fly through what is not used/not compatible to get them out of the way:


1. CVT DATA MONITOR (Does Not Apply)
This option gave me an “Unable to read CVT DTC: unexpected response received” error message, which makes sense since the Frontier doesn’t come with a CVT transmission.

2. READ/CLEAR CVT DTC (Does Not Apply)
With no CVT, there are no CVT error codes to read or clear. This option also gave me the “unexpected response received” error message (as expected).

4. CVT INFORMATION (Does Not Apply)
Again, no CVT, no CVT information (as expected).

Related to CVT fluid… so in other words, nothing to see here either.

At first I thought this might have been something I could use with the Frontier’s automatic transmission, but it turns out that this is also CVT-specific, so nothing useful here.

I tried the “Idle Air Learn” function (related to the Idle RPM Adjustment) but nothing seemed to happen in the app after 5 minutes.

At first I thought this might have been something I could use with the Frontier’s automatic transmission, but it is also meant for CVTs only, so nothing useful here.

Okay, with the above out of the way, here’s the features that I could use:


This function scans the OBD for any current or lingering Diagnostic Trouble Codes (DTCs). (coincidentally I also have this function through my UltraGauge). My truck was all clear, so I saw this screen:

This was the feature (and the basis for this entire post) that would possibly provide a solution to the vibration issue. This allows the user to bump up the vehicle’s idle RPM to as much as +650rpm above the standard idle RPM setting.

The Ignition Timing feature was another thing I was interested in trying (separately from the idle RPM feature), and it eventually it turned into its own dedicated experiment – complete with blind “butt dyno” testing as well as some mileage testing. I will have to save this for another post, as it was very involved and actually a separate topic from fixing my original issue in this post.

11. STATISTICS (Optional)
The last menu option would display all sorts of statistical data – provided you keep the OBD2 adapter connected, the CVTz50 app connected, and the app active on the tablet. It will show you a lot of empty data for things like CVT temperature, CVT run time in specific temperature ranges, and a bunch of other CVT-specific data that is completely meaningless when it comes to the Frontier. There are some statistics that apply such as travel time and average speed – but considering my UltraGauge already shows me this (and more) I have no use for this feature in the app.


IDLE RPM ADJ: Testing Method Over 21 Days (3 full tanks used)
Now back to the main topic – the Idle RPM Adjustment. My plan was to modify the idle RPM setting one increment at a time (each increment was +25rpm) and one day at a time, and then drive as I normally do to see if the vibration was still there. Ideally, I would stop raising the RPM once I found an idle setting that eliminated the idle vibration my truck was experiencing; that way I wouldn’t raise the idle RPM any higher than what was really needed.

Obviously, the base setting was the OEM idle RPM setting from the factory (+0rpm in the app). Referencing the Frontier’s Factory Service Manual (FSM), it specified that the truck’s normal idle speed should be between 575-675rpm:

I followed the procedure outlined in the FSM that Nissan techs use in order to test and check the vehicle idle. After the “setup steps” were done, I checked the RPM:

If I had to guesstimate by looking at my tachometer, I would say sure – that looks like it’s at around 625rpm… but for an actual number reading, I turned to my tried-and-true UltraGauge which showed a stock idle RPM hovering between in the 642-646rpm. No problem there – it’s within FSM specs and passes the test.

Thanks to an extended work-related project, I had a pre-planned route that I took each day over the course of about 2 months. The route involved a 40-mile round-trip drive (40% freeway and 60% surface roads) with multiple hills and traffic lights along the way. I plugged the route into my Garmin app so you can see the elevation changes I’d be driving during testing:

I made a note to myself to try to drive as consistent as possible; this included leaving home (and driving back) using the same route and at approximately the same time each day; keeping the A/C at the same setting; keeping the windows closed, and no aggressive driving (nor no “babying” either). I even played the same Apple Music playlist, although this had zero effect on engine performance (LOL). The only uncontrollable variables were weather and traffic – things that happen in the real world anyway, so I wasn’t concerned about it. This wasn’t supposed to be an absolute 100% completely controlled experiment, but I wanted to keep the experiment as consistent as possible; what I did not want to rely on a quick drive around the block and the “butt dyno” placebo effect to draw results from.

The first week was the control portion; here I simply drove the pre-planned route for an entire fuel tank, with no OBD2 modifications done. By doing this I could establish an MPG baseline with my truck in its current state (more on this later). The second week was spent making idle RPM adjustments and testing. Here’s how it went:

Idle RPM Adjustment, Day 1 (+75rpm)
Just for clarity, I did not even bother to try the +25rpm or +50rpm settings. I skipped these two options because the normal variance allowed per the Nissan FSM was already +/-50rpm. Instead, for the first actual day of testing, I used the app and bumped my idle to +75rpm. After a day of testing the vibration was still there.

Idle RPM Adjustment, Day 2 (+100rpm)
The next day I bumped it up to +100rpm. Another day went by, and the vibration was still present.

Idle RPM Adjustment, Day 3 (+125rpm)
The next day I went up to +125rpm… and THE VIBRATION AT IDLE WAS GONE! I drove that entire day and not once did I experience the vibration anymore. This was exactly what I was trying to fix, and it seemed to work; the +125rpm shifted the idle up to 750rpm:

Idle RPM Adjustment, Day 4 (+150rpm)
The following day for further experimentation, I bumped the idle up one more step to +150rpm. I drove the entire day but I did not experience any further improvement.

Idle RPM Adjustment, Day 5 (return to stock, +0rpm)
To make sure this wasn’t some coincidence, the next day I removed the idle bump and brought it back down to +0rpm, or the OEM setting. Sure enough, throughout the day all of the expected idle vibrations came back.

Idle RPM Adjustment, Day 6 (back up to +125rpm)
The next day, I bumped the idle back up to my successful +125rpm setting. Just like that, the idle vibration was gone again. At this point, I want to note that the modified idle RPM was slightly noticeable by ear – and I mean slightly. Although the human ear is very bad with objective measurements, you’d be surprised at how quickly they will notice the moment something sounds different. In this case, after 7 years of hearing the same engine tone at idle since the first day I drove my truck home, my ears quickly picked up a difference in the sound of my truck at idle.

Idle RPM Adjustment, Day 7 (staying at +125rpm)
The last day of testing was more of the same. The vibration issue I was experiencing at idle was nowhere to be found and gone for good. For reference, my UltraGauge was confirming that the new idle speed was floating around 750rpm, with a small +/-6rpm variation.

IDLE RPM ADJ: Gas Mileage Impact?
I pretty much went through an entire full tank of fuel during each week-long test. Normally I head to the gas station the following day as soon as I see the “low fuel” light go on (everyone has their own preference). Rewinding back to the start, you’ll recall that week 1 was my MPG baseline. After week 1 I drove a total of 289.6 miles. At the pump it took 18.23 gallons to get back to full, resulting in a calculation of 15.89 MPG.

The second week was when I was playing with the Idle Adjustment, so since each day had a different setting, there was no point in recording MPG for that week since it wasn’t consistent the entire 7 days. 

In the third week, I went back to the stock OEM idle setting to confirm my baseline. After week 3 I drove a total of 290.3 miles. At the pump it took 18.28 gallons to get back to full, resulting in a calculation of 15.88 MPG – pretty much spot on with my week 1 control result of 15.89 MPG.

In the fourth week, I bumped the idle back up to +125rpm and left it there the entire week. After week 4 I drove a total of 288.5 miles. At the pump it took 18.25 gallons to get back to full, resulting in a calculation of… 15.81 MPG. So the result? The idle RPM modification was a success!

CONCLUSION: A Happy (and Quieter) Camper
With the new idle setting, my idle vibration issue was resolved, and realistically it only cost me $5! My overall fuel consumption was reduced by a mere 0.08 MPG, which over a full tank calculates out to a -1.8 mile reduction in range over a full tank. Since the vibration issue was resolved, I’m okay with losing less than 2-miles of total range as a result.

I could have technically stopped here since my immediate issue was resolved, but the CVTz50 app had another feature compatible with the Frontier that also required testing: the ignition timing adjustment. Because this whole experiment became more involved than I initially planned, I had to split the CVTz50 app testing into two parts, with the second part covering what I experienced and learned while playing with the ignition timing adjustment. I have a lot of data collected over the last 2 months I have to sort through, then I can put it into words and write part 2. Stay tuned!

(TBA) OBD Tuning, Part 2: CVTz50 Ignition Timing Adjustment Testing
(TBA) OBD Tuning, Part 3: Personalized Vehicle Settings with the Carista App

BONUS: I tried using the CVTz50 app with an even older 2013 Asus Nexus 7 (WiFi) tablet, and it was actually a much better experience. Although 6 years older than the Amazon Fire 7, the Nexus 7’s faster processor and more RAM made it more responsive. It also has a higher resolution screen, wireless charging, and the best part – no Amazon ads!