Monitoring sea level is critical due to climate change observed over the years. Global Navigation Satellite System Reflectometry (GNSS-R) has been widely demonstrated for coastal sea-level monitoring. The use of signal-to-noise ratio (SNR) observations from ground-based stations has been especially productive for altimetry applications. SNR records an interference pattern whose oscillation frequency allows retrieving the unknown reflector height. Here we report the development and validation of a complete hardware and software system for SNR-based GNSS-R. We make it available as open source based on the Arduino platform. It costs about US$200 (including solar power supply) and requires minimal assembly of commercial off-the-shelf components. As an initial validation towards applications in coastal regions, we have evaluated the system over approximately 1 year by the Guaíba Lake in Brazil. We have compared water-level altimetry retrievals with independent measurements from a co-located radar tide gauge (within 10 m). The GNSS-R device ran practically uninterruptedly, while the reference radar gauge suffered two malfunctioning periods, resulting in gaps lasting for 44 and 38 days. The stability of GNSS-R altimetry results enabled the detection of miscalibration steps (10 cm and 15 cm) inadvertently introduced in the radar gauge after it underwent maintenance. Excluding the radar gaps and its malfunctioning periods (reducing the time series duration from 317 to 147 days), we have found a correlation of 0.989 and RMSE of 2.9 cm in daily means. To foster open science and lower the barriers for entry in SNR-based GNSS-R research and applications, we make a complete bill of materials and build tutorials freely available on the Internet so that interested researchers can replicate the system.