Notices
1999 - 2016 Super Duty 1999 to 2016 Ford F250, F350, F450 and F550 Super Duty with diesel V8 and gas V8 and V10 engines
Sponsored by:
Sponsored by: Real Truck

2014 6.7 Engine Speed Command & Control

Thread Tools
 
Search this Thread
 
Old Feb 14, 2024 | 07:59 PM
  #1  
mbozrc's Avatar
mbozrc
Thread Starter
|
5th Gear
Joined: Feb 2024
Posts: 5
Likes: 0
2014 6.7 Engine Speed Command & Control

Is there any way to set engine speed outside of accelerator pedal position or, when in SEIC, the resistor/potentiometer setting? I'm working with an application where I'd like to be able to set a steady engine speed while the truck is in motion. I do have an AutoAgent tuner/monitor that has a function for inserting commands on the CAN bus. While I have a high level understanding of what the CAN bus is and does, I don't have any idea on message construction or injection. I'd also be happy to be able to somehow trick the system into accepting the SEIC potentiometer setting when in LiveDrive mode. Or another option.

Thanks for your help.
 
Reply
Old Feb 15, 2024 | 01:00 AM
  #2  
ifrythings's Avatar
ifrythings
Fleet Mechanic
10 Year Member
Photogenic
Photoriffic
Shutterbug
Joined: Aug 2011
Posts: 1,576
Likes: 262
The only option I can see that mite work is to intercept the throttle pedal signal and adjust it to keep a constant rpm. This could be done with something like an arduino that would read the pedal and send it back out unmodified till you enabled it, then you could have it read engine rpm and adjust the pedal output to keep the rpm constant. A word of safety though, having something between the pedal and pcm can be very dangerous, if the module ever failed it could cause the engine to go WOT or if your driving and something comes up where you need the throttle NOW, disabling the system could be to late…

As for the CAN bus, there is no CAN packet that you can simulate or replace to change engine speed, the PCM reads the APPS and transmits that as a TPS and APPS out on the CAN bus, the PCM will never acknowledge a CAN packet that it sends out as it has never been programmed to listen for it.

The other thing also with CAN message injecting is that what ever message you try to inject and modify will be quickly overwritten by the module that is supposed to send it, for example the CAN packet 0x201 (hex) contains engine rpm and vss (and other things), this packet is sent every 5ms (200 times a second), when you inject one packet or even many packets the receiving modules will get confused by getting the original packet and the modified packet that you sent, for example say the pcm is sending 800rpm out in the packet and you try to send 2000rpm in your packet, the receiving modules will get a mix of both packets and something like the rpm gauge will freak out or the cluster will say the packet is unreliable and ignore it.

Anything to do with SEIC or cruise control buttons can not be modified to work while driving as that’s hard coded in the PCM with a ton of safeties, if this was an older truck from say the early 90s that had a standalone cruise control module, you could take the vss input and swap it to rpm (with some pulse dividing) and have it control the engine to a set rpm.
 
Reply
Old Feb 15, 2024 | 10:56 AM
  #3  
mbozrc's Avatar
mbozrc
Thread Starter
|
5th Gear
Joined: Feb 2024
Posts: 5
Likes: 0
Thanks for the detailed response. The APPS Output controller idea seems to be most workable. I'd have to do a bunch of practice projects with an Arduino before I'd consider that. The principle is simple enough, but getting the feedback response gain right would take a bunch of trial and error.

On a related note, do you know how to set up a passive reader to put on the CAN bus to monitor engine speed? I know about the pulse method from the blunt-cut wire under the dash from the PCM, but I think I'd prefer to snoop the CAN packets. I'm also working on an overspeed protection device for a PTO hydraulic pump I intend to install.
 
Reply
Old Feb 15, 2024 | 02:49 PM
  #4  
mbozrc's Avatar
mbozrc
Thread Starter
|
5th Gear
Joined: Feb 2024
Posts: 5
Likes: 0
Also, would you happen to know where to find the specs on the APPS and how it provides its input to the PCM for throttle control?
 
Reply
Old Feb 16, 2024 | 02:21 AM
  #5  
