StromTrooper banner

Stromputer is alive

189K views 770 replies 89 participants last post by  p38arover 
#1 ·
I started another thread months ago ("MK 1B") but it got long and very technical, so I decided to create a new one.

Basically I invented a digital solution that shows the current ambient temperature, current gear position and current battery level in an LCD display, gears showing also as LEDs. The solution is based on Arduino (AVR) microcontroller and can (and will be) expanded to have more advanced features - MPG (Miles Per Gallon) display is high on my list. If a GSA has it, so will the Wee! :) I also think of adding connectivity to smartphone via Bluetooth (e.g. show incoming SMS messages). The Arduino is a very capable and extensible platform.

I got some help from good Stromtroopers along the way (you know who you are.. :hurray:), had some bugs and fixed them, and did many experiments until everything got to work, but it really works now! The prototype is mounted on my bike and works great.



The core costs of the initial prototype were a bit high - about $110, not taking into account the mounting (RAM in my case) and other R&D costs (extra parts, wrong parts..). That been said, it is still cheaper than getting a 3rd Party Gear Position Indicator that does just that function.

The project is also open source: stromputer - Display enhancement for Suzuki V-Strom motorcycles (and others) based on Arduino - Google Project Hosting

I think the project is now ready to move to the next phase, which is more optimal and also much cheaper. I have clear ideas on how to make it cheaper - in particular consolidating all electronics into one box instead of two as it is today.

BTW: There is another project by Voltar, which is more of a DIY gear position indicator.
 
See less See more
  • Like
Reactions: sicano
#123 ·
Big:

Seeedstudio will package, etc. For example, this is the scope I have been using for a few years. Produced and sold by Seeedstudio. Design was by a normal 'nerd' like you or me. (DSO Nano oscilloscope V2: Amazon.com: Industrial & Scientific)

They will build to your suit and/or provide advise. They will even offer distribution it you want them to. For example, every thing made by "Dangerous Prototypes" is designed by a normal nerd and then manufacture/sold via Seeedstudio.

There are several excellent podcast interviews with the Seeedstudio founder out there that are worth a listen if you have an interest.
 
#125 ·
Hey BigMan,
My friends and I (all V-Strom riders) think your "Stromputer" idea is great. We would definitly be interested in purchasing it when available. Thanks for all your time and effort you put into it. We not so technical folks appreciate it.
Dave
2011 DL650A(Pearl White-THE best, as you know)
 
#127 ·
Thank you. Much appreciated.
As I explained, I need to some how figure out the enclosure problem. Once/If I do that, I could go with the product route.
 
#128 · (Edited)
Chris asked me today about voltage dividers and I wanted to demonstrate how to calculate the values.

The battery voltage divider should have a ratio around ~4.
The reason for that is that it can handle 20V safely, since 20V will be divided by 4 and become 5V, the upper limit for an Arduino measurement.

The gear voltage divider is by definition 2.0 since both resistors should be equal (to half the gear voltage, i.e. 5V -> 2.5V, as an extra measure against peaks that might happen).

To have an accurate battery level measurement make sure you actually measure the two resistors, and then calculate the divider ratio:
Ratio = (R2 + R1 ) / R1

You can modify that ratio in the firmware, in Stromputer.h file:

Code:
// RB1: 39Kohm, Real measured value: 38.2KOhm
// RB2: 120Kohm, Real measured value: 118.5KOhm
// ( 118500 + 38200 ) / 38200 = 4.102f
#define BATT_VOLT_DIVIDER 4.102f
Please note that the values here come from the V1 version. In V2 I recommended larger military spec resistors (RBatt1 = 332KOhm and RBatt2 = 953KOhm).
Theoretically using these values, the ratio would be:
Ratio = (953K + 332K ) / 332K = 3.87

Using this ratio the maximum battery voltage will be 3.87 * 5V = 19.35V, which is very reasonable for a 12V battery, that gets about 14.4V when charged.
 
