# Serial Communications in Ignition with Arduino

**URL:** <https://forum.inductiveautomation.com/t/serial-communications-in-ignition-with-arduino/14136>\
**Category:** Ignition\
**Created:** [April 25, 2017, 2:47pm UTC](https://forum.inductiveautomation.com/t/serial-communications-in-ignition-with-arduino/14136 "2017-04-25T14:47:08Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nmudge](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nmudge/32/3394_2.png) [@nmudge](https://forum.inductiveautomation.com/u/nmudge)\
**Post date:** [April 25, 2017, 2:47pm UTC](https://forum.inductiveautomation.com/t/serial-communications-in-ignition-with-arduino/14136/1 "2017-04-25T14:47:08Z")

</div>

Here is a new blog post that shows an example of using the Serial Support Client Module to communicate to a serial device in Ignition: [http://blog.perfectabstractions.com/2017/03/29/serial-communications-in-ignition-with-arduino/](http://blog.perfectabstractions.com/2017/03/29/serial-communications-in-ignition-with-arduino/)

---

<div class="post-metadata">

**Author:** ![guido.atilano](https://avatars.discourse-cdn.com/v4/letter/g/8c91f0/32.png) [@guido.atilano](https://forum.inductiveautomation.com/u/guido.atilano)\
**Post date:** [March 5, 2018, 12:52am UTC](https://forum.inductiveautomation.com/t/serial-communications-in-ignition-with-arduino/14136/2 "2018-03-05T00:52:17Z")

</div>

Good night. I have this error:

Traceback (most recent call last):  
File “event:propertyChange”, line 3, in   
File “module:project.serial”, line 25, in updateSerialTag  
File “module:project.serial”, line 25, in updateSerialTag  
File “module:project.serial”, line 7, in openSerialPort  
File “module:project.serial”, line 7, in openSerialPort  
AttributeError: ‘com.inductiveautomation.ignition.common.script.Imm’ object has no attribute ‘serial’

```
at org.python.core.Py.AttributeError(Py.java:173)
at org.python.core.PyObject.noAttributeError(PyObject.java:930)
at org.python.core.PyObject. __getattr__ (PyObject.java:925)
at org.python.pycode._pyx1.openSerialPort$1(<module:project.serial>:11)
at org.python.pycode._pyx1.call_function(<module:project.serial>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyBaseCode.call(PyBaseCode.java:149)
at org.python.core.PyFunction. __call__ (PyFunction.java:327)
at org.python.pycode._pyx1.updateSerialTag$3(<module:project.serial>:29)
at org.python.pycode._pyx1.call_function(<module:project.serial>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyBaseCode.call(PyBaseCode.java:166)
at org.python.core.PyFunction. __call__ (PyFunction.java:338)
at org.python.pycode._pyx0.f$0(<event:propertyChange>:3)
at org.python.pycode._pyx0.call_function(<event:propertyChange>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1275)
at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:634)
at com.inductiveautomation.factorypmi.application.binding.action.ActionAdapter.runActions(ActionAdapter.java:180)
at com.inductiveautomation.factorypmi.application.binding.action.ActionAdapter.access$000(ActionAdapter.java:40)
at com.inductiveautomation.factorypmi.application.binding.action.ActionAdapter$ActionRunner.run(ActionAdapter.java:286)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

```

Ignition v7.9.6 (b2018012914)  
Java: Oracle Corporation 1.8.0\_111

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 5, 2018, 1:31pm UTC](https://forum.inductiveautomation.com/t/serial-communications-in-ignition-with-arduino/14136/3 "2018-03-05T13:31:44Z")

</div>

That generally means the module isn’t installed…

---

<div class="post-metadata">

**Author:** ![guido.atilano](https://avatars.discourse-cdn.com/v4/letter/g/8c91f0/32.png) [@guido.atilano](https://forum.inductiveautomation.com/u/guido.atilano)\
**Post date:** [March 5, 2018, 10:55pm UTC](https://forum.inductiveautomation.com/t/serial-communications-in-ignition-with-arduino/14136/5 "2018-03-05T22:55:31Z")

</div>

thanks my friend, it served me a lot