ifrythings's Avatar
ifrythings
Fleet Mechanic
10 Year Member
Photogenic
Photoriffic
Shutterbug
Joined: Aug 2011
Posts: 1,576
Likes: 262
Engine RPM is pretty easy to get from the CAN bus, packet 0x201 on the high speed bus has the engine RPM split between byte 0 and 1, you combine those bytes together and divide by 4 will get you RPM. The divide by 4 is an offset that ford decided to use, most values on the CAN bus are offset by some value before being sent out.

I use the Arduino nano's for projects, the UNO is the same thing but bigger and more of a prototyping board then project board. I've done an APPS converter on a 2008 6.4L to Cummins 24V conversion for my brother, the 2008 pedal works differently then the 2011+ pedal so I can't help much on the range of the pedal though from what I can find it appears to be 2 track pedal with what looks like one track going from 0.5v - 4.5v and the other track going from 0.25v to 2.25v (this is just a guess), if you have a scan tool that can read APPS 1 volts and APPS 2 volts that could be a good starting point.




For hardware I would use an Arduino nano, two MCP4725 DAC's (Digital to Analog Converter) (one for each APPS outputs) and a MCP2515 CAN controller. These all have libraries and example programs out there so you don't have to start from scratch.
The Arduino would read both APPS from the pedal using the built in ADC (Analog to Digital Converter), then it would be converted to the range the DAC's output. However you want to enable your constant RPM, the Arduino would then read the CAN bus and retrieve rpm, you would probably need to do some kind of PID control for feedback between APPS output and engine RPM so you don't get some wicked oscillations from the feedback loop over shooting wildly.

What I did to read the pedal in the Ford to Cummins converter was to read both APPS signals, both had there own 4 point FIFO (First In First Out) averaging filter to reduce noise, then both APPS were compared to each other to make sure they tracked together properly before using one of the APPS signals as the input to the converter stage, this was to validated that the pedal was working right, if they didn't match then the output was zeroed and the converter stage would lock to idle output value for safety. If the pedal was valid then the APPS value was converted to the Cummins range and outputted to both DAC's in there respected ranges.

I attached a video of the APPS converter I built, the top two traces are the ford pedal and the bottom two traces are the output to the Cummins pcm, as you can see close to the end of the video, the bottom ford trace (yellow) has some noise/blips on it and the bottom two traces are clean from the averaging filter, also the response is very fast, there is no lag between pedal movement and the converted output.
 
Attached Files
File Type: mov
FullSizeRender.MOV (1.68 MB, 16 views)
Reply
Old Feb 16, 2024 | 11:33 AM
  #6  
mbozrc's Avatar
mbozrc
Thread Starter
|
5th Gear
Joined: Feb 2024
Posts: 5
Likes: 0
Do you have a link to the Arduino code you used? I'd like to use it perhaps as a starting point or working example for study. I've been hobby programming from time to time in C++ for 20 years, but I've never used an Arduino. I've dabbled a bit with Raspberry Pi though. As I under it, Arduino code is very similar to C. Also, do you have a reference you'd recommend for better understanding how to read the CAN bus? I understand it in principle (I do computer networking too), but this is new territory for me.
 

Last edited by mbozrc; Feb 16, 2024 at 11:36 AM.
Reply
Old Feb 18, 2024 | 03:14 AM
  #7  
ifrythings's Avatar
ifrythings
Fleet Mechanic
10 Year Member
Photogenic
Photoriffic
Shutterbug
Joined: Aug 2011
Posts: 1,576
Likes: 262
Here is a few example codes attached that should get you going, also look at this thread for CAN bus interfacing 2012 F350 Seat Heat/Cool Switch Operation/Wiring
The hardware I used is in that thread for the CAN bus interface and Arduino. The DAC's are MCP4725, on the DAC boards there is a solder jump that you have to set on them to change there address ID's so you can talk to them separately.

Note: Examples attached where made with Arduino IDE 2.3.1
 
Attached Files
File Type: zip
2011_CAN_Bus_Read.zip (1.1 KB, 12 views)
File Type: zip
APPS_Converter.zip (1.6 KB, 21 views)
Reply

Trending Topics

Old Mar 13, 2024 | 12:55 AM
  #8  
mbozrc's Avatar
mbozrc
Thread Starter
|
5th Gear
Joined: Feb 2024
Posts: 5
Likes: 0
Thanks for the info. From a hardware perspective, how did you interface with the wiring on the APPS?
 
