Public Lab Wiki documentation


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

Purpose Category Status Author Time Difficulty Replications
WebJack: Testers needed! build - @rmeister - - 0 replications: Try it »
Visualize live sensor data with p5js and an Arduino - - @warren - - 0 replications: Try it »
Serial communication via headphone jack dev - @rmeister - - 0 replications: Try it »
WebJack progress dev - @rmeister - - 0 replications: Try it »
WebJack: Test without Arduino build - @rmeister - - 0 replications: Try it »

Add an activity  or request an activity

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

Title Author Updated Likes
May i know more about how exactly this will this work? @jradheshyam96 3 months ago
Can we use WebJack as a JavaScript - Serial bridge? @warren about 1 year ago

Ask a question  or help answer future questions


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

Title Author Updated Likes
Can we use WebJack as a JavaScript - Serial bridge? @warren about 1 year ago

Ask a question  or help answer future questions

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

Public Lab is open for anyone and will always be free. By signing up you'll joined a diverse group of community researchers and tapped into a lot of grassroots expertise.

Sign up