Home

Awesome

Car Audio Steering Wheel Control interface using Arduino.

Requires AceButton https://github.com/bxparks/AceButton

Ford BA / BF Steering Wheel Control Adapter for Pioneer Stereo

The bulk of this has been built off the knowledge found in the following articles and forum posts;

http://www.jvde.net/node/7
https://forum.arduino.cc/index.php?topic=230068.0

This should work on Pioneer head units (Single DIN) that deliver both 5V & 3.3V via the Wired Remote input.

NOTE : The 3.3V circuit on an Arduino is ONLY available when the unit is powered via USB. If it is powered via VIN then a 5V power line to the digipot will work on a Pioneer that delivers 3.3V via the WR.

I recommend leaving the USB free for debug / programming whilst installed in vehicle and power the unit via another source.

Current button configuration:

FunctionButtonAction
Volume DownVOL-Press & Hold
Volume UpVOL+Press & Hold
Next Track / ProgramSeekPress
Previous Track / ProgramSeekDouble-press
Play / Pause*SeekLong-press
SourceSourcePress
Hang-upSourceDouble-press
Voice ControlSourceLong-press

Digipot values to Pioneer functions (Pioneer MVH-S305BT)

FunctionResistanceDigipot ValueTimePlug
Volume Up16k33 - 4650msTip
Volume Down24k47 - 7250msTip
Track + / Seek +8,2k17 - 2250msTip
Track - / Seek -11,25k23 -3250msTip
Source1,2k1 - 550msTip
Power1,2k1 -51000msRing
Band62,75k88 - 21250msRing
Play / Pause62,75k88 - 21250msTip
Display5,7512 - 1650msTip
Mute3,56 - 1150msTip
Voice Control6,7k98 - 2321000msRing
Hang-up5,5k1450msTip

Note, Band in some modes can result in Play / Pause and Voice Control is dependant on Pioneer model and mobile phone

Version 0.1 08/08/2020
Complete test in vehicle, all but previous track and power off functioning

Version 0.2 08/08/2020
Altered to catch release instead of press and supresss click to catch double-click

Version 0.3 09/08/2020
Cleaned up volume trigger, reset track -/+ trigger

Version 0.4 29/08/2020
Introduced dual digipot commands for tip & ring triggers, this enables BT phone commands

Version 1.0 11/10/2020 Final wire with power via VIN, step-down to ~ 7.5V. Re-calibrated virtual buttons as they were a bit off due to the new power source, I assume

Version 1.1 25/20/2020 Optimised button timing

Version 1.2 02/11/2020 Adjusted digipot value to reduce bleed into next function - seek & volume

Version 1.3 11/12/2020 Included Longhold and Release for VOL +/- and minor changes with move to AceButton 1.8

Version 1.4 1/11/2023 Re-calibrated the ladder, disabled a couple of functions due to moving head unit to a Pioneer SPH-DA306DAB. Will re-learn functions soon.