[ITP: Digital Fabrication] Multi-Dimensional Drawings in VectorWorks

The assignment was to choose an existing object and try to create a scale drawing of it, in multiple views, in Vectorworks. I have never used this software before and have very limited experience in CAD other than designing PCBs.

Process

Initially I chose this mini recycling bin. This is truly my most prized possession, my boyfriend got it for me and I use it to hold all my scissors, x-acto knives, and screw drivers. It also felt like an object that would be easy enough to draw but also had some curves and interesting shapes I could learn the software with.

Below is as far as I got with my Vectorworks drawing. Turns out the curves and weird shapes were too hard. I really couldn’t find good support online for learning this software or to draw what I wanted.

I ended up switching my object to my Circuit Playground Express. I didn’t want to go back to something I already had some experience with (drawing PCBs), I really wanted to learn something new, but time was running out and this seemed like something simple enough that I could measure and draw.

To complete this drawing, I used some calipers to measure specific components to get exact dimensions. I also followed some of Danny’s videos and did a lot of googling to navigate drawing in Vectorworks. Here are somethings I noted:

  • Combined shapes using “add surface”

  • Cut out the alligator clip holes using “clip surface”

  • Used the “DIN” dimensions, but it would be really nice if you could default to those each time!

I don’t really feel like I learned enough about using this software yet. I’m still looking out for some good beginner tutorials to familiarize myself! Also, not sure which CAD software to invest time in because there are so many to choose from and not sure what’s unique to each one. I know Phil really recommends Fusion 360…

Final Drawing

Questions

How to repeat something (copy/paste) around a circle?

How to get shapes consistently equidistant from each other?

Sometimes it is hard to move shapes small, precise amounts. How to do that?

How to make my page landscape orientation?

References

https://university.vectorworks.net/mod/scorm/player.php?scoid=24&cm=92&currentorg=articulate_rise

https://www.youtube.com/watch?v=R1Pz6u3oaeY

YouTube getting started series I still wanna check out (4 parts)

Danny’s Multiple view drawing video

Danny’s Dimensioning video

[ITP: Programming A2Z] Regular Expressions

DOM and ES6 Review

  • Arrow functions, “=>”, are a shorthand function notation in ES6

    • Works for anonymous functions which are unnamed

  • Switched from “var” to “let” in ES6 too

  • “this” refers to the current context of where you are in the code

  • Callback functions are synchronous only in JS

  • Promises are not supported in p5.js yet but you can use the fetch() function

    • There are three states: pending, fulfilled, and rejected

    • Fetch() handles asynchronous events using then() and catch() events

  • Made my own word interactor! Could do some interesting things with this in the future…

RegEx Notes

  • RegEx are inside \ ___\

  • meta-characters: “\d” = 0-9, “\w” = A-Z or a-z or 0-9, “\s” = whitespace, “.” = any character

    • Capital letter means opposite or NOT

  • Quantifiers: “*” = 0 or more, “+” = 1 or more, “?” = 0 or 1, “{min, max}” = range, “{n}”

  • Position: “^” = beginning of line, “$” = end of line, “\b” = word boundary

  • Character class [], OR

  • Capturing groups with ()

    • Group 0 is the full regular expression result

    • “$1” and “\1” (back reference) refers to group 1

  • JavaScript functions to use RegEx: test(), match(), exec(), split(), replace()

    • Use flags g = global to return every match to the RegEx or i = case insensitive matches

Assignment - MadLibs Generator

Here is my MadLibs generator and I followed this Coding Challenge.

So as I was following this challenge I saw that the Tabletop.js library is deprecated since 2020 so I transitioned to using something called Papa Parse 5 which converts CSV to JSON.

Here are some other important notes from following the challenge:

  • Need to “escape” the dollar signs in the RegEx because they are meta-characters

  • Whatever you return in the replacer function is what the expression results will be replaced with

  • Global flag!!

  • We kind of touched on this in class but entry.noun = entry[‘noun’]

Now that I’ve completed the MadLib generator, I’ve actually noticed that sometimes a MadLib is generated with all “undefined”’s. My gut instinct is that that would come from the first line of the .csv file but I think that’s accounted for in the Papa Parse declaration with “header: true”. Actually I just realized the “undefined”’s come when I try to generate a MadLib before the file is loaded! Duh!

Another question I have is I guess I am not sure how the "replacer” function really works. Like how does it know the part of speech that corresponds to the matched regular expression?

References

https://thecodingtrain.com/challenges/38-word-interactor

https://www.youtube.com/watch?v=7DG3kCDx53c&list=PLRqwX-V7Uu6YEypLuls7iidwHMdCM6o2w

https://www.papaparse.com/docs

[ITP: Thesis I] Inquiry Space

Initial Idea

Brainstorming

Mind map

Inquiry space

Inspiration List

[Kinetic sculpture, self portrait] Tim Hawkinson, Emoter

[Creative Tech, PCB sculpture] Kelly Heaton

[Creative Tech, Wearable] Sarah Petkus, She Bon

[Creative Tech, Open Source, Education] Twirling Tech Goddess

[Creative Tech, Education] Alice Stewart

[Creative Tech, Coding, Education] Sailor Hg, Fruit computers

[Creative Tech, Textile, Cultural] Electric Aruma, Sandra Deberduccy

[Electronics, Studio] Smooth Technology

[Electronics, Open Source, Company] SparkFun Electronics

[Electronics, Open Source] Open Source Hardware Association

[Coding, Education] Bubble Sort Zines

[Mechanics] 507 Mechanical Movements

[Illustration] Laura Callaghan

[Art, Illustration] Evan Lorenzen, @artandsuchevan

[Illustration, Sexuality] @kliuwong

[Illustration, Cultural] Lauren YS, @squid.licker

[Soft material, Cultural] @shishi.san

[Soft material, Sculpture] Audrey Montoya

[Soft material, Textile] Tessa Perlow

[Soft material, Studio] Pneuhaus

[Biodesign] Neri Oxman

She Bon, Sarah Petkus

Laura Callaghan illustration

Casulo by Sandra DeBedruccy

Grove by Pneuhaus

[ITP: Digital Fabrication] Project ideas

