Fresh2o - Solar Water Dispenser
Projects / professional

Fresh2o - Solar Water Dispenser

Intelligent solar-powered water dispenser with chilling capability, featuring custom PCB designs and IoT connectivity

Year 2024
Technologies
RP2040Linux SBCRS485Modbus RTUNode-REDPCB DesignPython

Overview

Fresh2o is a solar-powered water dispensing system designed for remote or off-grid installations. The project combines renewable energy, embedded control, distributed sensing, RS485 communication, and remote monitoring into a modular water dispensing platform.

My involvement began when the project was already underway. I was initially asked to assist with the software side of the system after the project had grown beyond what my boss could comfortably manage on his own. During the onboarding call, the team was building an open prototype on a sheet of plywood so they could more easily take measurements and validate the physical layout.

As the prototype was being assembled, the team ran into repeated electronics issues, including shorts, wiring mistakes, and difficulty identifying problems across the different modules being used. The meeting was repeatedly paused so my boss could help troubleshoot the hardware. I began looking up the documentation for the components in real time, identifying wiring and integration issues, and talking the team through what was going wrong.

That meeting changed my role in the project. What started as a software support task quickly expanded into hands-on prototype debugging, hardware troubleshooting, circuit board design, software support, production documentation, and internal training.

System Architecture

The system uses a distributed control architecture. A Linux single-board computer acts as the main controller and runs PLC-style software for the core control logic. Lower-level hardware functions are handled by microcontroller-based boards distributed throughout the system.

Communication between the controller and field hardware is handled over RS485 using Modbus RTU. To support the number of connected devices and improve the wiring architecture, a custom USB-to-4-port RS485 adapter was designed for the project.

My Role

My contribution focused on helping turn a difficult-to-debug prototype into a more structured, maintainable, and buildable embedded system.

My work included:

  • Helping troubleshoot the early open-frame prototype
  • Reviewing component documentation and identifying wiring/integration issues
  • Assisting with the software development effort
  • Designing custom circuit boards for the system
  • Creating RP2040-based controller and interface hardware
  • Designing a custom USB-to-4-port RS485 adapter
  • Supporting the move from hand-wired prototype hardware toward purpose-built PCB assemblies
  • Creating clear wiring and assembly documentation for future technicians
  • Training a junior technician/engineer in software development techniques for the hardware used in the project

This became a good example of being pulled into a project for one reason, then becoming more deeply involved once the technical needs became clearer.

Hardware Design

Several custom circuit boards were developed or planned around the system architecture, including:

  • RP2040-based controller boards
  • Power management and distribution hardware
  • RS485 communication interfaces
  • Temperature and water-level sensor interfaces
  • A custom USB-to-4-port RS485 adapter

The custom boards helped reduce the wiring complexity of the prototype and made the system easier to assemble, debug, and maintain.

Documentation and Manufacturability

Fresh2o is one of the more complicated products the company builds from a wiring and integration perspective. Because of the number of boards, sensors, communication links, and power connections involved, clear documentation became an important part of making the system repeatable.

I created detailed wiring and assembly documentation intended for future technicians to follow. The goal was to turn a complicated prototype into something that could be built, checked, and serviced without relying on tribal knowledge or one-off explanations from the original development team.

This documentation helped clarify how the different parts of the system connected together and gave technicians a cleaner reference for assembly and troubleshooting.

Training and Knowledge Transfer

As the project continued, I also began training a junior technician/engineer in software development techniques for the hardware used in Fresh2o.

This included helping them understand the embedded development workflow, how the hardware and software interact, and how to approach debugging in a system made up of microcontrollers, RS485 communication, sensors, and a Linux-based controller.

This training work supports the long-term maintainability of the project by spreading knowledge beyond the original development team.

Software Stack

The software side of the project includes PLC-style control logic running on a Linux single-board computer, with Modbus RTU used for communication between the main controller and connected devices.

Node-RED is used for remote feedback, dashboarding, and system monitoring. Python utilities are used for system management, diagnostics, and supporting automation tasks.

Key Features

  • Solar-powered operation for remote or off-grid deployment
  • Linux SBC running PLC-style control software
  • Distributed embedded control using RP2040-based hardware
  • RS485 communication using Modbus RTU
  • Custom USB-to-4-port RS485 adapter
  • Temperature and water-level monitoring
  • Remote system feedback using Node-RED
  • Modular hardware architecture designed to reduce prototype wiring complexity
  • Technician-facing wiring and assembly documentation
  • Internal software training and knowledge transfer

Engineering Highlights

The most interesting part of this project was the transition from a fragile hand-wired prototype to a more deliberate embedded control system.

The early prototype made it clear that the electronics needed more structure. Repeated wiring problems, shorts, and integration issues were slowing progress and making the system difficult to troubleshoot. By reviewing the component documentation, helping diagnose the prototype issues, and designing custom PCBs, I helped move the project toward a cleaner and more reliable hardware architecture.

The project also demonstrated the value of being able to work across software, hardware, documentation, system integration, and mentoring. Although I was initially brought in to help with software, the project quickly required embedded hardware debugging, PCB design, communication interface design, practical prototype support, production-oriented documentation, and training another team member to work with the project hardware.

Impact

Fresh2o is an ongoing project, but my involvement helped stabilize the technical direction of the prototype and reduce the complexity of the electronics implementation.

The project represents practical experience with distributed embedded control, Linux-based automation, Modbus RTU communication, RS485 hardware, custom PCB design, remote monitoring, technician-facing documentation, and internal training for a solar-powered water dispensing system.