top of page

Marine Assistant Mini

The Marine Assistant Mini is the ideal companion for your main controller. It features two float sensor inputs, two 12V switchable outlets, two DS18B20 temperature sensors, and a leak sensor. While designed to complement the main controller, it can also operate independently with any standalone Home Assistant setup.

What makes it special?

What Can It do?

Is It hard to set-up?

The Marine Assistant Mini represents the next generation of our hardware. We've incorporated all the lessons learned and feedback from extensive testing to create our most capable controller kit yet.

The PCB comes mostly pre-assembled, with all small SMD components already soldered. You’ll only need to solder the screw terminals, ESP32-S3 Mini, and four 3mm LEDs. Complete assembly guides are available right here on our website.

The Marine Assistant Mini can monitor water levels through its two float sensor inputs, track temperatures using two DS18B20 sensors, detect leaks via a leak sensor, and control two 12V devices such as pumps, solenoids, or LEDs.

The hardware also includes a real-time clock (RTC) module, allowing you to hard-code automations directly onto the controller so they can operate independently of Home Assistant.

All collected data is seamlessly presented within Home Assistant. Home Assistant is required for full functionality.

We’ve worked hard to make the build and setup process as simple as possible. Complete written and video guides are available to help you get started quickly. The code comes pre-written, so you can simply copy and paste it into your own setup.

There’s also an active Facebook group with many other users where you can share ideas, ask questions, and get community support.

Get yours here:

Build guide.

The Marine Assistant mini is super simple to put together, here is a guide on how to build your own:

Soldering the PCB...

Step 1.

The first components to solder are the 3mm LEDs. There are four in total, which serve as visual indicators for the inputs and outputs — two for the float sensors and two for the 12V switchable outlets.
Insert the LEDs as shown in the Image here.
Be sure to check the orientation of each LED before soldering. Each LED has one long leg (anode) and one short leg (cathode) — make sure they are positioned as shown in the diagram.

The Kit comes with Blue LEDS.

Note: The LEDs are completely optional. The board will function perfectly without them. If you prefer not to use LEDs, you can simply skip this step.
Step 2.

Next, install the screw terminals. The easiest way to do this is to hold them in place with a small drop of super glue before soldering. Apply a tiny amount of glue just behind the solder pads for each terminal, then insert the terminals into the holes and make sure they’re straight. A ruler can be helpful for keeping them neatly aligned.
Be sure to let the glue fully cure before flipping the board over.

Once set, carefully turn the board over and solder each pad individually. Make sure to apply enough heat for a solid connection and confirm that each pin is properly soldered.

Refer to the photos for visual guidance and comparison.
Step 3.

Finally, solder the ESP32-S3 Mini. Although the module has 18 pins, it’s surprisingly easy to install.
Start by soldering a single pin on one corner to hold it in place. Once that pin is secured, gently reheat it and adjust the ESP32 until all the pads are perfectly aligned.
When you’re satisfied with the alignment, solder the opposite corner to lock it in position.

Now, fix the ESP32 module in its final position and solder the remaining pads.

Use a fine-tipped soldering iron and ensure you apply enough heat to both PCBs. The solder should pool on the Marine Assistant pad and flow slightly up the side of the ESP32 Mini’s pads, creating a clean and secure connection.
A Couple of notes...

You now have a fully assembled PCB, ready for firmware installation. Before powering it up, carefully inspect your work — check all connections to make sure they’re solid and that there are no solder bridges or short circuits.

This is also a great time to install the CR2032 coin cell for the real-time clock (RTC) module.

Once everything checks out, congratulations — your Marine Assistant Mini hardware is complete and ready to come to life with firmware!

The 3d Printed parts...

The 3D printed enclosure is designed to be simple and straightforward to assemble. It consists of just three parts: the back panel, front cover, and mounting bracket.

Begin by inserting three threaded inserts into the back panel — these will be used to securely mount the PCB. The inserts can be gently melted into place using a soldering iron. Once fitted, mount your PCB onto the back panel using the corresponding screws, then snap the front cover into place to complete the enclosure.

Cable Management
Cables are routed through the holes at the bottom of the case. Directly behind each opening are small slots for cable ties, allowing you to neatly secure each cable and provide proper strain relief. We advice implementing a small strain relief loop as shown in the pictures.

Mounting Options
You have two options for mounting the enclosure:

Using the mounting bracket – Secure the bracket to your chosen surface, then hook the case onto it. The case will click into place for a snug, secure fit.

Direct mounting – Alternatively, you can screw the case directly to your surface using the three pre-drilled mounting holes provided.