#129 ·
Well - let me say first - I am very dumb when it comes to electronics. Never minding that - I love the concept of the Stromputer, and have ordered most of the parts to build one. That means that those of you who are electronics noobs will probably get to learn from my questions to Bigman.

I'll make sure I post things I learn and find out, and pictures of my final install (since I have a few ideas there).

So far, Digikey was great - all the items from the V2 BOM have been ordered and recieved. Ebay - same....Arduino and LED screen are on the way to my house. But - I cannot find these items (and it may be because other things similar are acceptable - I just don't know enough to have any idea.) These items are what I am missing:

PhotoCell Voltage Divider Resistor - 10KOhm, 1/8W

LED Resistors - 1KOhm, 1/8W

OneWire Pull Up Resistor - 4.7KOhm, 1/8W


With those, I will be ready to start playing. Ugh - and learning to do electronics.
 
#130 ·
Hi,

I'm happy to see another build in progress.
Not sure how the part# for the CdS was missed, but it is in the BOM V2 Spreadsheet:
Part# PDV-P8001-ND
PDV-P8001 Advanced Photonix Inc | PDV-P8001-ND | DigiKey

As for the resistors -
Ebay or Radioshack have these very common value resistors. They are very cheap.

A note about the CdS and the LCD screen (the YwRobot/EBay) after working with it - it has not programmatic contrast or brightness like the more expensive NHD LCD.
What that means is that the CdS input cannot control the YwRobot LCD, but it can still control the brightness of the gear LEDs.
Another option is to purchase the more expensive NHD LCD, if auto dimming is important to you and you don't mind paying another $8 or so.
The firmware now knows how to handle both LCD types.
 
#131 ·
Boy Bigman, do I wish you lived around the corner from me!....:mrgreen:
This stuff is SO over my head....:confused:
 
#135 · (Edited)
I'd like to help out with some of the documentation for this project as I decipher it myself.

For starters I added urls for some of the items on the shopping list. I'd also like to add some explanatory text for what different parts are used for. It'll help me and probably a bunch of others here understand what they're buying and learn more about electronics generally.

question: should the Posi-Locks still be on there? I thought they were POSi-locks per one of your posts, yes?

my copy of your spreadsheet here. just a working copy now but if you decide you like how I'm approaching it we can incorporate it into the project wiki later.

https://docs.google.com/spreadsheet/ccc?key=0Arr7yUK8_ZwNdEw5NEpNcDQ3ZUJaSnJMNWcyeWpndnc
 
#136 ·
I'd like to help out with some of the documentation for this project as I decipher it myself.

For starters I added urls for some of the items on the shopping list. I'd also like to add some explanatory text for what different parts are used for. It'll help me and probably a bunch of others here understand what they're buying and learn more about electronics generally.

question: should the Posi-Locks still be on there? I thought they were POSi-locks per one of your posts, yes?

my copy of your spreadsheet here. just a working copy now but if you decide you like how I'm approaching it we can incorporate it into the project wiki later.

https://docs.google.com/spreadsheet/ccc?key=0Arr7yUK8_ZwNdEw5NEpNcDQ3ZUJaSnJMNWcyeWpndncxlsx
Your Google Docs link is broken.
 
#138 ·
Well, with that newest Google Docs spreadsheet - it leaves links and explanations gone for the three things I need - the pull-up resister, the divider resister, and the LED resisters.

Went to Radio Shack last night....and they had no idea what I needed. I was as clueless as they were.

Any helps?
 
#139 ·
yeah i left the ones blank that i didn't know about :)
sorry - i've done 2 or 3 projects before but i'm still really new to this as well.

I'd guess that the LED resistors are for lessening the brightness of the LED lights. I'm not certain and I think that could be controlled as well/instead through the Arduino, but maybe they're so stupid bright that the resistors are useful for setting a max brightness.
edit: why you need resistors with LEDs
 
#148 ·
I added some documentation of how to compile the source code:
StromputerV2Instructions - stromputer - Display enhancement for Suzuki V-Strom motorcycles (and others) based on Arduino - Google Project Hosting


Also thanks to Chris, I found that there is an issue with the analog to digital calculations which I did not noticed on V1, but which is an issue on V2 (in particular the Nano V3 board) when connected to USB power. When using the LM2940 5V voltage regulator, i.e. on the motorcycle, this is a non-issue.
It has to do with the internal voltage (VCC) on the board. IT seems on Nano V3 the VCC is much less than 5V, causing voltage calculations to skew considerably. Once again, it should work flawlessly on the bike since VCC will be a nice stable 5V, thanks to LM2940.
I will fix and verify that during this weekend. Not a show stopper and causes no risk, just something to be aware of.
 
#149 ·
...Also thanks to Chris, I found that there is an issue with the analog to digital calculations which I did not noticed on V1, but which is an issue on V2 (in particular the Nano V3 board) when connected to USB power. When using the LM2940 5V voltage regulator, i.e. on the motorcycle, this is a non-issue.

It has to do with the internal voltage (VCC) on the board. IT seems on Nano V3 the VCC is much less than 5V, causing voltage calculations to skew considerably...
Doesn't the Arduino have an internal voltage regulator? Shouldn't it be providing a stable Vcc regardless of the power source? :confused:

Is the Arduino expecting USB voltage to already be regulated, and therefore Vin from the power jack goes through the regulator, but not the Vin from the USB port? That's kinda a poor design for the reasons you mention above if that's the case, but I'm only an interested neophyte in the EE world, so maybe there's something I'm missing that explains why it's working that way.
 
#151 ·
Ahhh...that makes sense. I respectfully withdraw my previous comment :mrgreen:

Thanks for the explanation! :thumbup:
 
#152 ·
Big:

You can use the reference V for to help with accuracy. But, I agree with you that it is not required for this application and adds complexity without any benefit.

Question: Have you tried any of the Arduino simulators? I D/L'd a free trail one and if does speed up dev time some due to all the debug data it returns and not having to wait for the upload link. It is well done with graphics for all the standard boards. Certainly worth the D/L for a look (Shields for Arduino)
 
#153 ·
close tolerance resisitors

Hey Chris
Did you find an Australian source for the close tolerance resistors.?

Mouser and the others want ludicrous sums to post a couple of resistors.
Thinking I may just get Jaycar 1%ers and trim the ratios in the code.

Tom R
 
#154 ·
Hey Chris
Did you find an Australian source for the close tolerance resistors.?

Mouser and the others want ludicrous sums to post a couple of resistors.
Thinking I may just get Jaycar 1%ers and trim the ratios in the code.

Tom R
Nope. I went with 1% but I haven't got the Voltage Divider working as yet, so not sure if it will effect results. I will hopefully be getting through it this week (I bought a car, so I've been servicing it etc in spare time.
 
#160 ·
Great!
Lesson learned: Try to get good quality breadboards when developing.. :fineprint:

Watching this with great interest.



BTW, forgive my ignorance, but what is the no. '5' after the BATT text in the image?

Tks..Tony
I'm watching with great interest too :mrgreen:

Regd the '5' digit - that is the light level as measured by the CdS (Photo Sensor). I broke the different readings into an (arbitrary) scale of 1..8, 1 is the very dark (night) and 8 is very bright (full sun)
The value is there for debugging purposes, but I guess it shouldn't be there in 'production' mode.
So what I'm going to do with provide a compilation flag (#DEFINE) in the firmware source code, to allow users to switch it ON or OFF.
Also I will set it by default to OFF, unlike today.
Thanks for the feedback.

Somewhat related - the Stromputer firmware supports terminal commands. One can connect to Stromputer via USB using Arduino IDE Serial Monitor tool or using Putty (or any other terminal tool).

The command to get the current status is:

STAT;

Once you send this command Stromputer would output the different internal parameters and readings, including the Light Level mentioned above.

I don't have recent screenshots right now for that, but I will post them tonight.
By using the terminal mode, you can debug Stromputer when it is already mounted on the bike. Just connect the USB cable and with a laptop you are in 'STROMPUTER DEALER MODE'.. :beatnik:
 
#161 ·
I got talking to a fellow today who has designed and made a bunch of electrical gizmos for a variety of applications in both automotive, motorcycling and other commercial applications.

After some discussion, he suggested it would be "fairly" easy (no doubt relative to experience in these matters!) to add a GPS chip into the mix to give a simple compass direction indication and elevation (height above sea level). Not sure if speed (as calc. by GPS chip) could be included, but we already have an "accurate-ish" speedo so that may be a bit like ice to Eskimos.

My sparky skills (so far) are kinda limited to basic trouble shooting and safe, neat and reliable "electro-farkle" fitting.

Question to Chris & Big Man - would such experience be enough of a starting point to give this project a crack? Comfortable with compiling software to get executables, (albeit in a Wintel world), so mebbe would this help too?

BTW, muchas Kudos to you both for the fab work you have done thus far.

:thumbup::hurray::thumbup::hurray:
Cheers....Tony
 
#164 ·
If you are interested in integrating various sensors with an Arduino (like the Stromputer), I'd recommend checking out the tutorials on Adafruit Industries, Unique & fun DIY electronics and kits. I haven't tried playing with a GPS chip yet (time and money, the bane of most of the things I'd like to do, sigh...) but I recently ordered just a compass chip from another Arduino supplier, SparkFun Electronics. Can't wait to give it a try! I have used a 3-axis accelerometer (stupid simple to use), as well as a temperature/air pressure sensor (ditto), with my Arduinos at home. Adafruit, in particular, makes it easy for n00bs like me to get starting building things with the Arduino and other similar microcontrollers.
 
#162 ·
That all depends on the GPS chip. To get accurate position and elevation you'll need at least 3 satellites and their position in the sky actually affects the quality of the triangulation. (3 satellite close to the Zenith will give very accurate altitude, but horrible Lat-Long; 3 Sats close to the horizon gives awesome Lat-Long and horrible Altitude).

More importantly, many of the cheap GPS sensors aren't really designed to provide accurate positioning alone.

With your smartphone, if you turn off all other available sensors (wi-fi, accelerometers, mobile data) you will only get accuracy down to about 100 meters. Some are better, but since the device mfg doesn't know exactly what orientation you'll be using the phone at any given time, they don't build the device assuming 3+ satellites like they do a dedicated GPS which has a designed orientation.

Anywho, just some technical information about GPS. I can go into more detail but i thought i'd keep it simple (K.I.S.S.)


By the way, has with an android tried Google's "MyTracks" app?

It is really cool. You start recording on a trip, and when you get to where you are going, you can save it, upload it, or REPLAY IT ON GOOGLE EARTH (in accelerated time)

Very cool I highly recommend it! My phone's tracking works well enough that I can keep it in my pocket while recording, though sometimes the accuracy will jump and during replay it'll show me submerged in a river, but I just tell the spectators that it is actually what I did because my Gleestrom is awesome! :)
 
#163 ·
By the way, has with an android tried Google's "MyTracks" app?

It is really cool. You start recording on a trip, and when you get to where you are going, you can save it, upload it, or REPLAY IT ON GOOGLE EARTH (in accelerated time)

Very cool I highly recommend it! My phone's tracking works well enough that I can keep it in my pocket while recording, though sometimes the accuracy will jump and during replay it'll show me submerged in a river, but I just tell the spectators that it is actually what I did because my Gleestrom is awesome! :)
that's awesome, thanks for sharing. will definitely try this, finally got a ram mount for my S3 and I can power it off the bike so that'll be plenty sweet.

