Hi, I'm Andy!

CS + HCI at Carnegie Mellon, open for collaboration.

What's going on:

5050 LED Strip Teardown

Repurposing an LED light strip controller and power supply

Tagged: LEDs , teardown , electronics | Date Published: February 20, 2021

Blink Detection Using Infrared Reflective Sensors

Preliminary experiments in focus tracking.

Tagged: infrared , Arduino , sensing , blinkdetection | Date Published: February 12, 2021

Calculating the expected value of the PA scratch offs

It's ok, all proceeds pay for the benefits of older residents of Pennsylvania

Tagged: lottery , wasteofmoney , probability | Date Published: February 04, 2021

Physical Word Length Calculator

Determine how much string you'll need to spell out a phrase

Tagged: calculator , p5js , cursive | Date Published: February 01, 2021

Detecting instantaneous frequency is hard

Major blockades to fast, effective BCI

Tagged: thoughts , bci , dsp , fft | Date Published: January 31, 2021

Touch Reactive LEDs

Electronic piano, anyone?

Tagged: hci , touchdetection , LED | Date Published: January 29, 2021

Oversampling vs. Averaging for Noise Reduction

Spoiler: always oversample.

Tagged: dsp , eeg | Date Published: January 24, 2021

Quantifying Interface Speeds

Comparing the information transfer rate of the keyboard, mouse, and other input devices.

Tagged: bci , hci , interfaces | Date Published: January 21, 2021

Trying out various peak detection techniques for the SSVEP

Garbage in, garbage out.

Tagged: ssvep , eeg , bci , dsp | Date Published: January 18, 2021

EEG fails in the prescence of household EMI

I am beginning to have doubts on the feasibility of everday BCIs...

Tagged: eeg , bci , emi , thoughts | Date Published: January 17, 2021

The first generation of handheld barcode scanners — with laser tubes

History of the LS1000 and MH290, and a demo of the 2nd!

Tagged: history , electronics | Date Published: January 14, 2021

New EEG Technique: Phase-rectified signal averaging

Basic method of aligning waves helps when averaging out noise from long time-series

Tagged: ssvep , bci , eeg , paperhighlight | Date Published: January 13, 2021

Preliminary 5W LED Tests

Projecting 5W of light onto a wall — DIY Projector

Tagged: projector , projectlog , LED | Date Published: January 06, 2021

Fresnel Lens

Making flat lenses using special surface ridging

Tagged: optics , lenses , projectlog | Date Published: January 05, 2021

Hello World for Brain-Computer Interfaces

Detecting alpha wave activity with EEG to predict whether my eyes are open or closed

Tagged: BCI , EEG | Date Published: December 31, 2020

Working with BrainFlow pt. 1

A new way to stream OpenBCI data to Python

Tagged: projectlog , EEG , Python | Date Published: December 30, 2020

Testing out some high power LEDs

Casting light on far away surfaces using 3W LEDs

Tagged: electronics , LED , projectlog , wallscreen | Date Published: December 28, 2020

Easy Button Hack Pt. 1

Learning about SD cards, transistor audio amps, Arduino sleep and interrupts

Tagged: projectlog , easybutton , arduino , microcontroller , audio | Date Published: December 24, 2020

Arduino Function Generator: Square Wave with Variable Duty Cycle

How to make a free, customizable square wave generator from a microcontroller you already have

Tagged: arduino , microcontrollers , testequipment , tutorial | Date Published: December 23, 2020

Improving noisy EEG data through single channel averaging

How to get rid of Gaussian noise using a single electrode's measurements

Tagged: bci , signalprocessing | Date Published: December 18, 2020

Coin vibration motors arrived!

Now I can do "haptic feedback"

Tagged: hardware , motor , haptic | Date Published: December 14, 2020

Playing sounds with an Arduino, speaker, and no amplifier

LM386 audio amplifier? I 'ardly know her!

Tagged: arduino , microcontroller , audio , hack | Date Published: December 13, 2020

Analog Electronics Basics: Scaling Voltage Rails

