embedded software which runs on a device such as a camera/lens, phone, or computer