Initial Brainstorm

  • Can this project be something that is part of my thesis? Not sure what that is yet…

    • Something with a motor?

  • Mill a PCB? a brain circuit or PCB sculpture

    • Mylar? bending? enclosure is the thing!

  • Learn wood working

    • Make wood guy

    • Use the router or lathe

  • Re-do old projects, Lungs specifically

  • 3D modeling

    • A project to learn Blender with

    • Do something with my 3D scans?

  • Research digital fabrication on agar agar bioplastic

  • 3D print using platic bottle filament

Inspirations

Emoter, Tim Hawkinson

Printed Circuit Bird, Kelly Heaton

Nopales, by MORAKANA

Nopales

Furby Organ, @lookmumnocomputer

Transcendance, @digitalbeing, Taezoo Park

Ben Light’s Subtraction class and 507 Mechanical Movements

Personal Aesthetic

  • Haha hehe

  • Kitsch

  • Color, maximal

  • Silly, cute

  • Girly

Themes I’m Interested In

  • Self reflection

  • Identity exploration

  • Childhood memory

  • Feminine experience

  • Open source

Ideas

Make this wood guy

Pros:

  • Wood working

  • Learn to use the CNC router (my life long dream!)

  • New piece of furniture for my house

Cons:

  • Material cost $$$

PCB sculpture

Cons:

  • Many iterations needed

  • Feels like a cop-out

  • Don’t wanna

Pros:

  • Designed many PCBs, never made my own

  • Never made a PCB sculpture

  • Could add to my Thesis

  • Learn the Bantam Othermill (2-for-1)

Do something with my (botched) 3D scans of my loved ones

Cons:

  • For what?

  • Material cost? $$$?

Pros:

  • I could finally learn how to 3D print … Laguardia Studios anyone?!

  • I could learn to use Blender maybe?

  • Physical artifacts of people I love

References

Kelly Heaton Studio

Taezoo Park

[ITP: Programming A2Z] Constrained/Algorithmic Writing

Constrained Writing Techniques

Constrained writing is a technique in which the writer is bound by some condition that forbids certain things or imposes a patter. The image on the right defines some techniques we learned in class. On top of that we also covered, my personal favorite, the N+7 method developed by OULIPO in which the nouns in a poem are replaced with the noun appearing seven nouns away in the dictionary. There’s also the “cut up method” by William Burroughs, erasure poetry, and the “diastic technique” by Jackson Mac Low.

DOM (Document Object Model) Takeaways

  • Need to decide whether you want to work with HTML objects in the index.html file or the p5 version - no right answer really, different for each case

  • HTML elements hold a static state that you can change by calling one of their methods

  • p5 elements have a wrapper around an HTML element giving only simplified access to the element itself

  • You can create HTML elements within a p5 sketch using createElement() function

  • Other helpful functions: .class(), .id(), .removeElement(),

p5js and text Takeaways

  • Helpful functions

    • s.value(), s.indexOf(), s.substring()

    • s.split() = JavaScript native function that splits a string into items in an array at a delimiter “tokens”

    • p5: loadStrings(), drop()

Assignment

I found this really cool sci-fi short story on, well, … LinkedIn🤢. Indra’s Web, by Vandana Singh, is a story about Mahua and how she transformed the once-declining city of Ashapur into a prosperous, technological city by employing biophillic design and emergent AI. I thought it could be cool to physically try out some of these techniques on this story.

Cut up method

Alright, I am not a very good computer! I don’t know how many times I read the steps to the cut up method but I did it wrong in my first attempt. The third pic below shows how I first organized a column of the story and I realized it wasn’t all that random because I was just reversing the order of pieces of the same paragraph.

Uh oh I messed up

This is my new text created by using the cut up method

Some selected excerpts:

she had always fear with wide, frightened eyes

sometimes she lies before the screens

holds her hand, but at other her. “Look,” she said trying to tell Mahua something. Everything according to connections with a skill that come up with some

Mahua, was named by their abrupt pauses and she was born under some hidden significance. Two of them—mother that the ants followed invisible from their village in—that the world was full of up in the slums, where like the electric wires eleven, only three months above the tenements.

surrounded her, pulled her say, now looks at Mahua their arguments before can’t speak but she can last. “You know how to check peacefully while the protocols. Do that.”

Make sure try. There’s hope. Working and just wait

tree on the way to Delhi. The such a hurry, and whether grandmother—had migrated frantically waving antennae after her father died.

(Random) Erasure Poetry

I really loved the last paragraph of this story. I wasn’t sure how I wanted to choose what to erase and what not to and I also really liked the random nature of the cut up method, so I created a simple p5 sketch that generated a random number (1-7) which I used to decide what words to erase and which to keep. The results are below. In hindsight, I probably shouldn’t have erased randomly because the end result, though it may have started out good, has little meaning.

pre-erasure

post-erasure

Readings

Stephanie Dinkins Eyeo Talk

  • “Not the Only One” created in direct opposition to BINA48

  • Oral history of her family, memory as an act of resistance

  • Eight Aboriginal Ways of Learning

  • Building small datasets that are more representative of people

  • “An algorithm is something you feed historic information to predict something” - Cathy O’Neill

  • What do machine learning systems created by and for specific communities look like?

  • Meet the technology where it actually is without expectations or assumptions of perfection

  • Demand equity, accountability, transparency, and inclusivity from AI

Resources

Cut up method

Stephanie Dinkins Eyeo Talk

[ITP: ConnDev & SoftRob] Lungs IV

Ok, now we’re cookin’ with fire! This is a continuation of my previous blog post.

Fabrication

Stand

All my work this far has been flat and this ultimately needs to become an upright sculpture so I built a stand to hold the lungs and electronics in place. With some advice from the amazing Phil, I built a stand out of a 12x12x0.5 inch piece of ply wood, an 18 inch dowel, and 18 inches of PVC. I used a dremel to cut a notch out of the bottom of the PVC so that I could feed all the tubing and wires through it. The images below show the stand and the chaos of the end-of-the-year ITP floor.

Lungs

It was at this point I realized the air bags I made detailed in my last blog post (vinyl air bag with a paper covering glued on) would NOT WORK! Who knew that gluing the paper down would strop the fabric from inflating! After a quick panic attack, I re-cut and ironed some new lungs. My friend Granny suggested I could sew together a paper covering for my lungs which was a totally genius idea and something I’m already pretty good at! Voila!

