The NTK widgets are easy-to-use components that process information. You connect them together so that data flows from one to the next. Widgets allow you to see the data they are processing, and make adjustments to how that data is processed, all while the project is running live with real inputs and outputs.


  • AnalogIn
  • Read a sensor value from an analog input
  • AnalogOut
  • Set the level of a PWM digital output
  • DigitalIn
  • Read a sensor value from a digital input
  • DigitalOut
  • Set a digital output to HIGH or LOW
  • Servo
  • Set the position of a servo


  • CloudIn
  • Get data periodically from a cloud service
  • CloudOut
  • Send data periodically to a cloud service
  • OscIn
  • Read a value from an OSC input
  • OscOut
  • Read a value from an OSC input
  • Webhook
  • Sends a webhook URL to a cloud service


  • Audio
  • Control audio play/pause, volume, speed
  • Image
  • Control image X and Y position, Opacity, Width
  • Text
  • Display text - control X, Y, Opacity
  • Video
  • Control video play/pause, speed, and time position

User Interface

  • Button
  • Generate data from on-screen button
  • HTML
  • Place custom HTML on the display and manipulate it
  • Keyboard
  • Responds to keys pressed on the keyboard
  • Knob
  • Generate data from on-screen knob


  • Data
  • Output text or numeric data in a sequence
  • Pulse
  • Periodically output fixed or random values
  • Sequence
  • Outputs a sequence of values transitioning from one number to another
  • SpeechIn
  • Recognize audio speech and turn it into text
  • SpeechOut
  • Synthesize audio speech from text input
  • Tween
  • Outputs a stream of values transitioning from one number to another


  • Boolean
  • Evaluate up to four inputs and determine if any or all have a high value.
  • Code
  • Add custom Javascript with four inputs and four outputs
  • Count
  • Count the number of times an input value rises above the threshold
  • Gate
  • Use input to decide when other inputs pass through the widget
  • IfThen
  • Compare input to a number or text to decide what to output
  • Mix
  • Mix up to four inputs into a single output
  • Process
  • Invert, smooth, or add easing
  • Splitter
  • Split input values into four outputs
NETLabTK - Tangible IoT