Tip: Before final installation, ensure all cables are routed and secured properly to avoid strain on the connectors once the unit is in use.

Firmware install

Now that your hardware is complete, it’s time to move on to the setup process.

The code provided with the Marine Assistant Mini is designed as a starting point for setting up your own system. It includes the basic details of how each port is connected, giving you a foundation to build upon.

From here, you can choose how you want to create your automations:

  • Option 1: Use Home Assistant, which offers a very user-friendly interface for building automations without coding.

  • Option 2: Modify the included code to “hard-code” your automations directly into the Marine Assistant. While this option is a bit more advanced, it’s still surprisingly straightforward once you get the hang of it.

Benefits of Hard-Coding

When your automations are hard-coded, they take full advantage of the onboard Real-Time Clock (RTC). This allows them to keep running even if the connection to your main Home Assistant system is lost — ensuring your essential functions continue to operate reliably.

Here, we’ll start by walking through how to install the basic code. Then, we’ll explore each of the options mentioned above and show you how to get started with each one.

What You Need and Where to Get the Files

This guide assumes you already have Home Assistant running and ESPHome installed.
If not, follow the [setup guide here] (link) to get everything ready.

You can download the Marine Assistant Mini code from the Downloads section on this website.

ESPhome Install...

Click on ESPhome in your sidebar then add device and follow the on screen instructions.

You will need your to input your Wi-Fi name and password, be sure to set the name to something appropriate and the board type to "ESP32-s3"​.

ESPhome_newDevice.png

Click new Device

Set the name

devicename.png
ESPhome_newDevice4.png

Select ESP32-S3 as your Board

You’ll then be asked how you’d like to upload the code to the board. The first time, this must be done using a USB cable connected to your computer.
Once the ESPHome code is successfully running on your board, you’ll be able to upload updates wirelessly over Wi-Fi from then on.

Once everything is installed correctly, the sensor module should appear in ESPHome with the status “Online” shown in the corner.
You can open the logs at any time to see what’s happening behind the scenes or to check for any errors.

Keep in mind that there are several ways to install ESPHome onto your device — this is just one of them.
If you’d like to explore other methods, there are plenty of great guides available online.

esphome.png

Your Marine Assistant Mini should now be successfully installed in your Home Assistant system — all that’s left is to add the custom code.
As mentioned earlier, you now have two options, depending on how you’d like to set up your automations.
Let’s take a look installing the code then each of the options.

Installing the Code.

The custom code for the Marine Assistant Mini includes everything needed for the internal PCB to work correctly — such as the configuration for the inputs, outputs, and the real-time clock.

Feel free to modify or customize the code to suit your own setup and preferences!

  1. Download the Marine assistant mini code from the downloads section here.

  2. Open the code with notepad++ (Or Chrome)

  3.  In ESPHome click on "edit" under the MA_Feeder device.

  4. Copy the code from notepad++ and paste it into your Marine assistant mini device below the code that is already there. Simply add a few spaces below and paste it in.

  5. Click on save and install (Wirelessly), wait for the code to upload.

The code file includes setup details for each of the ports. Take a moment to read through it!
It’s short, easy to understand, and contains a lot of helpful information about how the hardware works internally.

Once you’ve installed it successfully, you can make simple changes if you’d like.
For example, you can rename your inputs or outputs — give your temperature sensors meaningful names like “Sump Temperature” instead of “Temp1.”

Option 1.

This is the easiest way to create your automations — it uses Home Assistant’s built-in automation menus and structure.
Creating automations in Home Assistant is straightforward and beginner-friendly.

Here’s an example of an automation that turns on “12vOutput1” when “FloatSens1” goes low:

Step 1 – Open Automations

  1. In Home Assistant, go to Settings → Automations & Scenes → Automations.

  2. Click “+ Create Automation”, then choose “Start with an empty automation.”

Step 2 – Add a Trigger

  1. Click “Add Trigger.”

  2. Under Trigger Type, select “State.”

  3. In Entity, select your sensor (for example: binary_sensor.floatsens1).

  4. Set:

    • From: on (or “high,” depending on your setup)

    • To: off (or “low”)
      (You may need to check how your Float Sensor is reported — often “on” means active and “off” means low.)

Step 3 – Add an Action

  1. Click “Add Action.”

  2. Choose “Device” or “Call service.”

    • If using Device, select your device and the action “Turn on 12vOutput1.”

    • If using Service, choose:

      • Service: switch.turn_on

      • Target entity: switch.12voutput1

Step 4 – Name and Save

  • Give your automation a clear name, e.g., “Turn on 12vOutput1 when FloatSens1 is low.”

  • Click Save.

  • You’re done!