Just a note, but for this pneumatic system I used 3mm silicone tubing and these little T lure locks to create the system. Also if it’s not super clear from the pictures, I attached my thoroughly-researched air bags using zip ties and a one inch piece of 3.5mm brass tubing inside.

Mounting Electronics

Again another fabulous idea from fab master Phil are these pump mounts. I cut them out of some scrap wood using the drill press and band saw exclusively! I attached the pumps using some double-sided foam tape. The holes on the underside of the mounts were meant for some zip ties for extra security but I didn’t end up needing them. I just screwed these mounts down to the sculpture platform.

I also soldered together a protoboard for this project so that the circuit would be more reliable than a bread board with jumper wires. I also screwed this into place using some stand offs. I cut all the wires and tubing to length and mounted them to the bottom panel using some cable clips to get a really clean setup.

Then there’s the acrylic heart. This was always intended to be a sculptural element but I realized quickly that it could be functional. I drew up this design on my iPad and etched it with the laser cutter. I glued a ring of neopixels onto it to indicate the air quality and also serve as a heart beat to indicate the sculpture is still … sculpturing during the off time of the air pumps.

Ribcage

I feel like building the ribcage was really the art part. It was a little daunting at first because I had no idea what I was doing but eventually the sculpting became really organic and freeing! I’ll try my best to explain the process.

Basically, I got this 18 gauge armature wire from Home Depot. I cut it to length using wire cutters and doubled it up and twisted on both ends. I knew I was going to make 6 ribs so I had those positions marked on the pipe. I wrapped the middle part of the wire around the pipe twice and desperately hot-glued it into place. It was a little messy at first and I definitely lost feeling in my finger tips over time, but the hot glue really worked for this build!

To cover up the pipe I used some white felt. I did a lot of measuring, drawing, and cutting and came up with this pattern. I hot glued it in place and knotted the strips around the ribs. Admittedly, I took some inspiration from tie blankets even though I’ve never made one myself but I thought the knotted felt would make for a good abstraction of the human spine.

Now I had a soft-presenting spinal column I wanted to achieve the look of soft ribs too. I had originally planned to needle felt the wire ribs but I wasn’t sure of the logistics now that the wire was free-floating and it seemed time consuming. I pivoted and bought some white yarn from Michaels and just wrapped it around the wire. I think the yarn would make it easier to felt onto the ribs in the future.

Code

So I think I’ve been kind of glossing over the additions to the code week-by-week, but here are some important milestones:

  • First, I integrated the pump and API code. This means that at a specified interval, the Arduino will get the AQI data from the OpenWeatherMap API and run the pumps.

    • If the AQI is bad, the rate the pumps switch from suck to blow is faster than if the AQI is good.

    • Remember I’ve implemented a watchdog timer, so that needs to be reset accordingly!

  • I’ve also implemented the neopixel ring functionality

    • It does some indication at the start of the code as to the status of the internet connection.

    • It does a light up animation when it grabs new data from the API. The color of the pixels also indicates the current air quality. Red LEDs indicate an AQI of 5 which is really bad. White LEDs indicate an AQI of 1 which is good air quality.

    • There’s also a breathing animation that happens during the off time of the air pumps in hopes that the sculpture will still be engaging to look at during that time.

I’ve also uploaded all my code to Github and this is what is currently running on my sculpture.

Final Product

Pneumatic IoT sculpture

A breathing sculpture made out of wood, PVC, wire, and textile. The beating heart changes color and is connected to the internet. It periodically checks the air quality of my hometown in Arizona. Depending on the quality, the breathing turns from frantic and labored to soothing deep breaths. This project is a reminder that what we put into the world will eventually come back to us.

The idea for this piece was inspired by my mom. Though I haven’t lived with her for many years now I still love her so much. At the start of the pandemic she developed a chronic cough. It was really worrisome because it persisted for years. My dad took her to pulmonologists, put a humidifier in each room, and even replaced the windows and screens in our house. She doesn’t suffer from an intense cough anymore, but my parents are convinced it’s because of the worsening air quality in Mesa, AZ. Anyways, it was a very special moment to have my family come to the ITP Spring show and have my mom see my sculpture in person … on Mother’s Day. I can’t make this stuff up! :’)

Future Improvements

  • Bigger and better lungs. More noticeable breathing. Would stronger pumps do the trick? Do I need to design a custom pneumatic actuator? Should I use a different material that’s crinkly/noisy maybe?

  • Add in a cough functionality and threshold.

  • Build an interface to customize the location, potentially dials and screen for changing lat and long.

  • Retry making ribcage by felting

    • I intentionally constructed the ribs so that the PVC pipe can be removed (without disturbing the electronics and pneumatics) and start over

Resources

https://www.youtube.com/@juliesfeltedfriends/featured

https://www.youtube.com/watch?v=0I91vk6BaZ8

https://www.youtube.com/watch?v=h6m3pUeebPg

Special Thanks

Phil Caridi, Kari Love, Tom Igoe, Amitabh Shrivastava, Granny Liu, Kay Wasil

Weekend at the Open Hardware Summit

This article was originally written for the SparkFun blog.

Yay Alicia Gibb!

I <3 Open Hardware

As a SparkFun alum I learned the importance of open source technologies early in my career. We all know that an electronic product is only as good as it’s documentation. Opening up hardware designs and source code makes technology more accessible to the general public and easier to use.

Even attending the Open Hardware Summit virtually in 2021 blew my mind; I learned so much about what was being achieved in my community. This year, I’m in New York working on getting my masters (hopefully) and my school hosted the OHS! I’m going to try my best to represent my experience, but … you kind of had to be there!

Demo tables, workshops, and speakers

@tinkrmind_’s Refrigediro, open source refrigeration backpack to cool drinks

Amy Wibowo’s personal computer design

How Eduardo Contreras feels dealing with supply chain issues post-pandemic

Alexandra Covor’s Mini Electronic Violin

Participants at the “Feminist Approaches to DIY Radio” workshop

Speaker Highlights

Robotics for the Streets: Open-source robotics for academics and the community - Dr. Carlotta Berry

