Week 08:
Embedded Programming

Objectives

Software

Hardware

my old shoebox of electronics of varying degrees of functionality

Practices

/// Important Vocabulary and Cultural Notes

WHAT IS EMBEDDED PROGRAMMING? It's putting a microcontroller in a system so that it interacts with physical stuff. It is used for physical computing, though it is more specific as a term.

PROTOTYPING. Take it seriously. Phrase of our CNC milling experience: Why let the it-could-be-better get in the way of get-it-done? (addressed inevitably to my dear Hillary, too)

And a song that Arnau has been playing in our moments of collective desperation: Twisted Sisters' "We're Not Gonna Take It" which he sings as "We're Not Gonna Make It."

PRACTICES

/// Neil's Lecture on Embedded Programming

We are going to get to work in the Arduino IDE, a version of C programming language, to make responsive the boards we fabricated in Weeks 4 and 6. I always feel relieved when we are doing electronics and programming, because it is language-based, and language is cozy for me.

/// BLINK, my ARDUINO

It does.

STEPS:

FILES

.c & .make

/// ARDUINO TUTORIAL w/ Guillem

Guillem went through the history of computing and brought us up to date with where the Arduino is (with some good industry gossip on the tiff that led to the split of Arduino / Genuino). He generously shared his presentation.

It was a lecture + practicum: nice format. We uploaded some of the basic sketches to our boards. I had to do some cobbling to get a working kit; my parts box is filled with non-standard Arduinos and various unmarked things.

DIGITAL TO PHYSICAL. On the left is the model in Fritzing, a program with a virtual breadboard. On the right is an actual breadboard imitating the Fritzing diagram.

READING SERIAL PORTS. It was cool to see what Guillem called "the noise of the universe" flicker on the serial-read window when there was a jumper in the associated port that was not connected to ground. The picture below is the measurement on an AA battery. The number being read is converted to a corresponding voltage with the following logic:

/// ARDUINO TUTORIAL w/ Ferdi

We looked at how to control the following in the Arduino IDE:

SOME NOTES:

Here's a program file for using an LDR or potentiometer to vary an input signal into a digital output, in this case into a modulating pitch tone.

analog in / digital out .ino

A set-up for using a potentiometer with a servo motor. You can also see the non-branded ATMega Board that was giving me a lot of trouble; I had to pilfer a neighbor's Uno to get the code for this to work.

Playing with code

Some aspects of Arduino programming have caught my attention, such as pushbutton debouncing, millis timing, and if - else logic. I also wanted to make an Arduino lesson that led people to connect embedded programming with the ways things function in a city. Here follows some commented code exploring those things ~

/// Comments on Workflow

Maybe this is a great week to have tried out a new workflow for documentation: the daily log. This, unfortunately, is how the week worked out:

So it's been chaotic in terms of time management, but through documenting based on each day, I have a coherence organized by hours instead of by any summarizing logic: Gregorian rather than Dewey. During Neil's Wednesday lecture, we looked at the site of Eva Korae, a Cypriot furniture maker in Amsterdam, and she used this method of daily logging.

I am not sure it suits me, because it feels so far like it has less room for narrative inventiveness, which is part of my joy. The daily log is, however, more incremental and therefore less stressful. By the end of the week, it seems I am getting more habituated to it. It feels like every day could make a whole page; this is bad. The level of detail for a contemporaneous account seems excessive (for me, for my bad loquacious habits). Concluding observations at the end of this endless page.

REVISION 20160628. Combing this whole gamut into different chapters, separating the milling and the electronics onto their respective pages. Abandoning fidelity to the idea of a "week's work." It just confuses the ability to reference.

/// visit to Museu del Disseny

Terrific inspiration for final projects, esp on the floor of product designs ~ and in a very exciting new public space. Plaça de les Glòries Catalanes is so multi-used that it looks like an architect's pie-in-the-sky rendering come to life.

great interior; this is the museum's main escalator

25 Mar 16. Friday.

Easter in Barcelona!

28 Mar 16. Monday.

/// data sheet for Atmel's ATtiny microprocessor

This doc is docked here.

INTERESTING THINGS I NOTED:

21 Mar 16. Monday.

/// recitation: Machines that Make by Nadya Peek

Excited to hear Nadya as she seems to be quite a badass lady.

Nadya on the left, the PopFab on the right.

Some questions Nadya posed and comments she made:

Nadya considers the example of the cheap Modela. It's successful in terms of being able to be made in a FabLab, but in a way it's not that successful in terms of a goal of light and fast production. It requires:

So, in a way this cheap Modela is not an example of big change because it requires so many tools and skills to make. It's one FabLab working slowly to learn to make one machine that doesn't work that well.

How to do it without thinking personal scale is just a smaller cheaper version of industrial scale?

Consider PopFab. Modularity, portability. A machine that becomes a kind of lego system, where units plug together. Where you can prototype in cardboard. We'll be looking into this next week.

Braun Lectron kit from the 70s

What do you lose with modularity? The ability to extend a kit into more complex designs.

For now, remember: if you see something that could be done better, you are the person who could make it better.

29 Mar 16. Tuesday.

/// Meta-observations

WHAT I THINK ABOUT THIS METHOD OF DOCUMENTING. It makes less sense to my brain, finally, to organize by day rather than by theme. It's nice (and sometimes not nice!) to see where the time goes; however, it's more fluid to keep going along an idea than along a 24-hr timeline. And the themes of the pages get all messed up.

The daily notes can be my personal toolkit to make the final week's log. This way, even if I expire suddenly, my notes will be in order.

BTW, if I do notes at the times things are happening, they come out very whiny. I seem to feel I'm struggling I'm a lot while in it. Though this is interesting to observe on a personal level, it's simultaneously unflattering to read as well as boring.

I will go back to my previous method: more of a weekly summary than a daily blow-by-blow.

/// return to top