been thinking about GPS for the Stromputer also, but if I was going to do it I'd want basically what you described in the MyTracks app. And it'd probably triple the cost :p
Starting with the base model.
 
#166 · (Edited)
Some more info on GPS and Arduino:
Arduino Playground - GPS

The GPS module used there is Parallax 28146 GPS Receiver Module.
It costs about $70.

Add another Arduino/Adapter (~$10) and the total cost is about $80.
After that integrating it with Stromputer is quite simple.

If somebody wants to donate/send me that expensive GPS chip, I promise to develop that feature with Stromputer (and send the GPS module back to sender once the feature is done).
 
#167 ·
Some more info on GPS and Arduino:
Arduino Playground - GPS

The GPS module used there is Parallax 28146 GPS Receiver Module.
It costs about $70.

Add another Arduino/Adapter (~$10) and the total cost is about $80.
After that integrating it with Stromputer is quite simple.

If somebody wants to donate/send me that expensive GPS chip, I promise to develop that feature with Stromputer.
Careful -- next thing you know, people will be asking for the data logger shield to be added, too! :) (I've used that with the air temp/pressure sensor, and then I've got perl scripts running on a Linux desktop to graph the data I've logged on the SD card)
 
#173 ·
Some more on GPS

Parallax has different GPS receivers:
GPS Comparison Table

From other URLs it seems that the cheaper 648 works just fine with Arduino (like the more expensive module)

For $40, and the simple code involed the whole thing becomes attractive..:fineprint:
e.g.
28500 Parallax Inc | 28500-ND | DigiKey
or
28501 Parallax Inc | 28501PAR-ND | DigiKey

Data sheets:
28500 - http://www.parallax.com/Portals/0/Downloads/docs/prod/sens/PMB-648_Specification_V0.1.pdf

28501 - http://www.parallax.com/Portals/0/Downloads/docs/prod/sens/PMB-688_Specification_V0.1.pdf

:thumbup:
 
#174 ·
GPS with a datalogger would be so incredibly epic. Remember where the hell I was (ie where that epic road was) is half the reason I carry a GPS these days.

If I may. I think one problem you still have to some degree is packaging. Where and how the display mounts seems especially problematic to me.

I wish I had some experience to lend here.

Do we know anyone with one of those 3d plastic printers? (And the knowledge to use it!)
 
#175 ·
I agree with you completely about the packaging. It is my #1 problem.
If I had a 3D printer, I'm sure I would quickly get a grip of it.

But the current mount position seems very natural to me. It fits below the dashboard layout nicely (as well as my Garmin GPS above the)

BTW: I got today a PM from a stromtrooper, mpenner, who is a professional hardware designer with a lot of experience in the field of designing PCBs.
He wants to design a special PCB for stromputer!! :hurray:
How cool is this, ha?
Of course, to make it economical we will need to commit to some minimal quantity (i.e. send him the money)
He mentioned a possible price of $4 per PCB.

Now if only we can get some professional package designer, problem is solved. :thumbup:
 
#177 · (Edited)
I am good for one board if the costs are $10 or less. I do not have the components, but I am in anyway.

Forgive my pessimism, but I doubt you will get to 100.

Regarding the circuitry. It would be nice if you could incorporate not populating parts for the gear shift indicator. That is one part of the project that I personaly don't see value in. Seems like this could be turned off in software using #defines or even at runtime. Saving the need to pop these components would be nice.
 
#180 · (Edited)
..

Regarding the circuitry. It would be nice if you could incorporate not populating parts for the gear shift indicator. That is one part of the project that I personaly don't see value in. Seems like this could be turned off in software using #defines or even at runtime. Saving the need to pop these components would be nice.
Regardless of the PCB, that is possible today as well.
The gear shift indicator circuit is nothing more than two resistors (a voltage divider) and a posi-tap..
Yes, a bunch of #defines can easily disable this feature in the firmware.
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top