raise a TypeError when trying to write unicode instead of bytes
diff --git a/serial/serialutil.py b/serial/serialutil.py
index d0a196e..1ccfabb 100644
--- a/serial/serialutil.py
+++ b/serial/serialutil.py
@@ -21,6 +21,11 @@
     class memoryview(object):
         pass
 
+try:
+    unicode
+except (NameError, AttributeError):
+    unicode = str       # for Python 3
+
 
 # "for byte in data" fails for python3 as it returns ints instead of bytes
 def iterbytes(b):
@@ -47,6 +52,8 @@
         return bytes(seq)
     elif isinstance(seq, memoryview):
         return seq.tobytes()
+    elif isinstance(seq, unicode):
+        raise TypeError('unicode strings are not supported, please encode to bytes: %r' % (seq,))
     else:
         b = bytearray()
         for item in seq: