Stormworks: Build and Rescue

Stormworks: Build and Rescue

Not enough ratings
Boat Dashboard - speed, rudder, engine, fuel consumption, depth, and more (by dr.ego)
   
Award
Favorite
Favorited
Unfavorite
Vehicles: Sea
Tags: v1.15.4
File Size
Posted
Updated
422.501 KB
6 Oct @ 8:40am
15 Oct @ 9:12am
2 Change Notes ( view )

Subscribe to download
Boat Dashboard - speed, rudder, engine, fuel consumption, depth, and more (by dr.ego)

Description
Beautiful Dashboard for Your Ship in Stormworks

Experience beauty, control convenience, and intuitive management with this universal, functional, and visually stunning dashboard for any vessel in Stormworks!



A boat with this dashboard as an example:
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=3583659396

Key Features

🕒 Automatic Theme Switching Based on Time of Day
The dashboard automatically switches between day and night themes, with a smooth sunrise/sunset transition animation. Everything looks natural, beautiful, and won’t blind you at night. You can also manually set a specific theme.

📊 Flexible Display Customization
  • Choose which data to display and which to hide: speed, depth, time, temperature, fuel level, battery status, navigation lights.
  • Support for different speed units: km/h, mph, knots.
  • Left and right panels can be configured independently: display data for one engine, both engines, combined values, or fuel consumption.

⚙️ Detailed Engine and Fuel Information
  • Displays engine RPM (RPS/RPM) and temperature with color-coded overheating and overload indicators. Supports up to two engines on your ship. You can configure the display to show data for both engines separately or combined.
  • Calculates remaining runtime, distance possible with remaining fuel, and current fuel consumption based on averaged data from the last few minutes — all stable and without sudden jumps! Works with any engine type, whether standard or modular.

🧭 Intuitive Compass and Rudder Indicator
  • Arc-shaped compass with large current heading display and markers for the nearest tens of degrees.
  • Rudder position indicator — red when turning left, green when turning right.

🔋 Battery Indicator
Color changes depending on battery status:
  • Green — charging
  • Yellow — discharging
  • Red — critically low level (20% or less)
  • Black or white (depending on theme) — battery level is not changing

🛠️ Everything Configurable via Properties
All settings (theme, units, displayed panels, etc.) are easily adjustable through the microcontroller’s properties—no need to edit the code.

🎨 Adaptive Design for Any Screen Size
Works on all display sizes—from tiny 1×1 to the largest available. All UI elements automatically scale and reposition! However, on very small screens, not all data will fit. Therefore, it’s recommended to use at least a 1×3 or 2×2 display. The optimal size is 2×3.

How to Connect
Connecting most inputs to the microcontroller should be straightforward, but special attention is required for the compass and fuel consumption



  1. Throttle — throttle input from your engine, e.g., from the pilot seat (W–S).

  2. Steering — rudder input, e.g., from the pilot seat (A–D).

  3. Compass — compass data. The compass arrow must point backward, toward the ship’s stern, not forward toward the bow


  4. Speed sensor — linear speed sensor input.

  5. Nav lights — input from the navigation lights toggle button (on/off status).

  6. Depth — laser distance sensor placed on the ship’s bottom, pointing downward toward the seabed to measure depth. A small 250 m range sensor is sufficient.

  7. Temperature sensor — temperature sensor placed outside the ship (you may also place it inside if you want cabin temperature instead of outside).

  8. From clock — clock input. Required to display time and enable automatic theme switching.

  9. Fuel level — total remaining fuel on the ship. If you have multiple fuel tanks, sum their contents and send the total here.

  10. Battery level — battery charge level. Can be taken directly from any battery block.

  11. Generators output — generator power output (not used; optional).

  12. Engine fuel flow — engine fuel consumption in liters per second. Two separate inputs are provided for two engines (if your boat has only one engine, connect its data to either port). For correct calculation of remaining runtime and distance, fuel flow must be provided in liters per second.

    To achieve this, install a liquid relief valve (or any liquid device that outputs flow rate) before the engine’s fuel inlet and connect its output to the microcontroller.


    For modular engines, the most reliable method is to take fuel flow data from a single cylinder (composite channel 2), multiply it by the total number of cylinders, and then multiply by 60 to get total engine consumption in liters per second.
    Ready microcotroller: https://gtm.steamproxy.vip/workshop/filedetails/?id=3583163842


  13. Engine RPS — engine shaft rotation speed. Two separate inputs for two engines (if your boat has only one engine, connect to either port). Take this directly from the engine or from the crankshaft of a modular engine.

  14. Engine temperature — engine temperature. Two separate inputs for two engines (if your boat has only one engine, connect to either port). Take this directly from the engine or from composite channel 3 of a modular engine cylinder.

