So it’s been about 90 degrees in Brockport, and we have had to resort to closing up the house and turning on the AC. I don’t like setting the thermostat too low, and keep it between 74 and 76; however this is apparently too cold for Gimli:
Elemental diagrams
This tweet came through my feed today:
Twitter user @MeijaJuris noted that this image is a bit out of date, given that nihonium (element 113, Nh) shares its abbreviation with New Hampshire. I wanted to see how to use Mathematica to update the diagram.
Continue readingFeAtHEr-Cm gamma tests
I received the PCBs for the gamma (3rd) version of the FeAtHEr-Cm potentiostat. I really like how this one comes together. Complete with 2 20kohm pots for adjusting virtual ground and iR compensation plus the passives all fit in a single 14-pin socket which allows students to explore how changing these components can influence the performance of the instrument (and to hack it to do things it’s not intended to do). Plus, it’s got buttons! This is the version that students will see this fall.
Signal processing with Mathematica
I’ve been working on some instrument design projects and have hit a brick wall of sorts. My prototypes are riddled with noise, most likely 60 hz. My thought here was to learn a bit more about signal processing to (a) see if I can get a better understanding of what’s going on and (b) see if this is a possible project for students.
So the setup is as follows. I’ve got an Arduino microcontroller that does one of two things, it either reads the signal from a noisy light detector (in this case, an LED connected to an op amp in a current-to-voltage configuration) or – for debugging purposes – outputs a fixed signal frequency by printing $A0 + A cos(2 Pi f millis()/1000)$ where $A0$ and $A$ are amplitude offset and signal amplitude, respectively, $f$ is the frequency and since millis()
returns a value in milliseconds, it is divided by 1000. To enact a sampling rate, I set a delay(dt)
in the loop routine where dt
is the delay time in milliseconds.
On the *Mathematica* side, it’s pretty easy to read the serial data from the Arduino with d = DeviceOpen["Serial", {<port>, "BaudRate"-><baudrate>}]
with replacing <port>
and <baudrate>
with your values. The code below is a tad clunky, but works well at grabbing data and converting it into a format that Mathematica wants.
FeAtHEr-Cm update
Previously, I announced my latest project in The start of FeAtHEr-Cm. Over the past several weeks, I’ve been iterating through the potentiostat design and I think I’m at a point that the design will stay more or less in place, allowing me to shift my focus to documentation, instrument use and lesson plans.
I’ve also spent some time building a website that contains the documentation for building the instrument, writing code and using the potentiostat in an educational setting. Rather than re-write all of that information here, head on over to this page for a summary of what’s been done and what’s in the pipeline.