Public Lab Wiki documentation


2 | 5 | | #13658

What Does It Do?

WebJack is a wired, bidirectional data link between the Arduino Uno and your phone, established via headphone jack. It uses two distinct frequencies for a modem-like serial transmission of data. WebJacks runs in the browser and its goal is to provide a way to read sensors without the burden to install native applications. Look for recent updates on Public Lab here.



This is a list of community-generated guides for specific applications and the development of WebJack. These activities can be categorized, and some may be more reproduced -- or reproducible -- than others. Try them out to build your skills, and help improve them by leaving comments. Together, we can repeat and refine the activities into experiments.

Activity grid

Activities should include a materials list, costs and a step-by-step guide to construction with photos. Learn what makes a good activity here.

Frequently Asked Questions

Ask a question about WebJack


WebJack is an open source client-side JavaScript library that acts as audio modem. It is built for use with SoftModem, the Arduino-side code. For example, with WebJack you can transmit:

  • data as text
  • binary data
  • Firmata RPC messages


We're working to refine and improve WebJack on a number of fronts; here, take a look at the leading challenges we're hoping to solve, and post your own.

Be sure to add:

  • constraints: expense, complexity
  • goals: performance, use cases

Build a data link with WebJack

Instructions on the circuit and software needed for WebJack can be found here:

Demo WebJack applications


  • For more information about WebJack, post a question to the "dev" mailing list here) (also listed in the left sidebar)
  • The github repo of WebJack is here