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
#179 ·
I'd be fully into it for $4 or so.

Another thought - is there a halfway point between buying a fully assembled device and buying all the parts? Is there any one place that carries all the needed parts at a decent cost? That alone would save a bunch in shipping fees. Would such a retailer, if they existed, be convinced to assemble a 'kit' that someone can order (even if the kit was just a shopping list)?

Does anyone have any suggestions for such a place?


Sent from Motorcycle.com Free App
 
#182 · (Edited)
I'd be fully into it for $4 or so.

Another thought - is there a halfway point between buying a fully assembled device and buying all the parts? Is there any one place that carries all the needed parts at a decent cost? That alone would save a bunch in shipping fees. Would such a retailer, if they existed, be convinced to assemble a 'kit' that someone can order (even if the kit was just a shopping list)?

Does anyone have any suggestions for such a place?
I don't have answers about the pricing point or retailers.

Digi-Key has all of the components.
I'm sure Mouser and others are more or less equal in price.
But specifically Arduino Nano 3.0 is much cheaper on EBay.
The LCD choice also matters - EBay carries the cheaper and less capable YwRobot vs the more expensive and capable New Heaven LCD (capable: ability to control back light and contrast programmatically)

One important note:
Make sure you get the Arduino Nano that is based on ATmega328!! (32KB Flash Memory size)
The Stromputer firmware is larger than 16KB and would not fit the cheaper Nano clone which is based on ATmega168 (That has only 16KB Flash Memory size)!

I will update the BOM accordingly, with a note
 
#183 ·
Serial commands

I promised to show the STAT; command, so here it is:


Notice how VCC is actually not 5V, and also changes from the boot time (top) to when I ran the STAT; command.