Dr. Carlotta Berry is the NoireSTEMinist. She has developed a line of low-cost build-your-own robot kits to educate and diversify the fields of electrical engineering and robotics. She’s been distributing them, along with tutorials in robotics concepts, amongst high schoolers, undergrads, and graduate students as a teaching tool aimed to get kids excited about STEM. Her “Flower-bots” come in three different flavors: Lily-bot, Daisy-bot, and Rosie-bot for different experience and/or interest levels.



How to DIY high-resolution flexible (and kirigami) circuits with a fiber laser engraver - Huaishu Peng

Dr. Huaishu Peng is a professor at the University of Maryland and leads the Small Artifacts Lab. They’ve been developing a process called Fibercuit for rapid prototyping of PCB designs. Using a standard fiber laser engraver they can cut separate PCB layers out of copper, solder SMD parts, and even score the metal to bend it and make 3D circuits! The goal of the Fibercuit process is to make prototyping PCBs as accessible and affordable as 3D printing and to generally democratize circuit making.




Kinetic Wearables Toolkit - Kate Hartman and Chris Luginbuhl

Kate and Chris are researchers at the Social Body Lab at OCADU where they explore body-centric technologies in the social context. Mounting servo motors on the body is really hard so they have developed the Kinetic Wearable Toolkit of modular and customizable mounts for different types of actuators. They considered wearability, choice of actuators, and attachment methods in the design of all the parts of this kit. I was really excited to see Kate’s talk because she actually taught my Textile Interfaces class at NYU!


Making Pretty PCBs for STEAM Outreach - Ayesha Iftiqhar

Ayesha is an engineer and skater based in Colorado and she designs the most beautiful PCBs! Her process consists of choosing from colorful solder masks, colored inks and custom graphics, and defining fun board shapes. There isn’t equal representation of gender, age, and race amongst PCB designers and so these funky circuit designs makes PCB design more fun and approachable to a wider range of people. She also noted that knowing how to design PCBs promotes self reliance, repair, and reduced E-waste.



Stealing Great Ideas from Software Engineering: Library-based PCB Design through Hardware Description Languages - Richard “Ducky” Lin

As I’m not a software engineer, I really needed to turn on my “big brain” for this talk, but I’ll try my best to give an overview because it was really interesting!

Richard Lin is a postdoc researcher at the LEMUR lab at UCLA. Library-based design is uncommon in the hardware world so he’s been working on a library to define hardware components in text to build full, working circuits. He ran a demo that built a mechanical keyboard circuit in three minutes. This kind of model for hardware design automates routine hardware checks and can mitigate common mistakes. For more info check out his lab’s site.

Frugal science: Tackling societal challenges with curiosity, openness and a little bit of play - Manu Prakash

3D printed, autonomous blood smearing device

Manu Prakash is a professor at Stanford University and runs the Prakash Lab for curiosity-driven science. He’s a champion of the “frugal science” philosophy in which his lab is developing tools to democratize access to science and to facilitate diagnostics under a tree. The image on the left defines all the physics involved in a button spinner toy, or Whirligig (look it up!), but in the field it’s used as an uncomplicated and affordable centrifuge to spin biological samples. He also described using a cotton candy machine to make menstrual pads and many other projects. It is really amazing seeing how these simple and cheap processes they’ve developed in his lab might impact global health issues!

Participants at the Bubble Punk workshop

Get Involved

I had so much fun at the open hardware summit! I learned so much and met so many cool people. I was pleasantly surprised to see a different demographic of speakers and attendees than I’m normally used to seeing in the hardware world.

Even though the summit is over, all the talks have been uploaded to YouTube for everyone to watch! Be sure to check out OSHWA’s site and consider getting your own projects Open Source Hardware Certified. And if you’re still curious what summit weekend was really like, you can check out my friend Josh’s TikTok!

[ITP: ConnDev & SoftRob] Lungs III

This is a continuation of my previous blog post.

Connected Devices

API call errors

After doing some duration testing of my API calls I learned I had a problem. Twice I had been running my code for multiple hours and after some time I saw that I would get repeated errors from my HTTP get requests. I wasn’t able to get to the bottom of WHY this was happening because I don’t have the time for that right now, but Jeff Feddersen suggested I implement a watchdog timer. The way this works is the timer is configured to reset before a given time interval. If it’s not reset in time, the SAMD21 resets and executes the code from the top. In my code, I keep track of how many error codes I receive in a row. If it’s more than three the code falls into an infinite while loop forcing the the watchdog timeout to occur without being reset, so the whole sketch will start from the beginning when the MCU is reset.

Soft Robotics

Programmable Air? Pumps?

Once the API calls were coming in reliably, it was time to see if the Arduino Nano 33 IoT is compatible with the Programmable Air. Admittedly, this should have been one of the first things I tried because the plan was to make internet connected air pumps, but I quickly learned it wasn’t. The Programmable Air examples don’t compile for the 33 IoT, the EEPROM library isn’t compatible with the MCU. I tried duplicating the library and commenting out all the EEPROM stuff that was mainly using for storing pressure readings (I don’t need that, right?) and the timing control example compiled. I could hear the valves clicking but the pumps didn’t turn on.

This is the Programmable Air (PA) pinout. It shows that the pumps are connected to D10 and D11 of the Arduino Nano. In the switchOnPumps() function in the PA library an analogWrite for both of those pins turns on the pumps at a certain power. I checked the Arduino 33 IoT pinout and D10 and D11 don’t seem to be analog pins and a digitalWrite of those pins didn’t get the function working for me. I’m not exactly sure of what makes the Arduino Nano 33 IoT incompatible with the PA but I had to shift gears.

I had my own pumps already because step Z was to build up my own pneumatic system because the PA isn’t mine. The Adafruit product page says you can drive the pumps using a standard motor driver. I soldered header pins to the DRV8833 and wired it to my Arduino Nano 33 IoT and it worked! Don’t forget to pull the SLP pin HIGH. And then I hooked up a second pump, for inflation and deflation, AND THAT WORKED TOO! I’m a genius and reinvented the PA. Jk, the Programmable Air is much smarter than this simple setup!

The image below shows the full two pump system. To the right is a quick schematic I sketched and the circuit prototype below.

