GL 1800 Goldwing Autoenter

 

Our Goldwing has the built in NAVI. It is a nice GPS with some good features. It has an evil side though. You see Honda wants to remind you EVERY time that you you should not play with the GPS while driving. So much so in fact that they have installed a 'nag' screen that requires you to press enter to acknowlege that you have read it. Also to make sure that you don't play with the GPS they have disabled all of the buttons while you are moving. To recap after filling with gas and firing the bike up, about 21 seconds later the 'nag' screen appears telling you to press enter BUT you can't press enter because you are Already Moving.....What!

 

For every problem there is a DM.

The first thing is to find the speed signal to the GPS and cut it. 3 days later... Oh There It Is.

This is a 2017 Goldwing. Other years may be in differant locations.

I cut the white with black stripe wire and connected it to a cable that will run to the GPS button area.

Here I have connected the wires to a little tiny SPDT (single pole double throw) relay. When the relay is de-energized it will make connection and the speed signal will go through to the GPS and the GPS will update its position.

I did 3D print a box for it.OHHHH the countless hours to create this!!!!

Allways remember to use clear nail polish on your electronics that are subject to exteme conditions. It is the best way for a non commercial DIY according to Scott Manley. Besides if you slip and get some on your finger nails they are nice and shinny all day.

 

I have the relay mounted to an Arduino uno because it is more fun than lego!

The other 2 relays are for the buttons. One makes connection for the "Map" button and the other controls the "Enter" button.

I used these cute little relays I found on ebay.

I solderd them directly to the arduino.

Can you believe this blurry thing is the only pic i have of this work of art?

If you follow the tracers one set of wires connects to the MAP button and the other connects to the ENTER button.

The speed relay was solderd to pins 4 and 6. The previosly interupted GPS speed wire was then connected to the Normaly closed terminals of the relay.

The map relay was attached to pin 8 and 10. The wires from the map button on the wing were attached to the Normaly open contacts of the relay. The same applies to the Enter button relay on pins 11 and 13.

I used a 3 position switch [ON/OFF/ON]. Ground the center pin and the 2 other terminals go to A4 and A5 on the Arduino.

The switch is the power from accesory to the uno. with the switch Off the system will default out to the main dash screen.

Turn the switch On it will run the code that will stop the speed signal to the GPS; it then auto-powers the relays to the Map and Enter buttons, finally it reconnects the speed signal. Look Mom, no Hands. Way more Zen than stopping at the closest red light for a Minimum 5sec (while the light turns green) jabbing at buttons like some lunatic computer tech on a mission.

Added bonus: if you are driving along without the GPS and flip the switch ON, the program will do its magic and the GPS will be seen on the NAVI screen.

 

 

 

And a bit of code:

* Note: I am a mechanic - NOT a computer programer!

int Bootupdelay = 13;//in seconds
int buttonpushdelay = 3000;//in millies
int runonce = 0;
int SW1,SW2;

int speedrelayhigh = 6;
int speedrelaylow = 4;
int maprelayhigh = 10;
int maprelaylow = 8;
int enterrelayhigh = 13;
int enterrelaylow = 11;

 

void setup() {
pinMode(speedrelayhigh,OUTPUT);pinMode(speedrelaylow,OUTPUT);
pinMode(maprelayhigh,OUTPUT);pinMode(maprelaylow,OUTPUT);
pinMode(enterrelayhigh,OUTPUT);pinMode(enterrelaylow,OUTPUT);
pinMode(A4, INPUT_PULLUP);
pinMode(A5, INPUT_PULLUP);

digitalWrite(speedrelaylow,LOW);digitalWrite(maprelaylow,LOW);digitalWrite(enterrelaylow,LOW);//provids ground for relays
}

void loop() {
delay(100);
SW1 = digitalRead (A4);
delay(100);
SW2 = digitalRead (A5);

if (SW1 == LOW) { digitalWrite(speedrelayhigh,HIGH);}
else{digitalWrite(speedrelayhigh,LOW);}

if((SW2 == LOW)&&(runonce == 0)){autoenter();}
}

 

void autoenter(){
digitalWrite(speedrelayhigh,HIGH);delay(buttonpushdelay);
delay(Bootupdelay*1000);// wait for GPS to boot

digitalWrite(maprelayhigh,HIGH);delay(500);
digitalWrite(maprelayhigh,LOW);delay(buttonpushdelay);
digitalWrite(enterrelayhigh,HIGH);delay(900);
digitalWrite(enterrelayhigh,LOW);delay(100);
digitalWrite(speedrelayhigh,LOW);delay(100);
runonce = 1;
}

 

 

Returen to the main page.