No announcement yet.

Gumstix (now w/ USB Host)

  • Filter
  • Time
  • Show
Clear All
new posts

  • Gumstix (now w/ USB Host)

    From my searching I've found that it has been mentioned in passing a few times, but I thought I'd run up a flag to see if anyone else is planning on installing a gumstix 'computer' in their car.

    Mine just arrived in the mail. My main build thread is over at Here's the first post talking about the gumstix, which I've duplicated below:


    At this point you're probably wondering wtf in the world that thing is. Here's another image for scale (I didn't have a 1 or change... vending machine ate it all today):

    What it is (non-geeks can skip this part):
    The brand is 'gumstix'. It runs a special version of linux on hardware which is essentially a PDA. It's about as powerful as an iPhone actually (1-2x as fast as an 266mhz PC, depending on the task) and runs the same type of CPU. This one has a 400mhz CPU, 64M of RAM, 16 of onboard Flash plus a microSD card slot which I've got a 2GB card for. It has USB-Host (so it can run other devices like USB/Serial adapters, Storage, Audio, Hubs and so on, rather than just talk to a computer as a USB-Client), 802.11b/g Wifi, Bluetooth, 3 Serial Ports, 10/100 Ethernet on an RJ45 connector, some general IO ports and probably other stuff I'm forgetting. And above all: It will run Python code well (my language of choice for some years now, Java before that, Perl before that, Scheme/Lisp before that, C before that... you get the idea).

    Non-Geeks can start reading again.

    Lots of people put a whole PC in their car (carputer). is probably the most popular site devoted to it. It's called mp3car because at the time it started that was the primary reason to have a PC in your car as even the aftermarket head units that would play MP3s off of a CD weren't common yet and the iPod + Car Adapter thing hadn't taken off. Now it's roughly the same stuff high end nav systems include. GPS Mapping, etc, etc. But I've actually kinda decided my iPhone fills those needs pretty well now.

    The nice thing about the gumstix is its ridiculously low power consumption. At full tilt it's about a Watt. At idle it's more like a quarter Watt. So I can leave it on all the time and it won't drain my battery. The car battery probably discharges more on its own just sitting there.

    It's going to listen in on the Motec M600 ECU. I'll probably just setup Serial Telemetry first as that will be easier, but I can get a USB device that listens to CAN as well which will let me log more samples per second. I might start experimenting with sending data back to the ECU at some point, but one step at a time.

    I can program it (in a high level language) to do things the ECU shouldn't be bothering with, doesn't have the CPU power to do, doesn't have the interface to do, and so on. MoTeC's ADL fills alot of the same roles. It's FAR more configurable in a much more general way than the ECU with a great deal more resources. But for me (because of my programming experience) this gumstix is a lot more flexible.

    Some totally random examples: turn on my iPhone, select the Wifi Hotspot called "Supra", it'll authenticate (I haven't settled on what mechanism to use yet), and then load the default web page and select 'Unlock'. Or see a telemetry readout (I can use javascript/etc to show live updating data). Or use it as a remote-start, or see how much time is left on our favorite 'turbo timer' function. Like I say, it's flexible, and it's a programming environment I'm very comfortable with (like some people on this forum are comfortable with a welder, or a CNC Lathe, f'ex).

    There are a couple other devices, in particular, that this gumstix will use to interact with the outside world.

    One is a 5.6" touchscreen LCD which is driven via USB (or Serial). Since it's USB based I can add more than one on a hub for more displays in different places for different purposes. There are also smaller versions if needed. This fills the display function of the ADL. It's been ordered, but hasn't arrived.

    The second is a Ethernet/USB based 'Data Acquisition' device with several dozen IO connections like analog input, Digital IO and PWM, etc (this fills the control function of the ADL). I've had this for months and actually written quite a bit of Python code to handle it (personally ported from C, then totally rewritten so it's Python-esque because I hate C).

    And a little USB-based 'dial'. Like a volume nob, with like 20 'detents' per rotation. I plan to stick this (and a couple buttons, probably) where the stock TEMS controller goes and use it very much like Audi's 98-2003 Trip Computer/Nav system, not quite so elaborate as BMW's iDrive controller. This is for functions I use while driving and don't want to be looking at a touch screen. I've ordered this, DHL tried to deliver it today and wouldn't leave it at my door without a signature. I swear I had a release for them like I do UPS and Fedex, oh well.

    I'll give more details and photos of the latter few items Soon™.

  • #2
    wow, I just spent a couple hours poking around the gumstix website. I'm not sure how it all works but it looks like a lot of fun.

    What board and expansion modules are you using?

    Got a link to that 5" touchscreen?

    Can you have more than one expansion modules per motherboard?

    I'm excited to see how you get this working.
    Former author of LinuxICE, nghost, nobdy.
    Current author of Automotive Message Broker (AMB).
    Works on Tizen IVI. Does not represent anyone or anything but himself.


    • #3
      I used the Verdex motherboard (it's the newest/fastest type, with the USB host capability) that can use one 60 pin expansion board (on one side) and then a 120 (on the other) so the mainboard is sandwiched between the two.

      I went with the "Console-vx" (vx implying it works with the verdex boards only) and the "Net-Wifi-microSD-FCC" for the other side. The main board I went with was the 400mhz with bluetooth (the fastest one with the most memory lacks bluetooth).

      If you get the Console-LCD-VX board you can drive a samsung LCD that you can get from the gumstix store. I haven't looked into that. I don't know what the software end of that is like. I wanted to drive multiple LCD in multiple locations so I knew it wasn't for me.

      The display I'm using is from I'm already accustomed to writing code to draw in primitives (think squares, circles, text, etc) so the USB/Serial based interface is fine with me. But it's not like you can use a standard GUI-kit or normal programs (the bandwidth just isn't there to update every pixel on the whole screen 60 or even 30 times a second). Everything that displays to the LCD is pretty much going to be custom code.


      • #4
        I made another post related to the electronics of the car in my main build thread. Duplicated below:

        Here is the Data Acquisition Device (DAQ) I referred to earlier.

        You can see I have a few random lights dials and switches on the easy access pins on the left. Those are just for testing the feedback loop through my software. There are break-out boards connected on the right which include many more pins than the left and also duplicate pins on the left. Once finally installed I'll just have two D-sub cables as the end of the wiring harness, but for now the screw terminals are really handy.

        The LJ is quite the device. The full specs are on their website ( ). The main selling point for me is the Ethernet connection so I don't have to worry about drivers. Every platform does TCP/IP, and I can write my own code against that.

        Here's another photo that gives you a broader picture of how things are to be connected:

        Edit: The ethernet cables run off to my desktop switch for now. That way I can talk to the devices from the laptop to test code more quickly than installing it on the gumstix.

        The little male to male USB adapter will end up being a hub for multiple devices. In this case it's only plugged into a USB/Serial adapter (I bought several of these little FTDI ones from Parallax) which in turn is plugged into one of the AEM Thermocouple Amplifiers. There are two TCs plugged into that.

        The AEM TC Amps are pretty neat in that they provide both a serial data stream and a 0-5V analog signal for each of the 4 Thermocouples (that explains the wires going from the AEM TC Amp to the LabJack, another test channel) and for cheaper per channel than most TC Amps of any sort from MoTeC or even those meant industrial, or the lab, or whatever.


        I'm considering using a MoTeC E888 in place of the AEM TC Amps. The E888 feeds its data to the M600 via CANbus. The cause for reconsideration is that with the latest version of the M600's software I can send arbitrary telemetry data via the Serial telemetry stream. So the E888 sends its data to the M600, and the M600 rebroadcasts it (alongside other data) to the gumstix. This way the M600 knows all 6 (or 7) EGTs. The alternative was to wire the 7th channel via one of the analog outputs into the M600 so it would have an EGT feed. With the E888 I don't use an analog input on the M600, and I get several additional analog inputs + digital IO that can interact directly with the M600 or just be passed along to the gumstix.


        • #5
          Is this where the witty comment goes?
          97 Black pearl Mazda Miata MX-5 Carpc V2? maybee..


          • #6
            I think I'm going to go with the faster 600MHz one w/o bluetooth. With usb-host, you'll be able to add it later.

            Reading from the mailinglist, the GoliathGPS module is in beta. Hopefully it'll be in production soon cuz that looks like the best option for an LCD ability with GPS and USB built in.
            Former author of LinuxICE, nghost, nobdy.
            Current author of Automotive Message Broker (AMB).
            Works on Tizen IVI. Does not represent anyone or anything but himself.


            • #7
              Ya I went with the BT onboard just so it would be one less thing to worry about making sure I got the right model with supported drivers/etc. Maybe it's not an issue, but I didn't take the time to learn.

              If I'm remembering correctly that GoliathGPS has been in beta since before USB-Host was a rumor. Maybe they're actually getting it released now, but I'm not holding my breath.

              The Console-VX is only $25 (the LCD versions are $49) so it gives you a chance to play with USB host for cheap while waiting on the Goliath.


              • #8

                Fortunately DHL didn't return my USB Dial all the way to Cananada. I might give it a quick try on Ubuntu in VMWare tonight, but the gumstix is elsewhere right now so none of that. Actually I haven't even got cross compiling working for the gumstix yet and I don't have time for that tonight.

                Here are the parts that came with the ezLCD (the bezel was extra):

                Nevermind the weird looking screen, I have the protective film still on it:

                And all the doodads on the back:

                You can see the USB plug for scale. More postage when I get a chance to play.


                When you want it to run on anything (like a gumstix): Linux

                When you just want it to ******* work right now (new toy!): Mac OS X

                (edit) Oh and this is what the Linux version was supposed to look like:


                • #9
                  link to gumstix mailing list archive entry

                  Short update. I think one of the expansion boards (the one that does the ethernet, wifi and microSD) might be defective. ::Grumble::


                  • #10
                    I'm considering using a Gumstix, I need to track mileage and fuel for expense / tax purposes . So I am thinking of using it to interface to either the car's odb or perhaps a separate wheel sensor. I would use a small LCD panel and some buttons (or touchscreen) to indicate that it is a business use or personal use and get the associated date/times.

                    Yes I know I could use a PDA or similar, but having the gumstix under the dash somewhere and a small LCD panel embedded in the console would be more fun. Also, i'm guessing that once I've gotten some experience using it, I would have 'enhancements' I'd like to make.



                    • #11
                      I haven't been updating the project much lately, but I thought it worth noting that the netwifi board was defective and the replacement resolved the issue.