The pumps aren’t rated for continuous use so I plan to write code that only does a “breathing” cycle every few minutes.

Air bags

The paper air bags proved to be too leaky in all my past testing, so I decided to change my vision a bit. I cut the lung shapes from the vinyl fabric, sealed the edges of the air bags with an iron, and glued a paper bag skin. Fingers crossed this will work once they’re interfaced with the pumps!

[ITP: ConnDev & SoftRob] Lungs II

This is a continuation of my previous blog post.

Connected Devices

API Calls

So I have been really stuck on getting the AirNow API calls to work. In office hours we tried the “SimpleGet” sketch from the ArduinoHttpClient library and a get request to “www.airnowapi.org” returns status code -2 meaning there was an error with communication to the API. When I type curl -L ‘https://www.airnow.gov’ the command works as expected returning the html of the page in my computer’s terminal. Typing curl -L ‘https://www.airnowapi.org’ works too!

curl -L ‘www.airnowapi.org/aq/observation/latLong/current/?format=application/json&latitude=40.6924&longitude=-73.9875&date=2023-04-04T00-0000&distance=15&API_KEY={apikey} returns an API response with the AQI data in the terminal as well which is super perplexing. Using that example sketch I also learned that I am able to make SSL connections and send https requests which I thought I wasn’t able to do before.

At one point I was getting a 302 error which means a redirect was happening. I looked to this Tom example to write a function to redirect the request to the correct server address but that did not end up working either because it doesn’t seem to find the new temp server and I don’t really know enough about http requests to know what it’s looking for either…



So I GIVE UP with AirNow! I started with the Weatherbit API but after getting a free key I found that it costs $475/mo if I want to get air quality data, so no go. I found the OpenWeather API which has free current air quality data. Winner! I modified the “DweetGet” sketch and can read the full API response from the Arduino serial monitor, yahoo! The API responds on the pollutants outlined in the table below.

I’m now trying to make sense of the values it is responding with. When I open my Weather App on my iPhone I see that the air quality in Mesa, AZ is 47 which is “good” and the AirNow dashboard reads 45, so that lines up pretty well. The API calls on my Arduino say the AQI is 3…

Looking at the API documentation it shows that the AQI is on scale from 1 to 5, 3 being moderate air quality. Moving forward I can either use this 1 to 5 number or understand what the other chemical pollutants mean in terms of air quality and how I want to use them in the “breathing” of my piece.

Soft Robotics

New materials:

  • 3.5mm brass tubing

  • Zip ties

  • Stuffing

  • Latex gloves

  • Vinyl fabric

Vinyl Airbag test

Subtracted volume test

Added coke bottle volume test

I added a coke bottle in line with the inflation pump in hopes of getting the lung to inflate faster. If the pump is constantly pumping air into the bottle it should act as compressed air when opening the valve and should make the rate of air flow much faster. Even with all the time I put into constructing the Coke bottle bong, this didn’t prove to be a good solution because the tube parts were too leaky.

Vinyl lung test

I cut this lung shape out of the heat-sealing vinyl fabric. So far it seems like the most reliable and straightforward solution to making “breathing” lungs.

[ITP: STEM Accessibility] Curiosity Portal II

Drawings

From the Adafruit stepper motor datasheet

Process

1. Cardboard prototype

2. Mechanism components

3. Laser cut components

3. Sand and paint wood

4. Construct mechanism

Mechanism top-down

5. Check that everything fits as expected

[ITP: Modern Artifacts] Final Project

Co-creators: Dipika Titus and César Loayza

Inspiration and Artistic References

Mycelium networks

Light installation at the Desert Botanical Garden

Hand of the Statue of Liberty

The Pink Rabbit, Gelatin art group

Bouncy castle

Surrounded Islands, Christo and Jeanne-Claude

The Floating Piers, Christo and Jeanne-Claude

Sketches

Process

[ITP: ConnDev & SoftRob] Lungs I

This is a continuation of my previous blog post.

Connected Devices

AirNow API

AirNow is the US Environmental Protection Agency’s site for reporting air quality. The API makes air quality data from all over the country available by http request. Specifically, I am interested in the Air Quality Index (AQI) which reports on levels of ozone, particle pollution, and other common air pollutants.

I created an account to get an API key. Looking at the AirNow web services, you can get air quality data by zip code, but there’s a difference between a “forecast” and the “current observations” request. Here’s what a test request and response looks like using the API’s query tool:

Getting AQI with Arduino

I started with this Arduino code from Tom. I am in luck because I’m using the exact same API as the example, almost like I planned for that… ?! But jokes on me, I cannot get the sketch to work. With a few debug statements, I can see that I’m not passing the http.connected() condition. Also, it takes a really long time to get past the “http.get(route)” and “http.skipResponseHeaders()” lines.

Historically, I’ve never been able to get an SSL connection to work (idk why) so I switched the code around to http calls (not sure if I CAN do this with the AirNow API, but worth a try). That also never passes the http.connected() function.

When I “curl www.airnowapi.org/aq/observation/zipCode/current/?format=text/csv&zipCode=85215&distance=25&API_KEY=800547F9-0F0F-433E-BC00-6454026B35C8” in my computer’s terminal window this is what I get back:

I don’t really understand this response. I thought this kind of request would be a “get” and I was kind of expecting an API response back like I saw in the AirNow query tool.

Soft Robotics

I want the lungs of my sculpture to be paper bags. I’m starting to build out this project with the Programmable Air designed by Amitabh. Here are some of its specs:

  • Has 2 pumps and 3 valves

  • Can suck, blow, and vent air

  • Can achieve -0.5 to 0.5 atmospheres of pressure

When working with the Programmable Air, don’t forget to plug in a 12V power supply into the barrel jack like I did because things will not work. Also, when uploading code to its Arduino Nano be sure to choose “ATMega328P (Old Bootloader)” for the processor in the Arduino IDE. I started with the “factoryFirmware” example sketch from the PA library which lets you suck and blow air using the onboard buttons. This sketch will be a good way for me to test my paper air bags.

I really like the aesthetic and context of sack lunch bags, so that’s what I’d like to use for my sculpture. Below you can see the different sizes I was working with. I hooked these up to the PA and tested suck and blow.

