WebJack
activity:webjack

## 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](http://publiclab.org/tag/webjack). ![webjack-circuit](/system/images/photos/000/023/509/original/IMG_20180207_135242.jpg) ## Activities This is a list of community-generated guides for specific applications and the development of WebJack. These [activities can be categorized](https://publiclab.org/wiki/activity-categories), 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:webjack] **** ## Frequently Asked Questions Ask a question about WebJack [notes:question:webjack] **** [![IMG_0138_web.JPG](//i.publiclab.org/system/images/photos/000/017/089/large/IMG_0138_web.JPG)](//i.publiclab.org/system/images/photos/000/017/089/original/IMG_0138_web.JPG) WebJack is an open source client-side JavaScript library that acts as audio modem. It is built for use with [SoftModem](https://github.com/arms22/SoftModem), the Arduino-side code. For example, with WebJack you can transmit: * data as text * binary data * Firmata RPC messages *** ## Challenges 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 [questions:webjack-challenge] **** ## Build a data link with WebJack Instructions on the circuit and software needed for WebJack can be found here: https://publiclab.org/notes/rmeister/07-18-2016/webjack-testers-needed ### Demo WebJack applications - [Using Firmata with WebJack as transport](https://publiclab.github.io/webjack-firmata/example): - [WebJack demo website](https://publiclab.github.io/webjack/examples) ###Notes: - For more information about WebJack, post a question to the "dev" mailing list [here](https://groups.google.com/group/plots-dev)) (also listed in the left sidebar) - The github repo of WebJack is [here](https://github.com/publiclab/webjack) ...


Author Comment Last activity Moderation
donblair "Yes, exactly! That's what I finally came around to this morning :) That's the proper level of abstraction here; there are various clever schemes f..." | Read more » almost 8 years ago
warren "So if error detection is set to on, it pipes it through the error correction module before sending it to the encoder. " | Read more » almost 8 years ago
warren "Crap, I thought I posted this comment but didn't, late last night; hopefully still helpful: I think forward error correction could be done on top ..." | Read more » almost 8 years ago
donblair "Update: actually, nevermind :) I've read more about error detection codes, and I'm learning that there might be better / easier ways of implement..." | Read more » almost 8 years ago
donblair "This is so fun!. I've been starting to reproduce the Matlab code in a Jupyter notebook, in order to understand the algorithm ... it's still a mess..." | Read more » almost 8 years ago
donblair "This is a fantastic and very clear explanation. Thanks so much for all the work and thought that went into this! In the end, did you decide to mo..." | Read more » almost 8 years ago
warren "From my laptop to a neighboring desktop, with the volume turned up. It worked better when I held it up to the microphone a bit. " | Read more » almost 8 years ago
warren "OMG that totally worked!!! Over open air too -- no cable! " | Read more » almost 8 years ago
warren "Don, could you open a PR of your graph example page so we can include it in the WebJack demos? PUHLEEEEEEZZEEEEEEE?????? " | Read more » almost 8 years ago
warren "That is the coolest. Here's the video embedded! I wonder if we could read the data off the audio track of the video... " | Read more » almost 8 years ago
rmeister "@donblair - Thanks Don, that demo looks awesome! Happy to see that WebJack is in use :) I gladly try to answer questions if there are any issues w..." | Read more » almost 8 years ago
donblair "@rmeister -- WebJack is a lovely piece of work! I connected a thermistor to a Pro Mini, used the voltage divider and capacitor setup recommended a..." | Read more » almost 8 years ago
warren "That makes sense. I hadn't been able to find a pinout for the Chromebook, but i'll order that and try it out. " | Read more » almost 8 years ago
rmeister "According to the first review on Amazon the pinout of the cable is (from tip to sleeve): Left (white) Right (red) Video (yellow) Ground But as..." | Read more » almost 8 years ago
warren "Odd -- the microphone seems to have been running along with the input. " | Read more » almost 8 years ago
warren " My_recording__1.wav " | Read more » almost 8 years ago
warren "Here's a good resource on many plug standards: http://connector.pinoutsguide.com/4_pin_3.5mm_2.5mm_plug/ But it seems that tip and ring 1 are usua..." | Read more » almost 8 years ago
warren "Hmm, i received the two cables I mentioned, but it wasn't recognized as a microphone when I connected them, either in Red-Yellow/Yellow-Red or Whit..." | Read more » almost 8 years ago
rmeister "Right, that should be inlcuded in the readme. Yes, echoCancellation is disabled at quiet.js: https://github.com/quiet/quiet-js/blob/master/quiet.j..." | Read more » almost 8 years ago
warren "Ok! Would it be possible to mention this stuff in the readme? Have you had a look at quiet.js? Do you think they disable echoCancellation? Thanks! " | Read more » almost 8 years ago
rmeister "Sure, but anything above 7kHz will need disabling echoCancellation. gh-pages is currently set up with 2450 and 4900 Hz, echoCancellation active. F..." | Read more » almost 8 years ago
warren "Ugh, sorry -- i posted my Leonardo test in the wrong place -- here: https://publiclab.org/notes/rmeister/07-18-2016/webjack-test-without-arduino#c1..." | Read more » almost 8 years ago
warren "Wait, though -- can we change frequencies in JavaScript instead of SoftModem.h? Much easier, no? https://github.com/publiclab/webjack/issues/26 " | Read more » almost 8 years ago
warren "Ugh, oops. I'll move the comment -- had to use someone else's computer which has a non-combined headphone/mic port, so I was hurried logging in and..." | Read more » almost 8 years ago