After getting my EasySync USB-Can Adapter it was time to resurrect the mChumby project. The interface GUI design hasn’t changed much, namely because its been lying idle but I figured it is good enough to try putting it onto the car for a test run.
I didn’t want to fiddle around with getting power to the Chumby, so the test is simply using my trusty old laptop and the EasySync adapter. Only the speedometer, the tachometer and the accelerator pedal position is attached because again I’m too lazy to fiddle with my cable layout and as such its connected to the Mazda HS-Can bus only rather than the MS-Can where the goodie trip computer information is contained.
Almost every concoction of technology is used ranging from CAN, USB, PHP, HTTP, Shared Memory, XML, Flash, to an obscure programming language called HaXe. Here is the result :-
A few interesting tidbits were learned from the experiments :-
- HaXe + Geany are great for developing flash widgets for the Chumby
- Gnash doesn’t render the same as Linux Adobe Flash
- Chumby renders the same as Adobe Flash
- Text vertical alignment in flash is crap
A bit of background and a demo video of the widget on the Chumby after the break.
It’s taken me a while to officially start this project. When I first bought my Mazda 3 I had envisaged making my own speedometer based off the Mazda CAN Bus but somehow never quite got around to it.
I even ended up buying 2 Chumbies for the purpose of hacking one and developing the same speedo (The chumby is such a great alarm clock I couldn’t live without one…).
There has been quite a bit of interest in the comments for source code/information etc etc. So now I’m officially starting the mChumby project! This first post is basically a brainstorming session write-up or a mini requirements specification on myself. Feel free to comment on any ideas/improvements you think I can make.
(This post seems too wordy without a photo but I’m just too lazy)
Controller-Area Network or CAN Bus is one of many automotive communication buses for communications between various ‘car computers’. Information such as speed, fuel consumption, accelerator pedal position is all transmitted between the various controllers of a car akin to ‘fly-by-wire’ control systems of aircraft but I guess ‘drive-by-wire’ is more appropriate in this case.
There are other rival bus technologies include LIN (Local Interconnect Network) which is supposed to be a lower cost alternative to CAN, but I’m not interested in that. Why? My car uses the CAN bus, not LIN, not Ethernet. So lets go about figuring what can be gleened from the communications whizzing around my car!