Air bag sizes

Small airbag, did not work. Maybe there’s a leak or the material is too stiff? That’s why I tried a crumpling method…

I have some video documentation of my results, as you can see, it doesn’t really look like breathing lungs. The videos are 2x speed and the inflation/deflation was slow and subtle. The small air bag didn’t work at all, I’m thinking I must have a leak in my bags. I was also having issues with the zip ties not working and it did cross my mind that I could be tightening the zip ties too much and constricting the air flow completely.

The last thing I wanted to try out were the two “lungs”. Luckily we got this tee coupler thing from Amitabh’s lecture day which really comes in handy when you want to blow up two things at once. I didn’t need to take any video documentation of this setup because the air bags didn’t seem to change shape at all.

To get a better flow rate I could try Amitabh’s coke bottle method where a pump is constantly filling a bottle with air and a valve controls the flow to the rest of the system. I’m also thinking the volume and/or the material of the bags could be an issue but I am not sure where to begin with debugging.

Felting - First Attempt!

I watched a lot of felting tutorials this week and it really just seemed like all it is is stabbing wool with a special needle… and it is! Here’s my first try at forming some simple shapes.

[ITP: Modern Artifacts] Brooklyn Commons - Historical Research

Downtown Brooklyn

First Congregational Church / NYU Wunsch Building

  • Originally inhabited by Lenape Native Americans until the 17th century

  • City was home to many prominent abolitionists, safehouses as part of the Underground Railroad movement

    • Protests over the planned demolition of some of these historic sites

    • First Congretational Church in the commons — originally a stop on the Underground Railroad, now the NYU Wunsch Building

  • Walt Whitman lived at Willoughby and Myrtle Avenues

  • Brooklyn incorporated into an independent city in 1834 due to its growing commercial, industrial, and residential presence

    • Third largest central business district in NYC

  • Historically, downtown Brooklyn was primarily a commercial and civic center

  • 2004 Rezoning —> $9 billion of private investment and $300 million in public improvements

  • More than 14000 residential units have been added since 2014

    • Went from 9-5 to 24/7 community

    • Tall luxury towers

      • “many of which include affordable housing” — 420 units (according to wikipedia)

    • Tax abatements for people who buy apartments

  • Buying and rental prices are rising — median rent for one-bedroom apartment is $3744/month

  • Foot traffic is 60-70% of what it was before the pandemic

    • Many small businesses are loosing shops due to gentrification

  • NYU expanding it’s presence in the area, Tandon School of Engineering

MetroTech

NYU buildings around the Brooklyn Commons

  • Demolition of over 100 homes and 50 businesses when it was created

  • 16-acre rectangle, entire area was designated a pedestrian zone

  • In 2018 Brookfield Properties purchased the MetroTech complex and renamed Brooklyn Commons

    • Privately owned public space

  • Hosts events including concerts, health fairs, chess tournaments, holiday celebrations, theater performances, ice-skating rink, and children’s activities

  • Jay Street is the most accessible subway station (?!)

Terms

Gentrification - the process whereby the character of a poor urban area is changed by wealthier people moving in, improving housing, and attracting new businesses, typically displacing current inhabitants in the process

Resources

https://www.nytimes.com/2021/12/22/realestate/downtown-brooklyn.html

https://en.wikipedia.org/wiki/Downtown_Brooklyn

https://www.youtube.com/watch?v=ZqnAlEkvYxg

https://www.boweryboyshistory.com/2019/01/treasures-of-downtown-brooklyn-remnants-of-the-former-independent-city-hidden-in-plain-sight.html

https://en.wikipedia.org/wiki/Brooklyn_Commons

https://www.archpaper.com/2022/02/metrotech-center-becomes-brooklyn-commons-and-will-get-a-50-million-overhaul/

https://brooklyncommons.com/

[ITP: ConnDev & SoftRob] Beginnings of a Final Project

Idea

Right around the pandemic hit my mom developed a chronic cough that was eventually determined to be caused by the air pollution in Phoenix where she lives. This project would be an art piece. It’s comprised of a wired ribcage that will be “softened” with felt or fabric of some sort. Inside there will be paper bag “lungs” and acrylic “heart” which will beat in certain rhythms based on current air quality readings from an API. There might be a condition that could trigger the sculpture to “cough”. This project idea would be a combined final for my Connected Devices course.

Project proposal quad chart

Materials

I’ve already ordered a handful of materials that should arrive on Friday.

From Adafruit:

From Amazon:

My Experts

Kate Hartman was my professor for Textile Interfaces last semester and she’s an expert in wearable electronics. Kate isn’t available for a call this week but I asked her about her thoughts on fabricating the felt ribcage over email. She suggested I use armature wire for the ribcage: “You could create a sewn fabric or sheet felt rib cage, fill it with stuffing, and then insert the armature wire. You could even felt on top of the material while it is still flat before sewing the tube that makes up the rib.” She also sent me some other interesting resources I still have to check out.

I set up some fabrication office hours with Phil Caridi for this Wednesday after class. Maybe he has some more things about felting!

I also set up an office hour with Kari Love for Friday to chat about driving the air pumps and potentially fabrication.

I have also been in touch with Amitabh Shrivastava (@tinkrmind_, creator of Programmable Air) online so maybe I will get some helpful insights from him as well!

State of the Art

Lungs, Kit Paulson

Zebra Shipping Paper Airbags

The Inner Self Collection, Wei Ting Liang

Path Forward

  • Research felting and armature wire

  • Office hours with Phil

  • Get ribcage materials from Michaels

  • Try inflating a paper bag with the Programmable Air

To see the next blog post about this project click here.

Resources

https://americanart.si.edu/artwork/lungs-117714

https://www.signode.com/en-us/productslist/shippers-paper-airbags/

https://trendland.com/weiting-liang-collection/

[ITP: Modern Artifacts] Volumetric Scanning

Process

Ok so the notion that you need a device with a LIDAR sensor to do volumetric scanning is a myth! I’m not sure where I go that idea from but a standard smart phone camera can do the trick. I downloaded the Scaniverse app and took 3D scans of some of my favorite objects. The app is really easy to use and the scanning is really easy to do too, it basically just involves making sure your camera sees all angles of your scanned object. It was so much fun!

