Jump to content
  • projects-database-banner3.png

  • Share your completed boat projects!  DIY or Professional Installs

    Imagine a single giant database of boat projects for all brands, organized by category, boat type or budget.   Share your projects, find inspiration for a new upgrade, or learn the basics or low budget solutions from projects before you.   We can all share and learn from each other in one place.  

    No project is too plain, cheap or lame to post... all will be helpful to someone.  Let's build this thing!

    Please register or log in first:

    1) Pick a category

    2) Click "Add New Project"

    3) Update your project anytime!

    ***Professional Shops are also welcome to showcase custom work for any category, but you must designate your company name under "installation shop"  with included info.

  • Arduino Custom Digital Gauge Panel

    • Year: 2007 Brand: Malibu Model / Trim: RLXi Cost: $500-$999 DIY or Professional Install: I installed it / created it

    This project will never be completed but I'm going to post "Gen 1" to archive what I have so far. This is my custom touch screen gauge panel my '07 malibu response.  My goal with this project is to use as much open source and off the shelf hardware and software as possible. I did, unfortunately, have to use some proprietary information so I can't publish the source code. But I am willing to share what I can and collaboration with anyone here. Just reach out.



    Here is a before picture of the driver side dash:before.jpg.ed18e6093a82f0a4d9030fe207b118eb.jpg




    The new gauge panel receiver is CNC'd out of 3/8" thick 6061. I stripped and refinished the switch panels to match. I decided to go with a brushed look.


    The perfect pass and the malibu digital gauge fit into the new pockets and the new touch screen installs from the rear:1886888489_gaugepanelrear.jpg.a80c7406780ada08d790b029d8c8ce2e.jpg


    A cover protects the screen and the ribbon cable reaches to a weather proof box that holds all the new electronics.



    The guts of the system are built on an Arduino Due core module from copperhilltech.com. It has a wide range DC input and an integrated CAN interface. I added a GPS module for upgraded GPS speed, a digital compass, and an interface to the medallion computer. The interface to the medallion MDC is the only custom electronics in the box. I needed a level shifter and went ahead and used an optical isolator for a bit of added protection.


    So far I have three data screens. The main gauge display:


    All the CAN bus data available on my GM MEFI-5 vintage ECM:


    The last screen shows all the information available from the MDC, GPS and Compass modules:


    Hope I'm not breaking any site rules with a small video but the pictures don't do it justice.  This first run in on a fake-a-lake in the driveway. I'm super happy with how bright and responsive the display is. Some of the data updates are almost too fast. I may have to add some filtering to slow it down.


    gauge panel installed close.jpg

    gauge panel installed.jpg


    User Feedback

    Recommended Comments

    Here are the off-the-shelf parts.  I probably have another $100-$150 in materials for the aluminum bezel and other misc parts.

    Paying up for a high brightness, transflective, sunlight readable display is worth the $.


    Main Arduino CPU:    
    (discontinued) https://copperhilltech.com/arduino-due-based-ecu-development-board-with-two-can-bus-ports/  
    (alternative) https://copperhilltech.com/arduino-based-ecu-development-board-with-dual-can-bus-interface/ $86
    Sdcard Interface https://www.adafruit.com/product/254 $7.50
    Display: https://www.digikey.com/short/3v223dnp $171.00
    GPS Module: https://www.seeedstudio.com/Grove-GPS-Air530-p-4584.html $12
    external antenna $10
    Compass Module: https://www.amazon.com/gp/product/B07PP67N9Q/ref=as_li_ss_tl?ie=UTF8&psc=1&linkCode=ll1&tag=wakegarage-20&linkId=a5a03ef8c3c85d4dc0bce7b54ecfd081&language=en_US $10
    DC-DC Converter: https://www.amazon.com/gp/product/B07BDJZ1X6/ref=as_li_ss_tl?ie=UTF8&psc=1&linkCode=ll1&tag=wakegarage-20&linkId=cdd0f21aff6ed02156a3926816792ed7&language=en_US $9
    ECM OBD Connector: https://obd2allinone.com/products/m5diag.asp $10
    Medallion Connector https://www.eficonnection.com/home/product/caspers-4-way-black-metri-pack-150-sealed-male-connector $12
    • Like 1
    Link to comment
    Share on other sites

    That sounds like a great project. That's a big bump going from MEFI 4 to 5. I'm sure the group here would love to see a post on this conversion. I'd like to learn more about how you went about it, cost, time etc.

    Link to comment
    Share on other sites

    Anything that is pre-packaged with any meaningful water resistance spec is going to be at a very different price point. As it is this raw display is >$150. I focused on good high brightness and operating temperature range. This one is good from -20 to  70C and 90% RH. It also has good specs for shock, vibration and esd. If you look at the CAD file I posted of the aluminum bezel you can see the screen sits in a recess and overlaps the glass. I added a thin foam gasket so the bezel seals tight against the glass. On the back I made a plastic cover that is also sealed to the back of the bezel. The whole set up is fairly well protected from the rain the way this dash is built from the factory. I'll let you know how I make out this summer.

    • Like 1
    Link to comment
    Share on other sites

    Quick update, so far so good. I've put a few hours on the boat, half dozen pulls, multiple heavy rain storms and some 90+ days baking on the lift. No issues. I was able to figure out a few more of the Medalion data packets.

    My original gauges were run off a Medallion miniMMDC v3.4 702-00009-01.  This unit drives the analog gauges with a digital serial bus. The serial line is basically RS-232. Each "message" has an ID, data and check sum. There are 8 data messages that come out at different rates.

    BE: RPM /4

    4C: always zero, not used?

    B2: Speed /20 (mph) (my boat uses a paddle wheel)

    64: Oil Pressure (psi)

    A8: Battery Volts /20

    6E: Coolant Temp (deg F)

    60: Fuel level /2 (%)

    E9:Depth/10 (ft), Air Temp/10 (degF), Lake Temp/10 (deg F), Oil/10 (psi), Volts/10, Engine Hours/10

    Also remember if you make a connector to pull the CAN data off the engine diagnostic port and you want to run a speed controller (i.e. perfect pass) remember to add the jumper from pin B to F. This is an important one I forgot.

    6-Pin ECM CAN diagnostic connector:

    Pin A: 12V

    Pin B: GND

    Pin C: CAN-Hi

    Pin D: CAN-Lo

    Pin E:  N/C

    Pin F:  Connect to ground to use speed controller


    Link to comment
    Share on other sites

    Quick update. I recently added native, Scangauge like, functionality to calculate fuel usage. It is ridiculously accurate. Add 5 gallons and watch it tick down in 0.1 gal increments.  Longer time accumulation time would be even more accurate since you have to calculate fuel usage per sample period based on instantaneous GPH. I'm using 30 sec update rate and it works great. The raw data is found in the 65500 J1939 CAN message. If you unpack the 8 data bytes look for:

    Byte 1: must = 0x01  << there are multiple message types that use the same 65500 ID. This needs to bey "message 1"

    Byte 4 and 5: This is where the raw GPH info is. Two bytes. The  5th byte is the high byte, 4th is the low byte. Then divide by 256

    Link to comment
    Share on other sites

    I have an 07 Malibu also, but no perfect pass, just using Malibu Cruise.  Was all of this done on the Monsoon engine?  The cost is not bad, and I love the functionality.  Did you add a GPH gauge to your main screen?

    Link to comment
    Share on other sites

    2007 Malibu rLxi, 340 Monsoon with a GM MEFI-5. I have no connections or dependencies on the Perfect Pass. (that'll be the next project)  I'm still hacking on the functionality but yes I added fuel used counter that accumulates up, fuel level counter that counts down. I set the current input manually. So when I add 10 gallons I go to the config screen and input how much fuel I added. Then it counts down from there until I zero everything or add more fuel to the counter. I also display instantaneous real-time fuel consumption to the main display. It's pretty cool to see how different conditions affect fuel consumption.

    • Like 2
    Link to comment
    Share on other sites

    Here is some additional pinout information on the CAN bus.

    For this project I chose to tap into the standard OBD-M diagnostic port on most MEFI-5 and newer boats. There are other places to tap into the CAN bust but this was easiest for me.

    Pin A - +12V

    Pin B - GND

    Pin C - CAN +

    Pin D - CAN -

    Pin E - no connect

    Pin F - Speed control - tie to ground if you are using PP or Zoff


    Link to comment
    Share on other sites

    And pinout info for the medallion gauges. My setup uses the MiniMMDC -7021. My gauges only have 4 pins. I understand that there are 5 pin gauges and they seem to be more common. I have not looked into the differences. If anyone has a 5 pin set up maybe you can add on here.

    The connector coming out of the MDC is a Aptiv / Delphi GT -150 series. You can get them here:

    This connector plugs directly into the back of the gauge. They are all the same since these gauges use a serial databus. Any connector can go to any gauge. If you have a spare like I did you could simply chop the connector off to tie into the arduino. I wanted to make this kit as plug in and reversible as possible. I found a mating 4 pin connector here:

    You can find all the crimp terminals and other parts you need to make a complete set on this site.

    Yellow -  Data - this is the serial data bus - active low, RS-232, transmit only, 9600 bps, 8N2

    White/Red - 7 to 9V Power

    Grey or Black - Ground

    Blue - Nav Lights


    Link to comment
    Share on other sites

    I used a lot of open-source libraries but all the application level software is homebrew. If you go to Newhaven Display and FTDI web sites and look for EVE graphics you'll find lots of examples. Feel free to PM me.

    Link to comment
    Share on other sites

    Hi Scutty. 

    Very impressive!  I have a 2006 MC X2.  It has a MMDC that has given me a lot of grief and I want to completely eliminate it doing something similar to what you did. 

    In addition to what you did, I would need to use some of the analog or digital inputs (depending on TBD sensors interfaces) for oil pressure, engine temp, lake temp, outside air temp, and fuel gauge input. 

    1) Any thoughts on this effort?  All insights would be appreciated.  Or is it even feasible?

    2) Since the MMDC is eliminated and all I would doing is pulling the CAN data as you show in the diagram, would there be any proprietary SW needed?  

    3) Would you be willing to share the non-proprietary code you wrote?

    4) Down the road,  would be possible to do speed control with with some control loop software using the PWM outputs and external throttle actuator?  Would have to build in a FuSa mode.  That would be fun!

    Thanks in advance for your inputs!


    Link to comment
    Share on other sites

    I'm curious what is wrong with it.  I'll trade you code for you dead MMDC ;)

    Just to make sure we are on the same page, I did not replace my MMDC. I'm actually using data from it. I got rid of the gauges only.

    1) this is totally feasible. Another guy here is working on a 1600 replacement. All the sensor interfaces should be the same. https://www.wakegarage.com/forums/topic/839-mdc-1600-plug-n-play-replacement/  the one interface that I have not worked on yet is the depth finder on these boats.

    2)  Yes, lot of proprietary SW needed. The issue is the CAN data is based on an SAE specification that is copyright protected. Diagnostic messages that are not broadcast ( you need to poll for ) are proprietary to the engine manufacturer.  I would be violating their IP if I published it openly. However, there are lots and lots of site out there where people (like me)  have figured out what codes mean what and how to convert them.

    3) I'll share all my code. Just PM me. I've given it to others here working on similar projects.  Happy to help as long as you promise to post your learning here for everyone's benefit and you don't use anything for commercial gain.

    4) I'm actually trying to figure out how best to do DBW speed control now. Believe it or not the interface for Perfect Pass is 0-5V analog even for electronic throttle bodies.  I've hacked that interface and can manual adjust throttle settings but have not closed the loop yet. Zero Off is another matter. Zero Off only works with eControls ECMs (as far as I know) the ZO interface is proprietary. I built a black box data logger to isolate the speed control handshake but can't quite crack their message format yet. I hope to get back to this project over the summer.

    Link to comment
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Featured Products

  • Tell a friend

    Love Wake Garage? Tell a friend!
  • Create New...