Connect the remaining video output to your display to show the dashboard.

How to Configure
Most microcontroller settings should be intuitive, so we’ll cover only the key ones:

  1. Set your preferred speed unit in Speed units — kilometers per hour, miles per hour, or knots.

  2. Configure your throttle using Throttle min (default 0), Throttle max (default 1), and Throttle dead zone (%) (default 0). I added these settings primarily for myself, as I like to configure throttle on boats so that:
    • throttle values between –0.2 and 0.2 = neutral (boat doesn’t move);
    • throttle values between 0.2 and 1 = forward motion;
    • throttle values between –0.2 and –1 = reverse.
    Standard values should work for most users.

  3. Set the maximum allowed RPS for your engines in Engine 1 MAX RPS and Engine 2 MAX RPS.

  4. Set the total fuel capacity of your tanks in Max Fuel so the fuel level displays correctly. If you have multiple tanks, sum their volumes and enter the total here.

  5. Set Fuel consumption unit: liters per second, minute, or hour. Choose based on your engine’s consumption:
    • low consumption → liters per hour;
    • medium consumption → liters per minute;
    • high consumption → liters per second.
    If unsure, leave the default. If during gameplay you notice fuel consumption always shows 0 or 999, change this setting.

Support and Updates:
If you have suggestions for improvement — please leave a comment!
25 Comments
dr9ego  [author] 9 hours ago 
If so, then yes, it's not difficult
I wanted to make it a little more difficult, but simpler might even be better
Ω Compu 15 Oct @ 9:50am 
might even be able to use ur deadzone code to make the top part of the bar red
Ω Compu 15 Oct @ 9:49am 
i think the sidebar might be easy, just take the number used for the fuel consumption display (ie liters per second/minute/hour) and then use the same bar code used for the throttle but input the fuel consumption number into it and change the color, and let the user set the min and max on the bar
Ω Compu 15 Oct @ 9:47am 
ok, updated my boat to the new version
dr9ego  [author] 15 Oct @ 9:27am 
Done, except for the fuel consumption sidebar
dr9ego  [author] 15 Oct @ 8:28am 
No, it's ok) I understood that you want to be able to manually set the engine temperature at which it should be highlighted in a warning color) I just put it wrong)
Ω Compu 15 Oct @ 7:48am 
wait no u misunderstood, i'm not asking to change the warning color, i'm asking to change the temperature the warning triggers at
dr9ego  [author] 15 Oct @ 5:01am 
Okay, I’ll try to add both the customizable temperature warning color and the fuel consumption bar! But I can’t promise it’ll be done quickly 😅

Got your formula—thanks! For now, I’ll keep the compass logic as is, so users who’ve already integrated this script won’t need to rework their builds. Also, since I’m planning to switch to the physics object sensor soon (to reduce the number of required inputs), the compass setup will likely change anyway.
Ω Compu 15 Oct @ 4:51am 
that function is the one the heading hold system i created uses to convert the compass output to degrees, i can confirm it will be accurate with the compass arrow facing forward
Ω Compu 15 Oct @ 4:50am 
and yeah just the temperature bar color