UDP Input Shows Periodic Spikes Only When TouchDesigner Timeline Is Playing

Hi folks - Basic Arduino question I think:

I’m receiving UDP data from an Arduino into TouchDesigner. The Arduino side looks solid: I have a graph running that shows a perfectly clean signal from a potentiometer. In TouchDesigner, if the timeline is stopped, the incoming CHOP values are also perfectly clean.

The issue appears the moment I start the TouchDesigner timeline. About every 6–7 seconds, the value in the UDP In CHOP jumps briefly to the maximum possible value before returning to normal. It doesn’t matter what the actual input value is—these spikes happen at regular intervals as long as the playhead is running.

On the Arduino, the sketch includes the following libraries:

SPI.h, Ethernet2.h, EthernetUDP.h, and EEPROM.h. The board reads a potentiometer, formats the reading, and sends it out via UDP.

Has anyone seen behavior like this—clean UDP data when paused, but periodic spikes when the timeline is playing? Could this be related to TouchDesigner’s cook timing, the network thread, or something else in the pipeline? Any guidance on what to check next would be appreciated.

Hi @chr_ga,

thanks for reporting this.

  • are you using a OSC In CHOP or the UDP In DAT?
  • can you replicate it by sending data from another TouchDesigner process instead from the Arduino?
  • if you reference the In operator with a Info CHOP, is there any interesting data that might help us understand the issue further?
  • also can you let us know what TouchDesigner build you are using?

cheers
Markus

Hi Markus - thanks the reply.

UDP IN Dat - 2025. 31760

I think I found it - when I do “maximum lines 1” in UDP In Dat the trail chop it is clean. I had it set to the default 10 and I there was wonky values showing at times - it’s gone now

Hi @wav-user,

happy to hear that the issue is gone, although the strange values when recording 10 or more lines is strange.
It sounds like you are converting straight from DAT to CHOP? Might be better to write out values via the onReceive callback to a Constant CHOP or something - this might also reveal if there is strange data coming across…

cheers
Markus

Yes I’m writing directly from DAT to CHOP and the issue is gone when I first write it into a constant CHOP. Thanks - will do that!

Although the”1 Line Method” also seems to work