I am trying to exclude a specific promo code from receiving free shipping. The free shipping is also a shopping cart rule.
First, you need to ensure the priority of each rule is set appropriately (this should be under the first tab or section when editing the rules). Make sure the free shipping rule has a very low priority. Higher numbers are lower priority (eg 2 is lower priority than 1). 0 would be the highest priority (and happens to be the default priority)
Next, under the "Actions" tab/section, check the box for "stop processing other rules" (in M2 it is called " Discard subsequent rules") on the promo that you don't want to allow free shipping on. This will cause Magento to stop checking rules for matches if it matches on that promo.