Time lapse camera using ArduCAM

My time lapse camera board.

My time lapse camera board.

Design files and code for this project can be found here: https://github.com/millerlp/Time_lapse_arducam

The goal of this project was to build a cheap and power-efficient time lapse camera to monitor some of my experiments in the field. The camera would capture an JPEG image every 30 seconds and write it to a micro SD card, and be able to run off of AA batteries for a day or two at least. To accomplish this, I build an Arduino-like controller board that … Continue Reading

Arduino compile error: the filename, directory name, or volume label syntax is incorrect

GetFileAttributesEx D:\Arduino\libraries\SdFat/SdInfo.h
D:\Arduino\libraries\SdFat/SdSpi.h: The filename, directory name,
or volume label syntax is incorrect.
The error message above started cropping up shortly after I upgraded to Arduino 1.6.8 on Windows 7 x64. The cause seems to be due to some folder becoming locked in the Arduino compile pathway. One solution seems to be to close the Arduino software, restart it, and attempt to compile again. The program will compile ONCE, and then lock up and fail on a second compile attempt.

This Arduino forum thread recounts the same error: https://forum.arduino.cc/index.php?topic=366757.0

Another workaround seems to be switching the board … Continue Reading

Is live-tweeting meetings losing steam? #scicomm

As I write this in early 2016, sitting in the armpit of Silicon Valley (San Jose is, undeniably based on geography, the armpit of the south San Francisco Bay), we are beginning to witness the first signs of a contraction of the exuberant venture capital markets that have fueled utterly silly tech startup company valuations for the past few years. Twitter is one of the earlier startup darlings that has managed to decline in terms of share price as user base growth slows.

Now I’m beginning to wonder if we’re seeing a similar stagnation in adoption of Twitter as a … Continue Reading

Building a simple tide clock

Myself and Jeremy Long recently had a paper published in PeerJ (open access, free to read) describing the use of an Arduino microcontroller to predict tides and regulate the water levels in aquaria in synchrony with the natural tides. You can read more about that tide controller system here and further variations here.

As part of the process of putting a poster together on the Tide Height Controller project for a meeting of the Western Society of Naturalists, I whipped up a simple little 3-piece tide clock that shows a live display of the tide for … Continue Reading

Controlling tide height in lab aquaria

A few years back I posted about a set of Arduino libraries I wrote to allow an Arduino with an attached clock to predict the tides for a coastal site. In that post, I showed a variation on the theme that had a motor-driven rack that transited up and down in time with the tide.

Now Jeremy Long and I have published an open access paper in the journal PeerJ (external link) describing our use of that tide-predicting-motorized-rack, which we called the Tide Height Control system. We used the THC system to recreate real tide … Continue Reading

Using knitr and R to make instructor/student handout versions

I teach some of my lab sections using R, and so I need to create lab handouts that include nicely formatted R commands and R output as an example for the students. These handouts will also include exercises where the students will be writing their own R code, or interpreting the results, or generating figures. For these exercises, it is useful to also have an instructor version of the handout so that I can recall what I was hoping to have the students do, and so that other instructors in the course have some clue as to what I might … Continue Reading

Adventures in course management software: Canvas

Course management software is universally garbage, but Canvas has managed to be better than most. Which is a lot like saying “This is the best tasting pile of dog poop I’ve found today.”

The ability to create online quizzes that have the answers entered for easy grading should make for a useful system, but today I discovered that the precision of the system tops out at the 4th decimal place, which tends to be problematic if I want students to calculate fairly small probabilities (what is the probability of flipping a coin 10 times and getting 10 heads in a row?). … Continue Reading

PCB silkscreen sizes

Recently I’ve been getting my printed circuit boards manufactured through OSH Park, and they make good quality (to my eye) boards at a decent price, with less than a 2-week turnaround time. They also take files directly from Eagle software, rather than having to produce gerber files (though this is also an option).

On a recent set of orders I played around with the silkscreen label sizing in my copy of Eagle 7.2. The OSH Park guidelines say that their minimum silkscreen line thickness is 5 mils (0.005 inches). This is the thickness of the lines that make up … Continue Reading

iButton internals

I’ve written in the past about iButtons and my attempts to waterproof them. Although iButton temperature dataloggers are fairly well sealed, they are not waterproof. But if you know an old person that used iButtons in the late 90s or early 2000s, they might claim that iButtons are absolutely waterproof.

It turns out that iButtons are one of those rare things in life that really were better when you were a kid. In the old days they could be put out in the ocean for weeks or months, completely bare, and most of them would survive just fine … Continue Reading

Basic text string functions in R

To get the length of a text string (i.e. the number of characters in the string):

 nchar()

Using length() would just give you the length of the vector containing the string, which will be 1 if the string is just a single string.

To get the position of a regular expression match(es) in a text string x:

pos = regexpr('pattern', x) # Returns position of 1st match in a string
pos = gregexpr('pattern', x) # Returns positions of every match in a string

To get the position of a regular expression match in a vector x of text strings … Continue Reading

Page 2 of 1112345...10...Last »