This application note shows how to write an Inter Integrated Circuit bus driver (I²C) for the Philips P90CL301 micro-controller. It is not only an example of writing a driver, but it also includes a set of application interface software routines to quickly implement a complete I²C multi-master system application. For specific applications the user will have to make minimal changes in the driver program. Using the driver means linking modules to your application software and including a header-file into the application source programs. A small example program of how to use the driver is listed. The driver supports i.a. polled or interrupt driven message handling, slave message transfers and multi-master system applications. Furthermore, it is made suitable for use in conjunction with real time operating systems, like pSOS+.