Curated objects to scan

Volumetric scanning setup - scanning against a high-contrast, non-reflective surface

3D scans in the Scaniverse app

After everything was scanned, the app let me export .obj files. I downloaded Blender and imported my object meshes and materials. Below is a crazy scene I created!

Final Product

[ITP: Connected Devices] Hue Controller

Concept

For my Phillips Hue controller I wanted to take a page out of Bianca’s book and use the Arduino Nano 33 IoT’s on-board IMU to control the light strip attributes. I had never used an accelerometer to determine orientation before. I also had this tiny six-sided candy tin sitting around my house and really wanted to use it as an enclosure for my light controller. As well as having one orientation turn on the light and another to turn it off, I wanted placing the tin on its different sides to change the hue of the light.

Arduino Code

First, I got used to using the Hue’s Debug Clip Interface. To use that interface you need to generate a unique username to connect to the Hue bridge, the IP address of the bridge, and the number of the light you want to control. The image on the right shows what that site looks like and how you can use API calls to get or send certain info to the Hue bridge and change the state of the light.

Once I felt comfortable using that tool I switched to working with the Arduino. I started with this example and got it working pretty easily, blinking the Hue strip using my Arduino. Next, I found this article about the Arduino’s accelerometer. The board has a LSM6DS3 module which includes both an accelerometer (linear acceleration) and gyroscope (angular velocity). It was super easy to get sensor readings using Arduino’s LSM6DS3 library.

Great! I did not know what these readings meant or what to do with them!

This may be review for the smarty-pants reading this but I eventually learned that the accelerometer data is showing the acceleration of gravity. So, if the Arduino+sensor is pointing straight up the measurement is +1 on the z-axis and if the Arduino is pointing straight down the measurement is -1 on the z-axis. This info helped me build out the different states of my code.

I wrote some really dumb code to control the light strip. Basically, if the z-axis reading is within a certain threshold, send a request to turn the light on or off.

The request follows the same syntax that was used in the web tool, so the “sendRequest()” function just pieces together the API call string and sends it over HTTP.

I used a whole bunch of other if-statements to check for different orientations of the controller tin and Arduino. Below is an image of my thought-process while working out the accelerometer math and a video of the Arduino updating the strip light on the floor based on the sensor readings.

Fabrication Process

Working with this tin proved to be really difficult. It is really small so it was hard to fit the Arduino and battery inside. I soldered a custom connector to get the circuit to be as minimal as possible. It was also a real pain to paint the smooth surface of the tin. Or maybe I have some really cheap paints … which I do. I had this plan for a really illustrative and cute enclosure for my controller, but I did not quite get all the way there. I also never figured out how to mount the Arduino within the tin to keep it straight and from moving.

Final Product

Ok! This did not work! At all! I basically built a faraday cage, what was I thinking?!

Once I tried testing my controller inside of its enclosure it wasn’t working like it was before. I guess I thought this tin would work as an enclosure because I used one for my networked controller. I might be able to get this enclosure to work if I cut an opening on one of the sides of the tin or somehow use the enclosure as the antenna itself, but I have no idea how to do that.

Final Project

I’ve thought of a final project idea that I think could satisfy this final and my final for my soft robotics class. I’ve outlined my initial idea and sketch on the second half of this blog post and some of the preliminary steps to get started.

Resources

https://tigoe.github.io/hue-control/

https://github.com/tigoe/hue-control

https://biancagan.com/2023/03/06/wk-6-more-dashboard-fun/

https://www.youtube.com/watch?v=wN1tGdNkUXY

https://github.com/makin-stuff/ITP/tree/main/Connected_Devices/Hue_Control

[ITP: Soft Robotics] PolySwatch and Final Project Idea

PolySense Swatch(es)

I made two swatches for our PolySense experiment this week. I started with a cotton T-shirt because I thought it would be pretty absorbent and I like that it has a bit of stretch. The bright green color was intentional as well because I was unsure whether the PolySense process would affect the color at all. I was interested in trying out the batik method, using wax to mask portions of the fabric.

It seemed a little daunting to learn to batik in a day and I read in the PolySense documentation that you could use hot glue to do some masking … so that’s what I did. I sketched out a design, it is meant to look a bit like PCB traces and then I applied hot glue to the negative areas. I have no idea how this might end up behaving, maybe the “traces” or “vias” might work as pressure sensors. However, I had a realization that the traces are not independent of each other because I didn’t do this masking on the bottom side of the swatch … so they’re all connected, whoops!

I also wanted to experiment with conductive thread. I realize the whole swatch should become conductive after the bath, but I sewed this tic-tac-toe shape into the swatch in hopes that it might behave as a matrix and give you some location information about where pressure is applied. Alligator clips could be attached to the tabs on the edges of the swatch and go to different pins of a microcontroller. I’m not convinced this will work like I hope it should, but it’s really just a thought experiment. I also added some fabric paint for fun and just to see how it will look after the process.

Final Project Idea

Right around the pandemic hit my mom developed a chronic cough that was eventually determined to be caused by the air pollution in Phoenix where she lives. This project would be an art piece. It’s comprised of a wired ribcage that will be “softened” with felt or fabric of some sort. Inside there will be paper bag “lungs” and acrylic “heart” which will beat in certain rhythms based on current air quality readings from an API. There might be a condition that could trigger the sculpture to “cough”. This project idea would be a combined final for my Connected Devices course.

Project proposal quad chart

Next steps:

  • Buy paper bags and test with programmable air

  • Order pump (does it need a controller?) and neopixels from Adafruit

  • Research wire puppet making and think through how you will build the ribcage so that it will be able to stand on it’s own

  • Identify the correct API and start gathering some data

    • Integrate pump and neopixels into code

  • Build heart

[ITP: STEM Accessibility] Curiosity Portal Field Notes

MY Laundromat

My current apartment in BedStuy admittedly does have a washing machine. Actually it is a combined washer and dryer, which I didn’t even know existed before, so it does neither thing any good. Believe it or not, I was a laundromat girlie in a past life. I would wake up early on Sunday mornings, pack up my textbooks and a cup of tea, and pile my stinky clothes in the car and that’s kinda what I did last weekend.

