I crashed my GS within my first 1000km. Was a shame with only 17k on the counter. The front was trashed but I rebuilt it. The speedometer ceased to exist and I was dealt a shitty hand when it comes to GS500 instruments. The 3 used pairs I had were not functioning properly or failed shortly after. I was done with the whole thing so I bought myself a separate koso counter and put it int the housing of one fo the failed speedometers.
(http://i93.photobucket.com/albums/l51/teamicecream/kleppen%20stellen%202/P1010038.jpg)
Not the prettiest but it certainly kept track of my speed and odometer perfectly. It was a tight fit which was the next problem because soon it started to suffer from fractures in the wires because they were in such a tight spot.
So I reinstalled a faulty speedometer and brought the koso outside.
(http://i65.tinypic.com/24wdh0k.jpg)
I've had it running like this for a few years now but I need something else. The koso counter isn't of too great quality either. Sure it works but it has problems with being waterproof, the insides are pretty much permanently fogged up which can be trouble reading it in broad daylight.
Also: I need an oil temperature sensor to keep track of my temperatures when driving around with my mad towbar (http://gstwins.com/gsboard/index.php?topic=69448.0).
So I started thinking and already bought this cheap oil temperature gauge from China. The sensor goes into a hollow oil sump bolt which is convenient but where do you leave the gauge, inside the faulty speedometer?
Maybe, maybe not. Maybe it is time to change some things.
In my experience GS500 instruments are not of very good quality. Your current ones will break or give faulty readings, used ones will fail you sooner than later and brand new ones are insanely expensive. What if you can repair your own gauges with something that will last and what if you can add some more modern functionality.
I present you my concept of the kapiteinkoek cluster;
(http://i68.tinypic.com/30aq8mc.jpg)
(http://i63.tinypic.com/2a7eg42.jpg)
(http://i63.tinypic.com/fcmsg5.jpg)
The computational power comes from an Arduino nano, one for each gauge. Analog gauges can be driven by microsteppers that you also find in car dashboards. The displays (16x2 and 8x2 character) are COG LCD displays because they are compact and have good readability in daylight conditions. Gear, speed and battery voltage displays are simple 7 segment displays. RPM can be measured from the spinning wheel inside the counter (IR Led/sensor) or be taken directly from the primary ignition coils. Oil temperature is measured in the oil sump bolt, air temperature can come from somewhere near the bottom of the gauge housing. Speed can be measured with a hall sensor at the front wheel. The gear information comes from a 7-way switch that replaces the original GS500 neutral switch.
The speedometer can also be partly analog like the tachometer but I like my speed digital so in the picture I put it like this. The speedo display also provides a clock. Background light for the gauge plates can be the stock light or COB Led rings that you also find in car headlights.
One of the main goals is lay some basework for a mechanical to microstepper drive conversion and registring mileage on a display. This conversion (stepper driven tach and speedo, display in speedo) should be able to be done for about 20-30 bucks, half of it if you do only 1. One should be able to replace the innerworks of the gauges with only some handwork and copy-pasta some code on an Arduino nano.
This should reduce problems of faulty gauges and keep our fancy bikes longer on the roads.
Well I guess thats the idea then. I figured I'd share it with you guys and will keep you posted on progress. My stuff is still in the mail as I work with parts directly from China. Keeps the cost down eh.
:o
OOOOOoooooooohhhh!
So pretty. . .
OH.MY.GOODNESS.
Make it happen, PLEASE! :icon_mrgreen:
I mean.... that's awesome!
Best of luck!
So cool! :bowdown:
That is super neat!!! I will be watching this one O0
Yep cool put me down for a set..
Mailman was busy this week stacking my doormat with Chinese envelopes. Today he brought me a pair or arduinos allowing me to put something together
(http://i65.tinypic.com/2vvl1xe.jpg)
(http://i64.tinypic.com/20hsyty.jpg)
My first arduino program, changes 'gear' every 1 second. Still expecting a bunch of stuff such as the gear selector switch and stuff to read the ignition.
Awesome idea, will be keeping an eye on this!
How do you plan to pick up the ignition from the coil wire?
I have ambitions of logging data on my bike for tuning purposes. So I bought an Arduino Uno kit and I'm going to be doing a bunch of reading and watching this space for updates :)
Something like this
(http://i65.tinypic.com/al3e6c.png)
Found that circuit somewhere on the internet. If it doesn't work I'll resort to IR leds at the signal generator that 'see' each other once the notch has passed.
Another alternative I considered was sticking a little magnet to the side of the big rotating magnet in the tachometer and putting a hall sensor next to it. I won't have space for that though because I decided to put 2 arduino's in the tach.
Why 2 you might ask. Because one doesn't have enough pins and can't provide enough power for the LCD display, 7 segment display, stepper driver and sensors at once. Arduino's are cheap as chips and putting another arduino in is much easier than building a separate pcb with shift registers, transistors and whatnot.
https://youtu.be/kWma1YAXCvU
Work in progress. Still missing is the RTC module to keep track of time (bottom right), a button to reset the tripmeter and some practical work to build it into an old speedometer housing. Other than that it works alright. Keeps track of speed and saves odo and trip values to the memory.
Also still waiting for my stepper motors and some small parts to build the ignition pulse converter.
(http://s32.postimg.org/7lvdboapx/speedo_exploded.jpg)
(http://s32.postimg.org/75er2zccl/tacho_explodedview.png)
Arduino turns out to be too slow to run the wire library and multiplex my segment displays at the same time. It becomes so slow you can see it flicker between the numbers. Had to rethink some stuff for a bit. I figured less is more.
- no more red segment display in the speedometer
- no voltage meter either
- only a 16x2 character lcd
- tachometer gets a stepper motor and a segment display to show the gear.
Did some tryouts with my x27 stepper
(http://s33.postimg.org/vl042ahi7/coolstuff.jpg)
https://www.youtube.com/watch?v=kXGdZERJxkM&feature=youtu.be
Speedometer software 95% complete
https://www.youtube.com/watch?v=bB6LkYyPMN8&feature=youtu.be
(http://s33.postimg.org/d5y0nuwwv/menus.jpg)
2 menu's for driving, rest for settings and in the future possibly engine diagnostics (e.g. exhaust temperature difference to indicate differences in mixture, manometer to detect asynchronized carbs, ignition check, etc). Oil temperature shows above 40 degree c, air temperature goes up because I grab the sensor.
When battery/charging voltage becomes too low or high, when oil temperature becomes too high or when service mileage has been reached a message is shown in the main screen. Oh and the battery voltage in the video is fake because nothing is connected.
Looks amazing! :o :o :o
I wish some of the intended features weren't lost, but I suppose its unavoidable? Can a discreet extra screen be added?
I could still add a screen in the tachometer. Reason I now left it out is because I had space in the speedometer. Because I had to run the wire library for the time keeping module I could also use it to run the lcd screen freeing up 4 extra pins for sensors.
Functionality remains the same, in fact I can now add more as there are more free pins on the Arduinos.
-edit
speedometer code 100% complete including an additional piece of code to set the initial values for odometer, tripmeter and servicemeter. Things to do
- create code for tachometer
- order 3D printed parts and put the hardware together
- write some documentation for the internets
- find some more broken GS500 speedo/tachometer units
- use leftover parts to create additional units e.g. one that features the 8x2 lcd screen in the tachometer.
-edit 2
Tachometercode complete. Includes this fancy full RPM range sweep at power-on that you see in modern vehicles O0
Probably requires some tweaking to increase smoothness of the needle so I'll throw in a small USB cable extension so I can hook the whole thing up to a computer and load another piece of software without taking it apart. Starts to look like a modern motorcycle indeed.
This is so cool. :woohoo:
Makes me wish I had half the know how to accomplish something like this.
So did I . I just figured I wanted to build this and Arduino is supposed to be a beginner platform so why not. I learned things as I go. I still am :icon_razz:
I ran into other cool stuff too as I was googling stuff I needed to know. Apparently there is some Arduino-like platform with a nice wifi thing on it, the ESP8266. You can program it like an Arduino and it can host its own wifi network or connect to the one in your home.
Basically you could check your GS500 status from any browser like on your PC or smartphone and display things like battery voltage, mileages, outside temperature, service mileage and whatever you put on it. They are cheap like the Arduino's like in the 2 buck price range. It's not something I'm gonna build right now because I have other stuff to do but there are some mad cool possibilities out there. The ESP8266 community is still (rapidly) developing and people are building all kinds of cool stuff with it.
All code is finished. Gear sensor installed and works. Segment display has 0 visibility in direct and full sunlight but being in the Netherlands we don't get a lot of that anyway. Also expect some slight improvement after tucking it into the housing. I may reconsider this in a next build. Reading the ignition appears to work, have not tested it at higher RPMs yet but will start doing that when things are in place.
(http://s33.postimg.org/nqnakvthb/sensor1.jpg)
Gear sensor plugs. Connects to the original wiring harness with a fitting connector so the original neutral light keeps working.
-edit
Am already reconsidering the display.
- want to make the gear visible
- use something that is not visible in bright sunlight conditions
- optimal time to drive the bike is in bright sunlight conditions
- ??? no profit
Will have to find a way to display the gear differently using something else than backlit numbers. Already have 2 ideas:
- add an extra needle (and stepper motor) with its own 0-6 scale
- use one of those wheels with numbers from an old speedometer and rotate the numbers 0-6 depending on the gear
I'm already fond of the second option. Requires little space and is perfectly visible. Also compliments the analog-ness of the tachometer even though it is secretly very digtal on the inside.
- edit 2
Just remembered I still have the parts from my crash&destroyed speedometer
(http://s33.postimg.org/kwcq457jz/gauges.jpg)
Reminder to never throw away anything :laugh:
- edit 3
oh god yes a second needle with a dual shaft stepper motor
https://www.youtube.com/watch?v=OJdmlt30hGU
I'd be able to let the second needle point out the gear on the existing rpm scale
-edit 4
there we go
(http://s33.postimg.org/xw7cn0w33/gearsensor.png)
a 6mm hole will be drilled above the x1000rpm mark through which you can see the number wheel. I think it's going to be very cool to see it rotate when you pop it into gear or neutral. Almost like there is a real mechanical connection between your gearlever and the gauge.
It's going to be so cool to see the number rotate when you switch gears!
Did not clean up yet and the protective film is still on the screen. Will probably add some sticker overlay later to cover the edges of the LCD and the rest of the front. Also forgot to order the stepper motor mount because I'm an idiot so I will have to wait some more for that before building the coolest GS500 gear indicator ever.
(http://s33.postimg.org/p3pnubmrj/teller1.png)
Also messed up the bottom plate as I accidentally mirrored the voltage converter so the mounts don't fit. The cutout in the corner is for a short extension cable so I can update/program the Arduino's without taking anything apart.
(http://s33.postimg.org/lhfaxffjz/bottomplate.jpg)
Apart from my own mistakes these 3D printed parts fit totally awesome. I'm using miniature M1.4 screws to put everything together so everything is replaceable and removable.
Also adding another feature: Another temperature sensor in the cilinderhead. Will mount it under the valve cover as it requires no modification to the bike (like the oil sump sensor) and easy and quick to install. Glass thermistors are very cheap apparently and funny enough are used in heated printbeds of 3D printers. So I will have 2 values of engine temperature, oil sump (handy to check when the engine/oil is at operating temperature, specially in winter times) and cilinder head temperature (better place to check if the oil temperature is starting to get critical).
(http://s33.postimg.org/u7482h5a7/testteller1.jpg)
In the picture it's tripping balls because nothing is connected yet
-edit
First idea for a software update after I'm done with the initial version;
https://www.youtube.com/watch?v=MeCZi3DPNtw
Create large custom characters to display the speed on the main screen
- more edit
(http://s32.postimg.org/6tq3q5iph/handarbeit.png)
:o :o :o :o
AWESOME SO FAR!!!! :thumb: :thumb: :thumb: :thumb:
amazing... so when can i order a set?
https://youtu.be/R5p3bp1mD3E
It's working :)
Will also be the last tach with the Arduino inside. Yes it fits but don't ask me how. Saves so much time and effort if the Arduino is placed next to the tachometer in the left over space in the instrument housing. I will probably run into lighting problems too because of the wire mess inside as well. It's alright though this is just a tryout unit. I'll build at least one more tachometer because now I used shitty greasy parts of bad looking units. Maybe I will make more but I need old instruments for that. I'm sure some Dutchies will have some bad ones lying around.
NEVER AGAIN
(http://s33.postimg.org/hheci7dgv/neveragain.jpg)
Everything is inside and it works but hell I'll never put everything in the instruments again and strongly advise people not to do this. I thought it would be convenient but is absolutely not. The best way to build something like this is by putting the Arduino's in a small box somewhere else on the bike then run a few wires to the instruments. It would only require 6 for the speedometer and 8 for the tachometer if you run both the needle and a gear indicator.
Put a discreet box underneath the tank between the turn signal generators. . .
That could work very nicely. . . :cool:
Quote from: Daeouse on June 08, 2016, 10:45:26 AM
Put a discreet box underneath the tank between the turn signal generators. . .
That could work very nicely. . . :cool:
A shielded (metal) box because I'm quite sure the ignition coils will mess up functionality. I already noticed this when I was cooking some motor oil to check the temperature sensors. My stove has this auto spark function and at a distance of 20cm the field coming from it crashed the Arduino. But yes that would be a much better solution.
-edit
finished up the tachometer
(http://s33.postimg.org/j8q8azkjz/tachunit.jpg)
It was a lot of work and they don't even look that spectacular from the outside.
(http://s33.postimg.org/pv8aqfcun/units.jpg)
Functionality is mad though:
- Speedometer
- Tachometer (with this cool full range swipe at startup)
- Gear indicator
- Odometer
- Tripmeter
- Service meter (tracks how many km since last service)
- Clock (very accurate)
- Option to set the time
- Sump oil temperature
- Cilinder head temperature
- Outside air temperature
Mileage values are stored in the Arduino EEPROM which theoretically lasts 100,000 reads/writes (in reality it is more like 100,000-1,000,000) Because you get one every 1 km I also wrote a memory wear-leveller so at least the memory should be good for at least a million km. I included USB extension cables so I can update/reprogram the units without taking anything apart.
We now have large numbers on the speedometer
(http://s33.postimg.org/8g8tlojtb/geupdate.jpg)
Also, my tachometer unit died on me :cry: I discoved a bug last night where the gear indicator does not always return to zero reliably. This morning neither of the motors responded. I reckon the Arduino is fried because I have shorted it many times while experimenting. I pretty much expected this to happen because I ordered some extra Arduino's for moments like this :cool:
-edit
It didn't die, I loaded a wrong version of the program and the failed reset bug is solved. 100% functional now.
https://youtu.be/EsIFJLHbjOs
:woohoo:
I love this thread... super nifty stuff kapiteinkoek... but you already know that :thumb:
So, when this is all said & done, are you looking to sell this as a kit/replacement gauge set? I ask because I'm sure you're making people here salivate. Forgive me if you noted this earlier in the thread.
Also, I may have missed this as well, but did you ever figure out the display washing out in bright sun thing?
I definitely do not plan making units for people the way they are now. I fitted everything inside but it doesn't actually fit. I barely managed to get everything inside. I don't plan selling on kits either as I have enough other stuff to do :icon_razz: I might do some additional builds for fun (e.g. I'll make at least another tachometer for myself and probably another one with a double needle system) and sell those but it's not going to be a standard thing I'll be doing from now on.
I will however release the code, parts list and a document that states where to connect what. If you can handle connecting dots, a soldering iron and some pliers anyone should be fine. I also put things together in such a way you don't really have to modify anything on the bike, no drilling holes no damage etc. Together with using dirt cheap parts it's a pretty fool proof thing to try.
The problem with the displays were the LED segment displays, these kind of units:
(http://www.futurlec.com/Pictures/Single_Seven-Segment_LED_Display.jpg)
The problem in sunlight is that an LED cannot compensate for the sunlight. It would require blinding brightness to make it visible in direct sunlight. So I decided to completely skip those, integrate the functions (speed, battery voltage) in the large LCD and change gear indicator with the rotating number wheel.
What about the large LCD? Well this less-than-2-bucks LCD screen is transflective. It does not have to compensate for sunlight, light reflects from the background either from an LED or the sunlight. Contrast remains the same or may even go up in sunlight. 100% visibility in any condition.
I'll be testing the units on a round trip Norway (5500 miles) with my towbar and trailer attached.
What I also plan on doing is providing a solution for faulty speedometer/tachometer units. Functionality would be basic, only speed and RPM. The speedometer has a mechanical connection between odometer and tripmeter which generally keeps working fine. Instead of the magnet system a steppermotor can be added to drive the needle. Similar for the tachometer, if it fails just remove the insides, stick in the stepper motor and there you go a 'repaired' unit.
Sounds good! I'd be interested in the source code, parts list and such, once you get through the next iteration of putting it in a shielded box and such.
Parts list would remain the same. The only difference would be the box and different wire lengths :icon_razz:
I also just realized I've been a complete knob. The reason everything was very hard to fit is because of the wire mess. Because it's a size I often use I used 0,25mm2 wire which is really thick wire for this application. The Arduinos cannot provide more than 5v with very limited current so the units could be put together easily with something like 0,14mm2 or 0,05mm2 wire. This would be a night and day difference when putting them together. More space would be left and the wire would be way more flexible.
Here a little 3D printed box for the ignition thing:
(http://s31.postimg.org/91i32p28r/ignitionunit.png)
it will be filled with acid-free silicone sealant and then attached with two tiewraps to the headlight mount. It connects to one of the primary ignition coils and switches on/off the optocoupler. The Arduino basically sees it as a switch that turns on/off whenever a sparkplug ignites.
Finalized units ready for installation
(http://s31.postimg.org/qicy0ge23/units.jpg)
Yeah, there would be more space and easier bends with thinner wire, but that's still a lot of wires coming out of the gauges. :o
I think my preference would be to run one or two wires to the gauges and have everything else going to a box located elsewhere.
Agreed. Use multi-core wires (need 6 for the LCD and button in the speedometer and 4 for each stepper motor in the tachometer) to reduce it to 2 or 3 cables.
There is not really a benefit from building everything into the housing itself. I thought there was but I was wrong :icon_razz:
It's not so bad that I would take them apart again but I would not repeat the exercise.
Captain i am VERY IMPRESSED thusfar. when shes finished if at all possible would you be able to film her in operation. with my health issues, i plan on motorising my kneescooter. have plans on BOTH using an electric motor along with a gasoline engine. mainly to monitor engine RPM, AS WELL as monitoring current draw, and battery level for electric motor usage. this is something ive got to do from ground up. since its hardly done if ever. both forms of propulsion to be able to use it indoors as well as outside. i do appreciate the inspiration my friend. truly.
Aaron
Thanks. I had to look up what a kneescooter was because I've never heard of it or seen it. Putting a gasoline engine on that is insane so ofcourse you have my support.
Engine RPM and battery level are easy, you can even copy that from my units. For measuring current draw it's probably easiest to get an extentsion for measuring current. I've seen parts for less than 2 bucks that can handle up to 30A.
Will upload my code and used parts soon enough. The reason I have not done that yet is because I want to run it a couple of times first. It would be sad for example if it fails to keep track of the tripmeter then somebody thinks he has some miles left and runs out of gas. Or someone getting a ticket because my speed calculation is flawed.
I will try to film it in operation. Stationary is easy, while driving will be a little bit harder because I don't have a gropro or something similar. I'll have to make do with my cellphone but I'm sure I can figure something out.
ive got a sunpro supertach 3. which survived the wreck of my old cop car lol. i want to use it to house any gauges. the knee scooter i wish to use it on is called a kneerover ( all terrain) i put road tires on it. i want to put one training wheel on the bad leg side. along with a watercraft kill switch. also want to use it, and the pw6 ( chinese handlebar control to maintain running.) theres a plan to make the engine a 4 stroke, but modular unit so i can use it indoors. the electric motor ( already have it) would be permanently mounted. pending the outcome of a bit of a crisis regarding fused ankle. anyhoo i digress, i do admire what youve accomplished so far. i USED to have a digital atv cluster. would have been ideal. i powered it from the coil on my goped gtr40. anyhoo i will sit back and watch your creation in progress :)
Aaron
an ambitious upgrade capt, hardly can't wait for the final result :bowdown: :bowdown:
Had to deal with some shitty exams, will install the instruments tomorrow or the day after that. Round trip Norway should start saturday so they should definitely be on before that.
Unfortunately you guys will have to wait a little bit more. I installed the instruments today, tried to get the tachometer rpm working then battery died on me. I'm on a tight schedual as I plan to leave on saturday so I had to abandon the digital tach for now and put back in the old original one.
I'm really short on time because I have to do a lot of maintenance.
I also discovered a problem with the battery voltage reader function because the Arduino does not boot when the voltage divider circuit is connected to the battery. I also did not have time to fit a hall sensor on one of the wheels to track the speed. Basically I'm only running the speedometer now for the temperature sensors and the clock. Everything else will have to wait a week or 2 before I can continue with that.
Have a good trip!
Bummer. I hate it when things don't work as planned on the first try.
Have a good trip though!
Back from Norway, the work will continues. I removed the speedometer from the bike and will do some more testing and debugging to get the temperature sensors and battery voltage working.
-edit
temperature sensors are good now. 3 things left to do:
make sure the Arduino boots even if the battery voltage measuring thing is attached
installing/testing the tachometer
install hall sensor to track the speed and mileage
pretty good timing because my kosospeedometer is starting to fail.
Current situation
https://youtu.be/FEhdS0Wow-4
Everything works. Tracking speed is flawless. I took the video after a short ride (about 30km slow traffic). Temperatures shown are ambient (30+ degrees because its standing still and heat comes from the engine, actually its 21.5), oil sump and cilinder head. A 'B' is shown on the main screen because it warns you if the charging voltage is too low and the bike wasn't running.
I put the hall sensor next to the rear brake disc. I glued a little neodymium magnet on the disc. Will move it to the front disc if I get rid of the koso speedometer (will test some more first).
(https://s32.postimg.org/fswde20mt/hallsensor.png)
Here you can find some code and schematic like stuff of the speedometer:
click (https://dl.dropboxusercontent.com/u/12428233/3.2%20MF%20post/Speedometer-v3.2.rar)
I have created a stripped down version of the code and hardware to make a simple speedometer. Only speed and mileage functions. Now you can create a basic speedometer for only a couple of bucks. It also includes a simple instruction to convert it to MPH and mile values instead of km/h and km.
Breadboard prototype displaying 0km/h, odometer 88400km and tripmeter 31km:
(https://s32.postimg.org/cjpfrzmol/simplespeedo.jpg)
Find the code, required hardware etc here (https://dl.dropboxusercontent.com/u/12428233/SimpleSpeedo/SimpleSpeedo_V1.2.zip).
Hey, I'm very interested in this, do you have any more information on the finished project?