It sounds like you have an intake vacuum leak.
Unmetered air leaks allow excess air into the engine and cause the fuel/air mixture to go out of alignment and cause idle fluctuation like you are experiencing. They would also set the fault code you have.
To check for vacuum leaks, visually inspect the intake area for any cracked hoses/pipes. If you can't see anything, you can try this trick: spray a can of carb cleaner around the intake with the engine idling. If the idle changes, this indicates that the cleaner is entering the engine and you have localized the area of the leak. You can then inspect further.
Most common source of air leaks is from the rubber intake tubes between the airbox, and the throttle.
Another common issue that causes this problem is a failed crankcase vent valve. This is located under the intake, in front of the throttle body. This valve regulates a vacuum on the crankcase, when they fail, a high vacuum is put on the crankcase - giving an unmeterd air leak. You can check for this by removing the oil cap with the engine running, if the engine stalls, or idle dips a lot, and there is a high vacuum holding the oil cap down, then this valve has failed.
If there are no vacuum leaks and the crankcase vent valve is fine, then it is likely a bad mass airflow sensor, or related to the supercharger.
I hope that is helpful, please let me know if you have further questions, or if I can clarify anything for you.
It has been my pleasure to help today and I wish you the best of luck with the vehicle.