Also notice that T=ERROR means that the temperature sensor was not connected (which is true, because I took a screenshot of my development board that doesn't have the temp sensor hooked at the moment)

For you lazy (like me) there is also a command AUTOSTAT; which is the same as STAT; but runs every second automatically.
To turn it off, simply enter the command AUTOSTAT; again.
 
#185 ·
The good thing about this project is that it is open source. Please correct me if I am wrong BigMan, but anyone can take it, and add to it so long as you keep it open source and dont sell it and reference the original code.

So you can add in a GPS, Bluetooth, Smart Phone Connectivity, SIM card to send location in emergency or bike stolen, acceleramoter for 0-100km times and lauch reaction, rocket launcher, tilt sensor, data logging, lap times, take a photo every 2 minutes, start recording video, control the lights in the shed for when you arrive home, turn on the computer and send photos, auto turn on grip heaters based on temperature...
 
#187 ·
promises promises

"rocket launcher"

Really need to watch what you promise/suggest there Chris.
Going to have the net Nannies down on us next.


BUT
by all means bring it on, attached to the horn button of course, self aiming, self seeking for numpties in cages. Just blow em out of the way.

Tom R
 
#202 · (Edited)
"rocket launcher"

Really need to watch what you promise/suggest there Chris.
No promise...just pointing out that someone can take this and tailor to their needs. The rocket launcher was tongue in cheek to see if anyone realises my point, that is -BigMan has begun this project, and has provided in a form that you can take it, learn and build on it. By partially building this, it has opened my eyes to all sorts of things I can do with Arduino (have you seen Big Bang Theory where they control lights from the internet??? Well my web developer and friend may give that a go)

One thing I may add to stromputer, is a temp sensor for coolant, that shows a temperature measurement, rather than just 4 bars. If I do this, I'll have a go at it myself, then provide info to BigMan to choose whether to include it in the main project.
 
#189 ·
I got this PM from mpenner:
"Thanks for your help. I was able to get TortoiseSVN loaded and the project files downloaded (in spite of our firewall/proxy at work). I was also able to compile the code without any errors (a major accomplishment for this hardware guy).

I had a spare Arduino Duemilanove laying around and I think that I got the software programmed onto it. I tried to get the debug serial output to work so that I could verify that I had the software loaded properly, but all that I got was gibberish like I had the wrong baud rate. I started with 9600 since that is what is shown on the project page in Google and tried a few different settings to no avail.

From your post tonight it looks like you are currently using a baud rate of 38400. So is 38400-N-8-1 with no flow control the correct settings? It seems that I should be able to get at least some debug output even without a LCD or any of the sensors.

I will get an LCD on order and some of the other stuff and start working on getting this design into PCB artist.

It seems that if we are going to make a PCB that we should just duplicate the Arduino circuitry onto it so that the actual Nano is not needed. What do you think?

What are the hardware implications of using the Hall effect sensor for speed monitoring? Is it as simple as providing an additional input into one of the digital I/O pins? From what I have read it is a 5V square wave signal with 8 pulses per revolution. How about using one of the interrupt inputs for this?
"

Great. Compiling the source code and uploading the firmware is indeed easy.

Regd Serial Monitor/Baud Rate: The baud rate is indeed 38400, I have to check about the other parameters tonight at home. For now simply use Arduino IDE's Serial Monitor tool with 38400 baud. It works out of the box.

An important design point about PCB:
My vision is to have a PCB Shield (or daughter board) that connects to the Arduino OEM board. There is really no reason, commercially, to re-create Arduino just for Stromputer. It violates encapsulation principles and KISS (Keep It Simple Stupid). Nano 3 costs $8 and is super stable.
The Stromputer PCB shield would, in my vision, contain only the extra parts (E.g. power supply, voltage dividers) which would other wise be on a Radio Shack generic PCB.
This would make its design very simple and easy to debug.
I'm also thinking about a shield that goes on top of the Nano and connects using male headers with soldering. You really don't want prototype quality connectors - everything must be soldered for it to work on a motorcycle. Trust me, I tried that..(the hard way)

As for the other features - I did not explore them yet. As I mentioned in a previous post, they are considered V3.
 
#191 ·
Custom PCB Prices

So I went out and got some quotes for a custom PCB today.

Here is the quote matrix (showing quantity and turnaround time) that I got for a board that is 3.23 in x 1.38 in (the approximate size of the LCD panel)

Qty Same Day 1-day 2-day 3-day
5 $185.26 $118.31 $92.56 $71.96
10 $94.40 $60.93 $48.05 $37.75
50 $20.33 $13.64 $11.06 $9.00
100 $10.43 $7.08 $5.80 $4.77

Here is the quote matrix that I got for a board that is 4.53 in x 2.56 in (the approximate size of a generic waterproof box)

Qty Same Day 1-day 2-day 3-day
5 $188.80 $121.85 $96.10 $75.50
10 $97.50 $64.03 $51.15 $40.85
50 $21.04 $14.35 $11.77 $9.71
100 $11.27 $7.93 $6.64 $5.61

This does not include shipping, but if there are enough people interested this is certainly doable (for example for the smaller board we can get them for $4.77 each if we order 100 with a 3 day turnaround)

I will start designing the board, but it will take me some time as this takes a bit of care.
 
#193 · (Edited)
So I went out and got some quotes for a custom PCB today.

Here is the quote matrix (showing quantity and turnaround time) that I got for a board that is 3.23 in x 1.38 in (the approximate size of the LCD panel)

Qty Same Day 1-day 2-day 3-day
5 $185.26 $118.31 $92.56 $71.96
10 $94.40 $60.93 $48.05 $37.75
50 $20.33 $13.64 $11.06 $9.00
100 $10.43 $7.08 $5.80 $4.77

Here is the quote matrix that I got for a board that is 4.53 in x 2.56 in (the approximate size of a generic waterproof box)

Qty Same Day 1-day 2-day 3-day
5 $188.80 $121.85 $96.10 $75.50
10 $97.50 $64.03 $51.15 $40.85
50 $21.04 $14.35 $11.77 $9.71
100 $11.27 $7.93 $6.64 $5.61

This does not include shipping, but if there are enough people interested this is certainly doable (for example for the smaller board we can get them for $4.77 each if we order 100 with a 3 day turnaround)

I will start designing the board, but it will take me some time as this takes a bit of care.
The LCD connects today to the enclosure using 4 small screws - No need for such a large PCB.

Arduino Nano 3 board has much smaller dimensions.
See also:
Arduino - ArduinoBoardNano

If we go with a Nano Shield, then the dimensions are:
0.73" x 1.70"

That should make it much cheaper.

As for the enclosure, the current one costs $4.5 from Digikey.
1591XXBBK Hammond Manufacturing | HM1038-ND | DigiKey

I don't really see a justification to get another generic enclosure which is more expensive.

EDIT: I uploaded an updated BOM, please update your SVN sources
 
#198 ·
Very cool! :thumbup:

From the name and credits on the Google page you linked to, it looks like this is a Windows-only app? If so, bummer -- I'm only running Linux and OS-X at home. If not, cool! I'll check it out! :)
 