What to do when your circuit outputs ±5V but your ADC only takes 0-5V

Tagged: analog , electronics , opamps | Date Published: December 08, 2020

Photoplethysmography (PPG) Tutorial

A guide on how to pronounce the word, and how to implement it in Python

Tagged: tutorial , CV , heartrate | Date Published: December 07, 2020

Exploring USB-A breakout cables

The normal USB cable

Tagged: electronics | Date Published: December 04, 2020

Sledding on a table

We had no sled, but we did have an extra folding table

Tagged: life | Date Published: December 01, 2020

Myo3 Noise Specs

1.24µV of noise at 500,000x gain

Tagged: myo3 , projectlog | Date Published: November 29, 2020

Javascript Libraries

What do you mean everything is a global???

Tagged: webdev , javascript | Date Published: November 28, 2020

Teensy DAQ: ADC Oversampling on the Teensy 4.0 microcontroller

300 kSPS to 1 kSPS faster than you can say "free bits"

Tagged: hardware , microcontrollers , Teensy , ADC | Date Published: November 27, 2020

Myo3 initial tests

It's like they always say, the hard part's the software

Tagged: myo3 , projectlog , PCB | Date Published: November 26, 2020

Speed Check — Generating a list out of a range out of a len

Why does matplotlib set_data not take an iterable :(

Tagged: speedcheck , matplotlib | Date Published: November 25, 2020

Myo3 Assembly

Putting together the 3rd iteration of my EMG sensor

Tagged: projectlog , myo , PCB | Date Published: November 22, 2020

Histogram Equalization

Using all your dynamic range to make black and white images look sssickkk

Tagged: CV | Date Published: November 20, 2020

Creating panorama images manually, pt 2!

Better stitching by doing something really easy I just forgot to consider

Tagged: CV , OpenCV | Date Published: November 18, 2020

Creating panorama images manually

Experiments in holography

Tagged: CV , OpenCV | Date Published: November 17, 2020

Playstation Eye does not work for MacOS!

Mac doesn't play nice with weird USB webcams :(

Tagged: problems , hardware | Date Published: November 15, 2020

Spudging PCB Stencils for Beginners

How to lay out 50 components on a board really fast

Tagged: electronics , PCB , tutorial | Date Published: September 14, 2020

Privacy screen

Only cool kids can see this laptop!

Tagged: facerecognition , miniprojectlog | Date Published: September 09, 2020

Digital Holograms

Displaying 3D images on a 2D computer screen

Tagged: projectlog | Date Published: June 18, 2020

Speed Check (calling Python Built-in functions)

Calling str, type, etc. is free... right?

Tagged: speedcheck | Date Published: May 25, 2020

Variable resistance tests of Velostat/Linqstat

Testing the effects of bending, twisting, and touch on the conductive plastic Velostat.

Tagged: wearables , conductivefabric , velostat | Date Published: May 17, 2020

Speed Check

What's the fastest way to record a stream of strings in Python?

Tagged: projectlog , speedcheck | Date Published: May 10, 2020

Parts arrived for Altered Perceptions

How would you like to see the world from a new pair of eyes?

Tagged: projectlog , alteredperceptions | Date Published: November 13, 2019

Spin Tank Proof-of-Concept Test

A new configuration for some old kinds of armor

Tagged: projectlog , spintank | Date Published: August 20, 2019

Advanced addition and speedup of neural network evaluation

Linear functions and what it means for Neural Network acceleration

Tagged: projectlog , advancedaddition | Date Published: August 01, 2019

The miracle of brain-computer interfaces

How BCIs can give us more arms

Tagged: thoughts0 | Date Published: July 28, 2019

Simple arithmetic addition with neural networks

I have stumbled across a new way to add numbers.

Tagged: projectlog , advancedaddition , new | Date Published: July 17, 2019

The exploration of unexplorable search spaces

Any hard problem can be solved by randomly guessing — if you're good enough at guessing.

Tagged: thoughts0 | Date Published: June 30, 2019

First Post!


Tagged: stateoftheblog | Date Published: June 24, 2019