How Automations Work in Home Assistant

Automations in Home Assistant let your smart devices react automatically to specific events or conditions — no manual control needed.

Each automation is built from three parts:

  1. Trigger – What starts the automation.

    • Example: A sensor changes state, a button is pressed, or a time is reached.

  2. Condition (optional) – Rules that must be true for the automation to run.

    • Example: Only run if it’s nighttime or a specific mode is active.

  3. Action – What happens when the trigger (and conditions) are met.

    • Example: Turn on a light, activate a relay, or send a notification.

Automations can be created using Home Assistant’s visual editor (easy for beginners) or written directly in YAML for more advanced setups.

Pros and cons of Home Assistant Automations (GUI-based).

Pros:

✅ Very flexible – changes can be made instantly via the GUI.

✅ Easy for beginners – no coding required.

✅ Centralized management – all automations visible in HA dashboard.

✅ Can integrate multiple devices and cloud services easily.

✅ Supports complex conditions and triggers without YAML editing.

Cons:

❌ Dependent on Home Assistant – automations fail if HA or Wi-Fi is down.

❌ Slight delay in execution due to network communication.

❌ Less reliable for time-critical tasks if network issues occur.

❌ Harder to move or replicate automations to a new board without exporting.

Option 2.

You can also hard code the Automations into the Marine assistant mini, this requires modifying the code to your own use case

As before Here’s an example of an automation that turns on “12vOutput1” when “FloatSens1” goes low:

Adding a Hard-Coded Automation in ESPHome

Step 1 – Identify the Entities

  • Determine which sensor will trigger the automation (e.g., binary_sensor.float1).

  • Determine which output you want to control (e.g., switch.output1).

  • Make sure your switch has an id so it can be referenced in YAML:

switch: - platform: gpio pin: 4 name: "Output1" id: output1

switch:
  - platform: gpio
    pin: 4
    name: "Output1"
    id: output1

 

Step 2 – Add the Automation Section

  • Use the automation: block in your YAML.

  • Set the trigger (when the sensor goes low).

  • Set the action (turn on the switch).

Example:

automation: - alias: "Turn on Output1 when Float1 is low" trigger: platform: state entity_id: binary_sensor.float1 from: 'on' to: 'off' action: - switch.turn_on: output1

automation:
  - alias: "Turn on Output1 when Float1 is low"
    trigger:
      platform: state
      entity_id: binary_sensor.float1
      from: 'on'
      to: 'off'
    action:
      - switch.turn_on: output1

Step 3 – Save and Upload

  1. Save your YAML file.

  2. Compile and upload the firmware to your ESP32-S3 board using ESPHome.

  3. Once uploaded, the automation will run automatically on the board, independent of Home Assistant.

Pros and cons of Hard coding your automations. 

Pros:

✅ Runs independently of Home Assistant – works even if HA or Wi-Fi is down.

✅ Faster response time, as logic runs directly on the ESP32.

✅ Full access to onboard hardware features like Real-Time Clock (RTC).

✅ Reliable for critical tasks (pumps, relays, feeders).

✅ Easy to backup and move between devices (all in the YAML file).

Cons:

❌ Less flexible – changes require editing YAML and reflashing the device.

❌ Requires basic coding knowledge (YAML syntax).

❌ Automations aren’t visible or manageable from Home Assistant.

❌ Advanced logic can be more complex to implement.

❌ Mistakes in YAML can break automations until corrected and reflashed.

Conclusion: Choosing Between Hard-Coded and Home Assistant Automations

When deciding how to set up your automations for the Marine Assistant Mini, consider the purpose and criticality of each task:

  • Home Assistant Automations are ideal for flexible, complex, or non-critical tasks.

    • Use the GUI to quickly create, edit, and manage automations.

    • Perfect for integrating multiple devices, cloud services, or advanced conditions.

  • Hard-Coded Automations are best for essential functions that must run reliably, even if Home Assistant or Wi-Fi goes down.

    • Examples: float switches controlling pumps, scheduled feeders, or critical 12V outputs.

    • Hard-coding ensures these actions execute directly on the board, with minimal delay and full use of onboard hardware like the Real-Time Clock.

The best approach is often a mix-and-match strategy:

  • Hard-code time-sensitive or safety-critical automations directly into ESPHome.

  • Use Home Assistant for more complex, flexible, or non-critical automations that benefit from centralized management and easy editing.

By combining both methods, you get the reliability of hard-coded logic with the flexibility of Home Assistant, creating a robust and highly functional Marine Assistant system.

bottom of page