#205 ·
coolant temp

Chris
Tongue firmly in cheek was the way I took it, and my reply.


"One thing I may add to stromputer, is a temp sensor for coolant, that shows a temperature measurement"

This was very much on my mind as Chris.
To such ends I ordered 2 of the tempd sensor. I was considering just siliconing it on one of the radiator hoses, radiator outlet for preference.
Should be a doddle with the sinlge wire sensors. keep in touch on it huh?

Tom R
 
#208 ·
License changed

Important notice!

Initially I chose the incorrect license, GPL. I thought it doesn't allow commercial usage, as that was my original intention, but that was incorrect.

The new license is Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)

The full license details are here:
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported CC BY-NC-SA 3.0



You are free:

to Share — to copy, distribute and transmit the work
to Remix — to adapt the work

Under the following conditions:

Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
Noncommercial — You may not use this work for commercial purposes.
Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
 
#212 ·
Bah... Can't find anything reasonable that is I2C.

Best I can do for reasonable money:
DFRobot LCD Keypad Shield for Arduino - RobotShop

Not I2C... and probably uses a bunch of digital pins you don't have available.

BTW, I was talking to an embedded engineer at work today. He claims I2C is perfectly viable as an external bus. Meaning you could have an external plug that goes to a physically separate box with more sensors and goodies in it.


Oh, and you need a backlog.
 
#213 ·
You can always get another Arduino and connect it to the I2C bus of the main Arduino. Now you have them talking to each other.
Then plug what ever you want to the other (2nd) Arduino. All the pins are pretty much available..
Nano is very small and costs ~$10 (even less for 16KB version) so you can stack them.

Backlog? As in data logger to SD card?
 
#214 · (Edited)
Your shop hasn't been infected by this 'agile' methodology stuff I guess. (Mine has!)

Backlog. Basically a feature wish list with rough estimates of the work involved and business case priority weightings applied. Theoretically the highest priority stuff comes off first.

You, being the de facto project manager, could push the priority of my input keypad wish way down! :thumbup:

