Low Latency USB Webcam Streaming from a Raspberry Pi to a Computer

For a robotics project that I am doing I need to create a low latency webcam stream from our robot. I wanted to use a Raspberry Pi and a USB webcam (a Microsoft LiveCam). I googled around for a while and found lots of tutorials to stream with the Raspberry Pi Camera but only a few that were to stream a USB webcam.  Finally I found this tutorial which worked once I adapted it for my webcam and home network. The latency barley noticeable! See this video to see the latency. I will summarize the tutorial with some modification for using a USB webcam instead of a screen capture. Note that you will have to replace the IP address with the IP address of you client computer (the computer which is viewing the stream).

First install gstreamer on the PI
sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-good
Then install gstreamer on the client computer. Go to the gstreamer website to find out how to download it for your OS:

Once gstreamer is…

My 2017 Summer Internship at CERN

After an exciting and rewarding summer interning for Adriaan Rijllart at the European Organization for Nuclear Research (CERN) improving a model of the Large Hadron Collider (LHC) accelerator in 2017, this summer I followed up with a project for the actual working accelerator.

Before a research group at CERN using the LHC receives the beam of particles, they receive a series of electronic pulses which convey the current status of beam. These pulses are used to ensure that the scientific equipment is correctly set for the incoming beam of particles. I was tasked with writing software to simulate these pulses to make it possible to test the equipment when there is no incoming particle beam.

For this task, I used a National Instruments cRIO 9068 with Ni 9473 and 9403 modules. The 9473 acts as a digital output module, while the 9403 acts as a digital input module. The cRIO was also connected to a touch screen, so the software could be configured without a computer. The programming was done…

Summer 2016 Arduino Project

Similar to last summer my dad, Joel Fajans, asked me to write some simple arduino code for him. This code is designed to take two sets of for inputs and only output a signal if all these inputs match a user defined configuration. This code is designed to run on an arduino micro attached to a custom made circuit board.

Here is a link to the code :

Summer 2016 CERN internship.

During the summer of 2016 I had a two week internship at CERN. During those two weeks I improved a model accelerator (pictures and a video below). The model accelerator worked by having a steel ball run through two plastic tubes. At one point along these plastic tubes there is an electromagnet. When the ball enters the magnet, it passes over a light sensor which turns on the coil. When the ball reaches the center of the coil the magnet switches off. However, since the coil is high powered, to turn it on there is a capacitor bank which is being charged by a 30v power supply. When the ball passes through the coil, the capacitors release a pulse that powers the magnet. There is also a 5v power supply to power the rest of the electronics. During the first week I worked on the current accelerator mostly on the software side.  First, I familiarized myself with the code and improved its previously sub-par documentation. I noticed that when I turned the accelerator on, sometimes it did not fir…

10HZ to 60hz with Arduino

I am currently on Geneva, Switzerland and because my dad, Joel Fajans, works at CERN during the summer. I have been doing a few projects for him. A few days ago he asked me do code a 10HZ to 60HZ converter for the arduino for the camera his experiment is using. I needed to stop when the 10hz signal stopped and also needed to start within 10 microseconds of when the ardueno received the 10 HZ signal.
See the code on Github.

My Schools Maker Club Logo

Flynn Cooper designed our maker clubs logo a few months ago.However at the East bay mini maker fair I thought, Why does a 3D printing club have a 2D logo? So i fixes that using 123D design. Here is a link to the project.

MakerWare or Replicator G not Connecting to 3D printer.

One of the bain's of my 3d printing existence is when Makerware or replicator g does not connect to the replicator dual. So then you just replug it into a different usb port. Then you restart the Makerbot, still nothing. After that you, wondering whats going on, look back at you computer and realize that you still have makerware open if your trying to use rep g or vica-verca so the one that your not trying to use is "taking up" the usb port. To fix this problem just close both programs completely then just open the one that you want. Your done.