Touchscreen Scooter Computer

[Kurt’s] scooter computer started off as a way to use a couple of LEDs to show the battery charge on his hog. It was based on a Arduino and used a voltage divider to judge how much juice was left. But then he ran across a touch-screen OLED shield for the Arduino and the project started to take off. Now he’s got battery, temperature, real-time clock, and GPS running through the slick-looking display. It may not be a full-blown motorcycle but it gives the computer interfaces we’ve seen for other bikes a run for their money.

[Thanks Mowcius]

38 thoughts on “Touchscreen Scooter Computer

  1. Great work, congrats on coming up with something so comprehensive. I had no idea an Arduino could drive a complex graphical display with any effectiveness like that.
    I understand that the GPS feeds the speedometer, odometer and trip computer, all useful, but why do some people want to put a GPS latitude and longitude display on anything other than a map? – I mean, what do you do with the two numbers!? Do you walk around with a paper map with lat. and lon. coords on them and make a mark?
    Otherwise, fantastiche!

  2. @Stu
    That’s right, the main reason for the GPS was for the features you point out – and heading. I felt I needed to do more with the lat/lon data (and here’s where this project really went out of control…) so that’s when I decided to add the GSM cell module. It will text the LatLon/MPH/Heading info in reply to a text message.

  3. @Kurt.
    I didn’t realise there was a cell module, HaD didn’t mention it. That is the tits!
    I once build a GPS Tracking system out of nothing more than a Windows Mobile phone (compact dot net framework, Windows mobile programming) and a web server utilising Google Maps SDK.
    Perhaps you can get a cell phone to receive the GPS signal and post it on a secure webserver – you could then simply visit a website on any mobile device to see the position of your scooter on the map!
    Great work as it is dude!

  4. Does nobody know how to do any sort of hack without an Arduino?

    Despite the increase in quantity of projects, the freefall that the electronic hobbyist community’s competence and project quality has taken since it’s introduction is staggering.

    Death to ‘Duino!

  5. @M4CGYV3R
    The increased popularity of Java has lead to a staggering freefall in the community’s competency in C++!

    The increased popularity of C++ has lead to a staggering freefall in the community’s competency in C!

    The increased popularity of C has lead to a staggering freefall in the community’s competency in FORTRAN!

    The increased popularity of FORTRAN has lead to a staggering freefall in the community’s competency in assembly!

    The increased popularity of computers has lead to a staggering freefall in the community’s competency in abacuses!

    The increased popularity of abacuseshas lead to a staggering freefall in the community’s competency in finger counting!

    … Give it a rest.

  6. Epic! I’ve been wanting to upgrade my bikes electronics with something like this for a while. Nice to see something already in the wild. For the arduino haters…maybe rejigger this with a Maple board, and make use of the better processing power for more functions, or even a full-on live GPS?

  7. Beautiful work! I’m not dissing your creation, but why is the graphic so complicated? Doesn’t it keep your eyes off the road too long? or are you moving slow enough that it’s not an issue? That’s kind of why totally electro-luminescent displays never really caught on in cars: It’s too distracting and takes too long to read when you’re hauling butt at 80 MPH. Someone better at math than I can figure out how far you’re gonna travel in the time it takes to read the thing. Sometimes a simple graphical icon, (like the angle of a section of pie-chart?) is quicker to read. Keep the icons simple for rapid interpretation, with the option to pull up the more detailed data as needed, and I think you’ve got a h*ll of a product there.

  8. @rallen71366
    Thanks for the good suggestions. The thing I’m looking at 95% of the time while riding is the MPH readout, which is very easy to see at a glance (WOT ~ 65mph). I look at the trip meters and time, but that’s usually when I’m stopped or maybe sitting at an intersection. The battery indicator flashes at a 1/2 rate when in the red, so I know immediately what that is. The other info I need much less often, and haven’t found it to be distracting. Changing screens while riding is something I like to avoid.

  9. I really do dislike scooters (I’m a motorcycle guy), and I also dislike Arduino’s, but this gives me some ideas for the computer I would like to build for my MC.

    Good work, btw.

  10. very impressive, but my one criticism would be this…
    Arduino is a development platform for prototyping . Now your design is up and running why not take the next step and get that Duemilanove (and all the shields) back.
    I know your blog is centered on Arduino stuff, but the next step is PCB fab etc – otherwise it is still just a prototype

  11. @steaky I have used the arduino mini pro in several finished designs. Since I never use shields, it’s the best choice to develop and put into finished designs, be they perfboard, free wires, or fabbed. also, if I were to use shields, it saves me from having to buy another development tool or program the uC in another suite. As a bonus, the mini pro is available in 3.3v/8MHz and 5v/16MHz variants.

    Great-looking work there, now make it log data!
    on the critical side, maybe the speedo should go right at the top where it’s immediately visible and your eye doesn’t have to locate it in the middle of other information. if you’re in a situation where the lean gauge is anything other than in the middle (ie in a turn) you probably wouldn’t be looking at it anway.

  12. @steaky
    You’re right, I’m in the prototyping stage. I’ve considered making a PCB, once I get more time on it and work out the design flaws.

    As I use it, having the speedo in the center seems to be working well. Probably more a matter of the huge readout rather than its location on the display, but I have no problem seeing my MPH at a glance. Many of the commercial displays use the same layout, but with an RPM gauge across the top. Who knows, after I get more time on it, I may rearrange the display entirely. Great ideas! Thanks!

    Thanks to everyone for all the encouraging comments!

  13. I know the Arduino IDE/language hides a lot of the interesting details of programming the AVR µC, but it when you look at what is really going on, it’s not far from C/assembly on plain AVR.

    I think the Arduino board is just a nice general-purpose AVR development/prototyping board and the IDE/language is an environment that makes rapid development and testing of *simple* applications easy. Sure, it has restrictions and it hides lots of things that are really important to know, but (1) experts sometimes want a super-quick way to test some little snippet of code, just type it in and click a button to download it, and (2) it is something that beginners can use to get into microcontroller programming. At some point everyone should realize the restrictions that Arduino puts on the code compared to straight C/C++/assmembly on the AVR (i.e., I/O using digitalWrite() and friends is much slower than raw AVR I/O, it isn’t designed to support low-power sleep, event-driven programming, etc., and it makes other assumptions as well), but many can be mitigated by simply avoiding the Arduino language constructs and using the avr-gcc/avr-libc equivalents).

  14. By the way, I think the Arduino is not ultimately suitable for most of the applications I have in mind because I need low-power sleep less than 1 mA with timed wakeup (i.e., if using an ATmega328, I need an external 32 kHz crystal for the asynchronous timer/counter 2 and use internal 8 MHz RC osc. as system clock). This requires pretty specialized tricks on the ATmega328 especially if you want to use the UART (you’ll need to keep the RC osc. calibrated at runtime).

    My point is, what’s the big deal if someone doesn’t design and etch their own PCB for the AVR for every project? The Arduino, especially variants such as the Arduino Pro mini (but why a ceramic resonator and not a crystal? Crystal please for a few pennies more!) are perfectly suitable for use in many embedded hobby applications.

  15. There are always people out there who believe that the beauty is in the amount of time and effort it takes to do a project, and they dislike shortcuts that don’t show sufficient “craftsmanship”.

    They’re not in it for the results, they’re in it for the journey. To them, if you spent money to save time, you’re less of a craftsman.

    This is the same kind of thinking that leads people to make horse cavalry charges against tanks, lose all their savings running restaurants, and waste 300 hours on a beautifully built but functionally deficient prototype.

    Not everyone has the patience or skill to build each molecule from scratch when designing a true thing of beauty. Some of us just want to accomplish something, and we don’t care how we get there, as long as we do.

    We’re the guys who build houses out of concrete, bolt 250HP engines onto 125HP airplanes, vote the full Microsoft ticket and encourage the military to turn cities into salt rather than go into battle with swords. Are we evil? Definitely.

    But the arduino isn’t the reason.
    We’re just busy.

  16. PS –

    If you’re gonna build these, please remember:

    1) Full metal/foil/screen shielding, a really heavy ground plane on the pcb and put some zener protection and filtering on anything that connects to the bike/motor/ignition.

    2) No sockets of any kind, except for fuses. Vibration will eat anything in a socket. Use heavy connectors to the bike, not .1 spacing dip headers and ribbon cable. Every connection has to be mechanically strong and compressed.

    3) Once you have the bugs worked out, conformal coating on the board. Wanna test it for real? Put the whole thing in a paint can supported by foam and duct tape, then go to a hardware store and get it shaken for 15 minutes in a paint mixer.

    Man, nothing finds weakness like an industrial vibrator. At Boeing [cancelled UFO project], we had big damn oven/freezers that we’d put things in (like paint shakers or vibration tables) and then hit them with salt spray or humidity and run them all over -40 to +80c for a few weeks.

    I’ll admit, this is overkill, but it compresses a whole lot of failure modes into a few days. Interestingly, if you didn’t use too much compression, a hostess twinkie will survive the entire regime and still be edible.

  17. Great project! A really nice example of the custom work one can accomplish by interconnecting all these modules now available from the likes of Sparkfun and Adafruit.

    Previously, projects like this would require hours and hours of investment just to get all the parts/sensors talking to one another. The fact that all these breakoutboards and modules are available for quickly realizing projects is a good thing imo.

    Of course there are those who enjoy building all the interfaces from scratch which is great as they have a huge market/audience with those who prefer to work at the more modular level.

    That said, I do agree that for the longevity of a project subject to the outdoors and a lot of vibrations, dedicated PCBs or at least fully soldered (as opposed to header) connections would be a plus.

  18. @colinB I have built a datalogger with an arduino and uSD card at its core that pulls 150uA in power-down (and is still in development with a target sleep current consumption of 40uA). It’s all about the libraries, you can get low-power sleep easily on arduino. it also can wake up on a couple different types of interrupts. (and yes, they should have put a crystal into the mini pro rather than a resonator). external RTCs FTW: find one with a square-wave out and use that as an interrupt to wake up via PCint. I use the DS1337C which is expensive but extremely low power and has a crystal built in.

  19. @Kurt: Great project! Love the custom display and the fact that can call you to report where it is, specially when you didn’t authorize it. I’ll have to borrow that for my custom display in my old car, just for kicks (no one is going to steal it, it’s very old)and perhaps to remote start it.

    I just don’t get why you haven’t got rid of the old “analog” speedometer in the scooter.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.