- Scope Backend development, project management
- Innovation C++ in 11/14 version
- Technologies C++, Python
- Business sector Industry
- Model of collaboration Time & Material
- iteo Team 5 x Backend developers
1 x Project Manager
The beginning of work
ASML, a leader in the industry, hires a team of 25k employees who provide chipmakers with everything they need – hardware, software and services to mass produce patterns on silicon using lithography. The project included creating simulation software to support robotic arm functionality and provided the client with feedback using ASML Driver Simulator as well as weather-based sensor response.
Business needs & goals!
High level goal of the client was to develop a software for the new generation of the machines used for lithography of the electronic boards.
iteo team’s job was to create a robotic arm functionality along with the tests, allowing photoresists transfer between different places in the vacuum chamber.
It was important to create a software that will be extensible in the future and support backward compatibility with currently operating machines.
A controller enables performing photoresists’ transfer using a robot created on the basis of the previous version. It allows:
- Easier addition and edition of performed scenarios considering the type of machine
- Operating a robot with any number of arms
- Support for a new sensor used to measure the photoresist’s position
- Simple expansion with new sensors/actuators in the future
Using C++ language in the 11/14 version
Main innovation was using C++ language in the 11/14 version. In comparison to the older C language solution, it allowed us to use the design patterns to create a universal architecture easy to expand. Additionally, using C++ enabled good code coverage with tests which will result in a more stable solution in the future.
Challenges & solutions
Chief challenge was creating an “engine” which would enable both easy addition of new scenarios as well as performance of already existing ones (from the previous version of the controller).
To achieve it, we maintained the structure, i.e. each scenario consisted of a specific number of steps and substeps – substeps being an elementary operation. Apart from that, the solution had to be compatible with the rest of the large system. We achieved that by analyzing existing interfaces and implementing only the indispensable changes which allowed minimizing the need of alteration in other modules.
The client will be able to adapt the controller to future versions of the machine for a larger number of arms and new sensors. The high level architecture of the software has been prepared and documented.
iteo has come up with ideas and implementation of the generic which made it easily extensible meeting the client’s needs. We used a modern development toolset (Git, Jenkins) applied in the client’s project for the first time.