The division between the Data Science & "Internet of Things" (IoT) section and the Applied Physics section in here is pretty artificial; there's plenty of overlap. I suppose this section leans more toward "tools" (whether hardware, software, or mathematical) while the projects in the Physics section are more about the application or particular physics problem being solved.


JUPYTER/PYTHON ON A RASPBERRY PI ZERO WITH SENSOR ATTACHMENT

EnviroPHATThe tiny version of the Raspberry Pi computer, the Pi Zero, is barely larger than a stick of gum yet is a full Linux-based computer. It's a bit less powerful than the larger Pi 2 & 3 models, but it uses much less power than they do allowing realistic battery implementation, while still being able to use the same "Hat" add-ons. So it's a great field sensor platform for some applications. Here I experiment with a simple canned sensor Hat made by Pimoroni, the "Enviro pHat", and running a Jupyter server on the Pi Zero to analyze/view the sensor data in a web-based Python notebook.



MULTI-PHASE LINEAR REGRESSION
Code to fit multiple co-joined straight lines to a set of data points. Note the popular name (above, or sometimes "segmented linear regression") for this topic may be a bit misleading, as this is in fact a nonlinear regression problem due to solving for the intersection points of the co-joined lines.
fig 1: example plot




PREDICTIVE FILTERS COMPARISON
A classic textbook for predictive (tracking) filters is Applied Optimal Estimation, edited by Gelb (1974). In section 6.1 of that book are two simple radar tracking examples (6.1-2 and 6.1-3) which demonstrate several nonlinear filters. I've programmed up those examples into a Matlab script and added a few additional filters to compare and contrast them in both linear and nonlinear cases.





InvGN: GAUSS-NEWTON NONLINEAR INVERSION CODE
InvGNCalculate Tikhonov-regularized, Gauss-Newton nonlinear iterated inversion to solve the damped nonlinear least squares problem, using the InvGN toolkit for Matlab/Octave. While Matlab's optimization toolbox contains lsqnonlin, it does not inherently include the Tikhonov regularization and is only the optimization component, whereas inversion also requires uncertainty quantification. My InvGN package is for weakly nonlinear, Tikhonov-regularized, inverse problems (so includes solution uncertainties and resolution quantification), handles both frequentist and Bayesian frameworks, and also works in Octave.



MINISIM SIMULATION CLIENT GUI
Click this screenshot to start the Java appletI wasn't quite sure where in this website to stick this project honestly, so it's here. It's not really physics or data science, more GUI programming, but what the heck...