I'm shocked there isn't stuff for managing community project backlogs on github or something. (I looked, couldn't find anything.)
 
#215 ·
Got it.
We do develop iteratively (some might call it agile), but I'm not a agile die hard fan, surely not scrum.
Nothing against it, it might be just great.

There are a few tools to have these tasks organized.
Check out Trello

I'm not sure the development process must be linear.
You for example can take the keypad which you think is a great feature, buy the hardware, make it work, and then we incorporate it into the 'Trunk' with an option to switch it off, for those you don't need/want it.
What do you think? Want to explore that area?

Check this out:
I2C keypad

When I started the R&D last year, I used the PCF8574 I2C IO Expander for experiments. Pretty cheap.
I think we can and should incorporate that into the V3 design. It gives us more IO ports for nearly no added cost, and little space, and requires no extra ports from Arduino.
 
#217 ·
#218 ·
Tom,
The LCD needs to support the I2C protocol.

Currently there are two LCD I2C modules that were tested to work:
1. NHD - DIGIKEY: NHD-0216B3Z-FL-GBW-ND, ~$20
2. YwRobot (from eBay), ~$10
 
#219 ·
PCB

I had some offline discussions with mpenner about the PCB design.
First, he is now an official committer to the project, and committed two PCB files to the SVN repository.

The PCB, being hardware, needs to be designed correctly on the first attempt, because unlike the firmware/software it is not possible to correct mistakes.
Also, it is good to have some level provisioning to allow expansion if needed.

On one hand, I want to keep Stromputer V2 design as-is. The same components - as they have been tested on the bike for a long time, and I've fixed all known issues.
but on the other hand, I do want to add more features as long as they are non intrusive to the design. That is, if we add a new feature to the PCB (e.g. I2C holes) it mustn't reduce reliability by changing the design to something that was not tested.

Some of the features we're thinking of adding to the PCB:
1. Holes for unused digital and analog pins - to allow future I/O
2. Holes for GND, 3.3V and 5V
3. Holes for I2C - e.g. SDA1/SCL1, SDA2/SCL2, etc., to allow easily adding new I2C components
4. Onboard PCF5784 I/O I2C Expander - more digital and analog pins. I've used it in the beginning of the project
5. Adding 2 MOSFET connected to 12V and two digital pins. They can act as switches (similar to relays). These can be used for example to control the turn signals, or horn (or fire a rocket..:mrgreen:)
6. Optional holes for LEDs for some of the unused digital pins
7. Optional holes for voltage dividers for some of the unused analog pins
 
#220 ·
Some of the features we're thinking of adding to the PCB:...Adding 2 MOSFET connected to 12V and two digital pins. They can act as switches (similar to relays). These can be used for example to control the turn signals, or horn (or fire a rocket..:mrgreen:)
Starting work on the rocket launcher integration:
:green_lol:

The rocket is actually from an Arduino project that has been languishing for the past year due to other priorities: I've got the air pressure/temperature sensor and accelerometer connected to an Arduino in the upper body tube, so it's basically a very amateur sounding rocket.
 
#221 ·
yep I2C

Biggy

It is an I2C unit.

OLED gies way better contrast, uses less power (not a big conern) but it is available to us here down under at a fair price given the times and postage it takes to get from other suppliers.

I have two of the display Chris used but I thought I might have a play with the larger (4x20) display
 
#222 ·
Biggy

It is an I2C unit.

OLED gies way better contrast, uses less power (not a big conern) but it is available to us here down under at a fair price given the times and postage it takes to get from other suppliers.

I have two of the display Chris used but I thought I might have a play with the larger (4x20) display
You sent a link that shows 5 different products.
The 2nd bottom one from the bottom (AXE134Y) has this data sheet:
http://www.wiltronics.com.au/datasheets/p-axe133Y.pdf

From what I've read, it supports serial communication, not I2C. Yes, Arduino can connect to serial via hardware or software, but it is still not I2C.
Also there is a whopping $56 price tag :yikes:. IMO - too pricey.
 
#225 ·
I2C

Biggie


the ax 133 board is I2C.
The price pales when digikey or ay of the others add postage. tried to order the precision resistors and ended up near $50 Oz for 4 resistors. Several different suppliers were the same ball park.
60 bucks and I got em here in 3 days.

Like the idea of more screen real estate

Tom R
 
#227 ·
Firmware 1.07

Changes:
1. Added compilation flag option flag - OPT_SHOW_LIGHT_LEVEL. When defined shows the current light level as a digit next to the BATT label. Undefined by default.
2. Changed compilation flag DEBUG_PRINT_GEARVOLTS -> OPT_SHOW_GEARVOLTS (Show gear volts above current gear, instead of the GEAR label, undefined by default, very useful for debugging)
3. Fixed initialization of onboard DS1631 I2C temp sensor (for V1, N/A for V2)
 
#228 ·
I have fired up my proto setup.



Do you have any interest in opening up branches or whatever to having others contribute code. I have some ideas.

Also, I don't know what kind of chat/forum/posting type mechanisms are available for a project like this via code.google. But I recently learned of a tool called trello that seems to be aimed at doing this sort of thing. I think the idea is that you can post up a 'board' where 'cards' are posted, voted on, assigned, and tracked. Kinda neat.

In the 'agile' software dev world I work in their 'board' is a 'backlog' and the 'cards' are 'stories'. But it's all the same, really.

The one thing I don't see is how to put a "how hard is it" rating on the ideas, which is an integral part of estimating work in the agile way. But then maybe estimates are far less interesting in a community project anyway. I dunno.

Anyhoo, I took the liberty of throwing together a board for your project just for shitzngigles. If you think it's a crappy idea, I'll scrap it: https://trello.com/board/stromputer/5111b9c89417ac9561004bf8

Some of the ideas are far out. But then they are supposed to be.

My first step was to take a swing at getting your stuff working with a parallel LCD. Why? Because that's what I have.. and I don't have any I2C displays.

It went pretty easy, but I had to disable both the gear LED array AND the temperature sensor. I have my LCD setup per the tutorials using digital pins D2-D5 and D11 and D12. I need to figure out how to get this thing to cohabitante peacefully with your outboard temperature sensor. But for an evening worth of hacking... it works.
 
#231 ·
Great initiative! :thumbup:
I already joined your Trello project, and added the other active Stromputer members.

Regd. code contribution - on one hand I want everybody to add their ideas and features, but on the other hand I want to make sure quality is kept high, and that the project always compiles and works.
I can surely add you as an SVN committer, but I'd like us to make sure that the code is changed in a very controlled way.
One way is indeed to branch in SVN, and let me do the merge into Trunk.
Let me know how you want to proceed with this.

LCD:
I have no problem with any other type of LCD.
I don't see what the parallel LCD really gives on the project level (not your individual case). The I2C LCD is quite cheap (~$8-$12 for YwRobot/Sainsmart or $20 for NHD) so I don't think the cost savings are that great and/or worth the major design change.

The on-board temperature sensor is only used on V1. For V2, the DS1820 is not 'on-board' and is using onewire communication - you can use any other digital pin as needed.

Regd gear LEDS - that should be made an optional feature. I guess not everybody wants it.

Keep up the good work! :yesnod:
 
#232 ·
If I may offer my $0.02 on forks and modifications...

That's the beauty of open source. You create a project that others find valuable. They get to hack on it and modify it to meet their needs. You then have the option of incorporating others' ideas into the main project or not, as you see fit...but if someone comes up with a revision that meets their needs and that you don't want to bring into the main trunk for whatever reason, that's cool too. They can create their own fork or post patches/schematics that others can incorporate with the understanding that it is not a supported change to the original project and nobody has any hard feelings :thumbup:
 
#233 · (Edited)
:rockon:
I think we're on the same page.

That been said, I see a lot of value in group work. People adjusting their expectations, needs and features for the good of the many, the opposite is individuals pulling to their 'corner' regardless of others.
 
#237 ·
On another note, I'm thinking of moving the project from GoogleCode to another code hosting site that supports features like forums.
One candidate is Codeplex - CodePlex - Open Source Project Hosting

(Also this thread is becoming too long, and I don't to piss off FatalError or GreyWolf :yikes:)
 
#238 · (Edited)
Have you considered github? It seems to be all the rage.

I have screwed around with git a little bit. It is pretty nifty.

Edit: Can't you start a google group or whatever for your project? I was sure that's how I saw it handled for other projects.

Like this:
http://code.google.com/p/nanopb/
https://groups.google.com/forum/#!forum/nanopb

You also need a google hangout...
Basically read the tools stackexchange uses for their remote working types here.
 
#241 ·
Stromputer Versions

As this project has grown, and we now have 5 (!!) active members, I want to make the road map a little clearer.
(Note: 'Active member' is a builder that got an Arduino, downloaded the firmware, compiled it, can send me a photo of Stromputer with an LCD..)

V1
This was the 1st (and only) prototype that is currently running on my bike.
It used the Arduino Duemilanove, had to enclosures, and cost me ~$150 in hardware. The enclosure is rain resistant (DIY)

V2 (Current as of 2/7/2013)
An evolution of V1. Same firmware and features, but uses a more efficient design with one enclosure, and Arduino Nano. There are more LCD options, some of them are cheaper. Total cost ~$70

V3
An evolution of V2 that will have its own custom designed PCB (by our stromtrooper mpenner).
It would have the same features, with some extensions (but no major design modifications) and will be compatible with the V2 firmware. The enclosure is TBD, but would be waterproof

V4
An evolution of V3 that will have many exciting extensions and features such as: wifi, bluetooth, speed sensor, fuel sensor, MPG calculation, data logger, internet access, and other ideas.
Ideally there would be a custom designed enclosure.
 
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