Time to look up!

Our first assignment was to GTFOutside and find something in the night sky. I had big plans to use my larger camera and long exposures over the weekend but alas I was struck with a terrible fever and going outside became a very bad idea.

So I resorted to ‘taking a quick snap’ with my phone on the only clear night that was left to me. The first trouble was of course finding something in the sky. With NYC’s light pollution and tall buildings everywhere it was tough to see more than one or two faint spots. The second trouble was when my phone told me to move back to improve focus, which was dumb; how can I move back from the sky?

There’s something there…

With the help of an app called “Sky Map” I an relatively confident the object I found is Vega. This is an overlay of what SKy Map showed me at the same angle:

Original faint spot circled in red.

It’s not a far stretch to imagine that Sky Map was off by a little and the spot we’re looking at is Lyrae and Vega.

A quick google search revealed Vega to be the second brightest star in the northern hemisphere. Since it was one of the few that I could actually see, this fact helps corroborate my assumption.

Vega has been extensively studied and we know a lot about it:

Right ascension  18h 36m 56.33635s[4]
Declination +38° 47′ 01.2802″[4]
Apparent magnitude (V) +0.026[5] (−0.02…+0.07[6])
Evolutionary stage Main sequence
Spectral type A0 Va[7]
U−B color index 0.00[8]
B−V color index 0.00[8]
Variable type Delta Scuti[6]
Radial velocity (Rv)−13.9 ± 0.9[9] km/s
Proper motion (μ) RA: 200.94[4] mas/yr
Dec.: 286.23[4] mas/yr
Parallax (π)130.23 ± 0.36[4] mas
Distance25.04 ± 0.07 ly
(7.68 ± 0.02 pc)
Absolute magnitude (MV)+0.582[10]
Mass2.135 ± 0.074[11] M
Radius2.362 × 2.818[11] R
Luminosity40.12 ± 0.45[11] L
Surface gravity (log g)4.1 ± 0.1[12] cgs
Temperature9,602 ± 180
(8,152–10,060 K)K
Metallicity [Fe/H]−0.5[13] dex
Rotational velocity (v sin i)20.48 ± 0.11[11] km/s
Age455 ± 13[11] Myr

Table from Wikipedia

Introduction to Blender 2.8: Building a Spaceship

At the beginning of 2019, to try familiarise myself with Blender 2.8, I started a 100 Days of Making project, on the theme of spaceships. On one day I modelled a spaceship, the next I animated it.

In an attempt to share what I’ve learned, I’m running a workshop at ITP Camp centered around learning Blender by building a spaceship. The workshop is only 3 hours, so it certainly doesn’t cover everything there is to know, but hopefully it’ll give you a good jump start to your 3D modelling journey!

Continue reading “Introduction to Blender 2.8: Building a Spaceship”

100 Days of Spaceships (Completed!)

Partially as part of a class and partially for my own development/amusement, at the beginning of 2019 I embarked on a ‘100 Days of Making’ challenge. The journey is to make something new along a theme every day,.

I chose spaceships. One day I created a new 3d model of a spaceship in Blender 2.8, the next I animated it.

A Video Compilation of All 100 Days:

Final Presentation with some musings about the process.

24 Hour Responsive Reading Lamp (Behaviour)

This post is a follow-up to the fabrication post about the same project. Still a work in progress.


Lamp: Mkr1000 + Hue + Neopixels

The lamp is a combination of a Mkr1000, Neopixels, and Philips Hue. The Mkr1000 acts as a server, listening for http requests from the user-interfacing web-client, requesting time data from the WiFi router, and sending http requests to the Hue Bridge.

User Interface

Very bare bones at the moment, the web interface allows for users to select various functions for the light (for example, Candle Mode or Timing Mode).

The interface is made in p5.js. Once a button is clicked an http requests is formed and sent. I was having trouble/errors with the response, so the sketch ignores any responses.

Code Overview



Problems encountered

Epoch value and timer

The only timelapse documentation I have at the moment of the lamp is quite glitchy; for a while I could not determine what the problem was.

It turns out for some reason the ‘get epoch’ function from the WiFiRTC example was intermittently returning zero. I modified the code to continue requesting epoch forever:

Get Epoch
if (numberOfTries >= maxTries) {
    Serial.print("NTP unreachable!! Trying again");
    while (epoch == 0) {
      epoch = WiFi.getTime();
      Serial.println("Trying to get epoch");


24 Hour Responsive Light (Fabrication)

Similar to original Long Distance Reading Lamp, this bedside light is intended in its final form to connect people over distances. For this first iteration, however, my goal is to create a solid 24hr response cycle – a ‘default’ state, so that the lamp can work well as a standalone bedside light.

After experimenting with a few form factors (I really wanted to make a nice cylinder, inspired by Casper’s Glow Light), given the time constraints of this assignment (and the wallet-constraints of being a student), I settled on a cheap ($9), off the shelf diffuser. This allows me to focus more time on the interaction and progression, and less on fabrication and (potentially expensive) materials.

Hacking the light fixture to accommodate my extra circuitry wasn’t too complex, though I took care to make sure that the AC circuit was safe.

An underwriter’s knot helps provide strain relief.
Carefully soldered into the base of the socket, with as little wire exposed as possible.