A company that manufactures automated machinery for photovoltaic panel assembly lines
Renewable energy
Staff augmentation, app development
MSSQL, MediatR, Swagger, SVN, .Net, .Net Core, Microsoft IdentityServer, C#


The client specializes in supporting the photovoltaic panel manufacturing and assembly process. They produce and supply the equipment and software required to operate and control solar panel assembly lines. The company manufactures different types of automated machinery that can assemble a solar panel from components passing on the assembly conveyor belt, starting with aluminum frames, tempered glass, and solar cells, all the way to the final product. The client also offers automated inspection systems for quality assurance and final panel testing for efficiency and durability. However, the client still needed two things: an application that would control and monitor the machinery and the entire assembly process and a way to handle RFID tags on different assembly and manufacturing components. They didn’t have the talent with the required experience and were looking for brilliant software engineers who could join them at their center of operations and build the missing software component for solar panel monitoring within tight deadlines.

Here is what the client expected from our team
To develop an application that will monitor solar panels being assembled as they move along the production line. This app was also expected to communicate with the machinery operating on the assembly conveyor.
To design and build a library that can be integrated with software on the client's side and enable it to work with RFID tags. These tags can be embedded in the machinery along the assembly conveyor, in the packaging of photovoltaic panel components, and more. And each device has its own requirements for how much data can be stored (if any) and what can be read.
To connect with a large database (DB) from an external vendor. This DB contains various assembly line information, including component ID and functionality, panel status, etc. The app must access this information to communicate with the right machinery.
To synchronize all the machinery operating on the assembly line and ensure that each device has access to up-to-date information on the assembly process
The client didn’t have time to produce detailed project documentation in advance, so our developers had to do requirements elicitation and ask many clarifying questions


Our team developed a console desktop application with internet access that can connect to the various machinery and sensors on the assembly line. This solar panel monitoring app has the following functionality:
Monitors and controls the operation of machinery at various assembly stations on the conveyor belt and notifies a line operator if an anomaly is detected
Keeps track of each photovoltaic panel’s status on the assembly line, along with any problems the panel has encountered
Communicates with the machines and sensors on assembly conveyors. For instance, a line operator can halt the assembly processes through this app and set the machinery at a particular assembly station to idle.
Accesses the database that contains information on assembly line components through Microsoft IdentityServer. The app needs this data to communicate with the machinery. This database was implemented by an external vendor and has automatically generated documentation that doesn’t offer a faithful representation. The documentation contains duplicated, missing, and incorrect fields. Our developers had to reach out to the original database vendor for the correct entries.
Synchronizes the equipment at all assembly workstations so that every machine has real-time data on the status of each panel or component on the conveyor
Secures communication between internal components, such as assembly machines, and devices from external environments
In addition to the app, our team built a .Net library that can work with RFID tags. It can read data from these tags and write data into RFID tags’ regular memory and fixcode memory (where you can write only once and can’t alter or delete the data afterwards). This software is universal and can cope with the diverse data requirements presented by devices in the manufacturing, assembly, and quality control stages. RFID tags are also used to mark packages in the client’s inventory, facilitating inventory automation. This library can be easily extended to support devices from other vendors by adding the corresponding configurations.
solar panel monitoring solution
solar panel monitoring


Our developers delivered the missing key software piece that allowed the client to finally monetize their automated solar panel assembly line. This app also formed the foundation for the client’s most innovative and advanced product.
The RFID handling library allowed the client to automate inventory management and, consequently, save time and labor costs associated with stock activities
Our data team helped clarify the issue with an external vendor’s database that was poorly documented. Now the client has correct and detailed documentation for future references.
The client didn’t have to go through the process of hiring talented software engineers as full-time company employees, as this would be a long and expensive process. Instead, they used our dedicated teams option and had the onboarding and development completed in four months.

Latest projects