Going to the laundromat is really not that bad. It’s kind of a meditation, it even feels like you’re closed off from the outside world in your laundromat bubble. There’s a sense of collective: everyone is equal, we’re all human and need clean clothes, and all you can do is wait. I think there’s also a feeling of trust. Naturally, I couldn’t get the first washing machine I chose to work but the people working there were super helpful and got me going on another machine. People are also not going to touch your clothes because what would they want with that?!

My laundromat is close to home. Close enough to walk with my basket. My laundromat is mostly women and young children on a Sunday morning. My laundromat has lime green walls. My laundromat has so many machines, many out of order from hundreds of cycles. My laundromat doesn’t have a lot of space to sit and relax. My laundromat has a really beautiful mural on the outside, a mother holding her baby.

Final Project - Washing Machine Portal

Inspiration

I want to create a table-top washing machine portal, think washing machine + kaleidoscope. I’m really inspired by Meow Wolf’s dryer portal and I can’t stop thinking about this reel I saw months ago. @marinaminis makes some really captivating and complex miniature scenes.

My portal may ask or answer the following questions: Where do the clothes go when we wash them? How about lost socks? How does it feel to be in the washing machine? Is it an exclusive club? Underwater(wear) dance party? Does our time go down the drain?

A literal dryer portal at Meow Wolf Santa Fe

@marinaminis on instagram

Design

Here’s my initial sketch, no water needed. I really want to tie in some elements from my laundromat, maybe use the same colors as the mural. I’ve already met with Phil to discuss the mechanics of this project so here are some next steps:

  • Find the clear washing machine drum

  • Order the bearing and rod mechanism for turning the drum (5mm motor shaft)

  • Order neopixels and stepper motor driver from Adafruit

  • Fabricate the turning mechanism and electrical system

  • Find glittery stuff that will spin around in there

  • Build box out of plywood (acrylic window, reflective inside, hinged doors)

[ITP: STEM Accessibility] Curiosity Portal

The Pottery Portal

I am honestly really missing my old pottery studio Mudslingers in Lafayette, Colorado. I consider it a curiosity portal because once I go inside the studio it’s like the outside world disappears for me. It’s a really inviting environment, super cozy, and just oozing with inspiration and potential. The people there are all coming together to work toward similar goals. The work is independent and self-directed but there’s a strong sense of community and connection. In a pottery studio you can pretty much be certain that you’re surrounded by other creatives and even if you don’t get a chance to talk you know that there’s some common ground there.

This might be an even more intense portal for me personally because when I’m trying to make some pottery it requires HARD focus. It is something I need more practice with and does not come naturally to me yet. I think the focus is intensified by the number of steps it takes to complete a single piece of pottery and my personal need of achieving some sort of Priyanka-standard of acceptable final product haha😅. The pottery portal also spans a long period of time because it can take multiple weeks to bring one pottery piece to completion.

The mind-spirit-body connection needed to create a piece of pottery brings the portal into full effect; you need to put your full body into forming a piece. My curiosity is always piqued in trying to make sure the pot is pulled just right or in the concentration needed to trim the dried clay precisely. I also think the chance to get your hands dirty and clay in your hair gets gets you fully immersed in the portal. We’re always taught to keep things clean and I’m usually so preoccupied with staying within the lines of life but all that falls away when you’re in the pottery studio.

Baby Priyanka circa 2019

Other possible portals:

  • A really good movie seen at the theater — you leave not knowing what day or time it is.

  • Photo print dark room. I think the darkness helps with channeling focus and making it more portal-like.

  • Meow Wolf because … duh!

  • Sewn circuits - I experimented with these last semester and they really just took over my whole brain! All I wanted to do was make more cute but functional circuits

  • Aquarium - ethically not great but awakens my inner child and curiosity for a whole other world existing on our planet

  • Painting - this sometimes feels like time travel to me. Starting a new project can be really hard, but once I get into it there’s nothing else I want to do but finish the painting I’ve started!

  • Traveling somewhere new and/or being a tourist

  • Looking into people’s apartments while riding the subway

  • Kaleidoscope !

[ITP: Big LEDs] Illuminating Light Project

The Last Ocean by Jen Lewin Studio

The Last Ocean is an interactive light installation designed and fabricated by Jen Lewin Studio. This piece deals with the “urgent issue of plastic pollution in our oceans, a warming planet, the depletion of natural resources, and the pressing need for transformative systemic change”. The large tiles are interactive: they change color when stepped on and they communicate with their tile neighbors. The tile tops are also made of reclaimed ocean plastic. This piece made its debut at Burning Man in 2022 and is now a travelling installation.

The Last Ocean at Burning Man in 2022, Jen Lewin Studio

The Last Ocean at Canal Convergence in 2022, Jen Lewin Studio

Lobby LEDs

So Aaron created this super smart setup in the lobby with a computer, DMX controller, power supply, LED matrix and LED strips. There’s also a web cam so that we can do work in MadMapper and we can see the screens update remotely! Yeehaw!

First I created a web TeamViewer account. I clicked “Join a session”, then “Create a session”, and then “Connect to a TeamViewer ID”. I joined by using an ID and password Aaron set up already.

I’m in!

Working in MadMapper was kind of hard for me because I’ve never used it before and the main focus of the class wasn’t learning the software, so I kind of pieced together a sequence by watching some tutorials and talking to Abby… but I definitely don’t really know how to use it still.

I created a new project and the first thing I tried out was checking this box “Test Pattern” which changed the output of MadMapper and I could see that the screen changed as well. Next I got stock video from pexels.com and imported it to MadMapper. I created some quads and scenes and assigned the clips to them. Believe it or not this was kind of tricky. I’m still unsure what the correct work flow is for that part but you definitely need to right click and “Update Scene” for changes to take effect. You can resize them and they need to be moved to the top left corner (0, 0) of the output view to show up on the LED display. You can also pause and play sequences using the play button on the bottom of the window.

There’s another weird thing I don’t understand, but sometimes you can’t see the video sequence on the LED wall so “Output > “Full Screen Mode” sometimes fixes it! Also, I was curious about all the DMX settings and IP address stuff we learned about in class and that can be found under “Tools” > “Preferences” on a PC. Below is a really simple sequence I put together.

Sequence set up in MadMapper software