Reply
FTE Stories

Ford Trucks for Ford Truck Enthusiasts

story-0

This Hennessey Takes the Expedition Tremor's Off-Roading Capability to the Next Level

 Verdad Gallardo
story-1

Top 10 Fords at 2026 Carlisle Ford Nationals

 Joe Kucinski
story-2

3 Best / 3 Worst Parts of Modern Ford Ownership

 Brett Foote
story-3

10 Amazing Upgrades That Solve Common Ford Truck Owner Headaches

 Pouria Savadkouei
story-4

Every 2026 Ford Engine Explained

 Brett Foote
story-5

10 Ugly Ford Trucks That We Still Kinda Love

 Joe Kucinski
story-6

10 Things Every Truck Owner NEEDS (2026 Edition)

 Michael S. Palmer
story-7

Rezvani's Latest Post-Apocalyptic Monster Is a Ford F-150 Raptor Underneath

 Verdad Gallardo
story-8

Top 10 Most Expensive Ford Trucks Ever Sold on Bring a Trailer

 Joe Kucinski
story-9

2027 Ford Super Duty Buyer's Guide (Every Model, Engine, & Package)

 Brett Foote
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
Traildust
1999 - 2003 7.3L Power Stroke Diesel
15
Oct 22, 2014 03:12 PM
CalebC
1999 - 2016 Super Duty
11
Aug 5, 2010 12:29 PM
f150v602
2004 - 2008 F150
1
May 20, 2008 05:29 PM
Danny D
1948 - 1956 F1, F100 & Larger F-Series Trucks
4
Feb 1, 2008 07:32 AM




All times are GMT -5. The time now is 03:31 PM.

story-0
This Hennessey Takes the Expedition Tremor's Off-Roading Capability to the Next Level

Slideshow: The VelociRaptor Expedition gains a lift, upgraded suspension, Brembo brakes, and trail-ready equipment while retaining the stock 440-horsepower EcoBoost V6.

By Verdad Gallardo | 2026-06-12 11:01:55


VIEW MORE
story-1
Top 10 Fords at 2026 Carlisle Ford Nationals

Slideshow: Top 10 Fords at 2026 Ford Nationals

By Joe Kucinski | 2026-06-09 11:10:08


VIEW MORE
story-2
3 Best / 3 Worst Parts of Modern Ford Ownership

Based on years of owning multiple modern Ford products.

By Brett Foote | 2026-06-09 10:53:36


VIEW MORE
story-3
10 Amazing Upgrades That Solve Common Ford Truck Owner Headaches

SPONSORED: From muddy boots to rain-soaked cargo, these upgrades address some of the most common frustrations Ford truck owners face every day.

By Pouria Savadkouei | 2026-06-08 18:50:34


VIEW MORE
story-4
Every 2026 Ford Engine Explained

Here's everything you need to know about every Ford engine available for the 2026 model year.

By Brett Foote | 2026-06-05 12:58:01


VIEW MORE
story-5
10 Ugly Ford Trucks That We Still Kinda Love

Slideshow: 10 ugly Ford trucks that we still kinda love.

By Joe Kucinski | 2026-06-03 09:51:16


VIEW MORE
story-6
10 Things Every Truck Owner NEEDS (2026 Edition)

Slideshow: the best gifts for dads & grads

By Michael S. Palmer | 2026-06-03 15:43:58


VIEW MORE
story-7
Rezvani's Latest Post-Apocalyptic Monster Is a Ford F-150 Raptor Underneath

Slideshow: Called the Fortress, the 850-horsepower pickup combines Raptor underpinnings with military-inspired features, survival equipment, and a starting price of $285,000.

By Verdad Gallardo | 2026-06-03 11:38:36


VIEW MORE
story-8
Top 10 Most Expensive Ford Trucks Ever Sold on Bring a Trailer

Slideshow: 10 most expensive Ford trucks ever sold on Bring a Trailer.

By Joe Kucinski | 2026-05-27 16:24:34


VIEW MORE
story-9
2027 Ford Super Duty Buyer's Guide (Every Model, Engine, & Package)

Here's everything that has changed for the latest model year.

By Brett Foote | 2026-05-27 16:17:28


VIEW MORE