3D graphs to 3D Printable STL with OpenJSCAD

The Background: After the AP exam my calculus class did random calculus projects. I did mine on the accuracy of a Taylor Series. The accuracy of a Taylor series at a given point depends on two factors, the number of terms calculated in that Taylor series and how far away that point is from the center of the Taylor series. I wanted to see how the error was affected by both the number of terms in the Taylor series and the distance away from the center point however, visualizing both is impossible with a 2D graph. So I settled on making a 3D graph. The problem is that 3D graphs are still hard to visualize on a 2D screen so I decided to 3D print these graphs.

The Problem: After doing some research I could not find free software that could make STL files from a 3D graph. There are ways to make STL files from 3D graphs using Mathmatica and MATLAB however both of these are expensive. This software form townmath almost works however it is impossible to type in exact values for the x and y ra…

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.