Internet Protocol version 6 (IPv6) improves on IPv4 by greatly increasing the number of available addresses and by enabling more efficient routing, simpler configuration, built-in IP security, better support for real-time data delivery, and other essential enhancements. Almost all of the transition mechanisms from IPv4 to IPv6 require the need for a host to run a dual stack: IPv4 and IPv6 together. This paper exposes the challenges an embedded system engineer designing an IP enabled device faces when implementing an IPv6 or Dual stack in terms of resources and performance.