Sunchronizer S1 - Elevation Axis Solar Tracker

3D printable ESPHome based 400W Elevation Axis Solar Tracker

Similar projects worth following

Since I have been working with the (here in Germany) successful "balcony power plants", I have been wondering how the energy yield of the two to four solar panels can be further improved.

The Sunchronizer S1 is my first design of a a solar panel mount for "standard" 400" solar panels that automatically tracks the sun on one axis. As with my past projects, I tried to rely largely on 3D printed components and standard mechanical parts. Ultimately, with this everyone should be able to build a solar tracker for their solar panels themselves.

The axis is tracked using a 6000N linear actuator, which is controlled via an ESP32 and corresponding electronics. The firmware of the ESP32 is based on ESPHome and can therefore be easily integrated into HomeAssistant or many other SmartHome systems. The Sunchronizer can also be used independently of a connection to other systems. For example, the position can be obtained automatically via a GPS receiver, which means that the current time is also known. Based on this data (and the configured orientation (compass direction) of the Sunchronizer), the optimal elevation angle is then calculated and set. So that this can be set correctly, the angle of the panel is measured four times per second with an BMI160 acceleration sensor and adjusted accordingly if necessary.

Further Info and ressources:

Front view rendering of the Sunchronizer S1

View of the first Sunchronizer prototype.
Side view rendering of the Sunchronizer S1

Behind the stages of the first Suncrhonizer prototype. The electronics are not yet stored in the final electronics housing.
CloseUp of the mounted "SolSpot" (Sun tracking sensor) and GPS sensor on the sensor dock of the Sunchronizer.
View of the mounted BMI160 in its 3D printed protection case. This is mounted on the back of the panel to measure the elevation angle of the panel. It is measured four times per second and adapted to match the desired target angle.

Back side view of the mounted sensors on the sensor dock.


If you want to support me, you can do so by like on this project page, on Instagram or by donating a coffee. :)


Content that is not based on software/code: Unless otherwise stated, all works presented here that are not based on software/code are subject to the CC BY-NC-SA 4.0 license (attribution – non-commercial – dissemination under the same conditions 4.0 international).

You can find a summary here:

You can find the complete legal text here:

Software/code-based works Unless otherwise stated, all software/code-based works presented here are subject to the GNU Affero General Public License v3.0

You can find a summary here:

The complete legal text can be found here:

  • Dual Axis support incoming

    Fabian8 hours ago 0 comments

    Just a tiny sneak peak on what I'm working right now. 

    Since the first prototype of the single axis tracker is doing his longterm testing job I'm silently working on the dual axis support.

    The current plan is to mount the single axis assembly on some kind of turret which can be rotated with a snail drive and a 12V gear motor. 

    I hope the pictures give an idea about the construction.

  • SolSpot - A universal light sensor for solar tracker setups

    Fabian04/24/2024 at 17:10 0 comments

    One thing is critical for proper and fast Solar Tracking: Measure the current lighting conditions. Therefore I designed my own Solar Tracking Sensor called "SolSpot" which you can see below.

    Below you can see my (current) finale state of the SolSpot housing. In order to connect the individual components together in a (hopefully) waterproof manner, I use a sealing ring printed from TPU. This is inserted into the grooves provided and clamped between the components. The watertightness of the front panel was particularly important to me because the sensor electronics are located directly behind it. 

    CloseUp of a mounted SolSpot and GPS Sensor on the Sensor Dock on top of the Sunrchonizer prototype. So that both sensors can be mount in parallel the Sensor Bank is used as adapter plate.
    CloseUp of the SolSpot sensor. The LED and brightness sensor per segment is visible.

    Below you can see a picture of the circuit board installed in the SolSpot Housing. Four TSL2591 light sensors are installed on it, with which the brightness in the respective sensor element and thus the alignment/direction of the sun can be measured by comparing the brightness in the different segments. Next to each light sensor I also installed an SK6812 Side LED. This allows the sensor to carry out a simple functional test (for example at night) to ensure that the light sensors are still working correctly.  Many thanks to for assistance with this project by providing their PCB service.

    For the light sensors I use a TSL2591. These are read out via the I2C bus. Unfortunately, these do not have an adjustable I2C address. That's why I read the individual sensors via a TCA9548 I2C multiplexer. With this IC, an I2C bus can be multiplexed to eight different buses. Additionally an ADXL345 acceleration sensor and a compass are also installed.

    Top side of the SolSpot PCB. Bottom side is available below.
    Close Up of one of the segments of SolSpot containing a TSL2591 brightness sensor and a SK6812 Side LED.
    Protype view of the mounted SolSpot PCB in the Front part of the SolSpot Housing. The PCB is fixed by an M2 screw and (hopefully) protected by humidity via a TPU based sealing "ring".
    Bottom side of the SolSpot PCB. Including a little whoopsie (missing reset pull-up) that I fixed manually.

  • Electronics in detail

    Fabian04/22/2024 at 19:10 0 comments

    The current controller in the first Sunchronizer prototype is based on a prototyped schematic on a breadboard. 

    Below you can see my first approach to bring this approach to a ore professional level which is supported by the guys at Thanks to them I have the chance to bring my virtual design within a few days to a real working PCB.

    The controller will be based on an ESP32 MCU which reads the acceleration signals from the BMI160 via I2C Bus. Additionally the GPS sensor can be connected via serial connection. 

    With the PCB there is also the option to connect an OLED display, a compass module, a RTC, a SolSpot Sensor and an Anemosens wind sensor.

    As motor driver a DRV8871 is used which will/must be replaced later by a bit more powerful one. This is needed because at the beginning of the lift movement the linear actuator pulls slightly more current than the max allowed 3A (of the DRV8871).

  • Mountable BMI160 Housing to measure the elevation angle

    Fabian04/22/2024 at 18:51 0 comments

    One important sensor for the function of the Sunchronizer is the BMI160 acceleration sensor. 

    To ensure that the SolarPanel is always perfectly aligned with the sun, the elevation angle of the panel is regularly measured and adjusted accordingly thanks to the BMI160. 

    Thanks to the housing shown, the BMI160 can be mounted splash-proof on the support profile, which later also holds the solar panel. 

    The STLs for the housing can be found on my blog at:

  • Splash proof NEO7MV2 GPS receiver housing

    Fabian04/22/2024 at 18:51 0 comments

    In order for the control electronics of the Sunchronizer to calculate the correct sun angle, it needs to know the exact time as well as the current position. 

    For this purpose, I installed a GPS receiver on the Sunchronizer. I designed the housing shown so that the GPS antenna has a clear view of the sky and is protected from splash water/rain at the same time. 

    The GPS module can be installed in it and then attached to the aluminum profiles of the Sunchronizer with the housing and two M5 screws. 

    The STLs of the housing can be found on my blog at:

View all 5 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates