You are here

Embedded Systems sp13

Course Description

This is the page for the DXARTS 490 Special Topics course on Embedded Systems. The course explores embedded operating systems and higher-performance alternatives to the Arduino platform with a focus on digital arts production. After an initial phase of in-class instruction, the course is a largely self-guided independent study. Participants are expected to pursue their individual interests into specific platforms and applications and present their findings to the class group. Students are not expected to have any previous experience programming embedded linux systems.

Each student will present a prototype of an embedded systems artwork or group project at the end of the quarter. As a second deliverable, each student is expected to contribute to reference pages detailing software workflows and how-tos for their particular platform on the departmental wiki. This can be developed on a personal blog and consolidated onto the wiki at the end of the term. Finally, each student will be responsible for one student-led session in the latter-half of the quarter, giving a presentation and leading a hands-on activity with the material they have discovered through their research. We will assign those sessions in Week Four.

Time and Location

Location: Fremont Warehouse (directions)

Time: Friday 2:30-4:30pm.

Instructor: Robert Twomey (rtwomey@uw.edu). office hours by appointment via e-mail.

Class E-mail list

dxarts490a_sp13@uw.edu

Grading

The class grade will be broken down as follows:

  • Contribution to Shared Resources: 25%
  • Student-Led Session: 25%
  • Final Prototype and Presentation: 50%

Topics

  • Linux basics
  • Device Interfacing (USB devices, cameras, dot matrix printers)
  • Hardware Intefacing (GPIO pins, sensors)
  • Particular software platforms and packages
    • audio environments (supercollider, PD)
    • speech recognition. (Sphinx)
    • computer vision. (OpenCV)
    • speech synthesis. (Festival, Julius)
    • natural language processing. (NLTK)
  • Hardware Platforms
    • Raspberry Pi
    • BeagleBoard
    • APC
    • Panda Board
    • HackACam
    • Elphel
  • Operating system versus bare metal operation.
  • Fabricate permanent, reliable interactive art objects.
  • Fabricate portable, sophisticated, computational art objects.

Schedule

Week 0 ::

  • Order hardware for use with the class. A class set of Raspberry Pis and power supplies.

Week 1 :: 4/5 - Introduction, Installing the OS Image. User accounts.

PURCHASE AN SDHC CARD AND BRING TO CLASS! details on compatible cards: http://elinux.org/RPi_SD_cards

Week 2 :: 4/12 - SSH. wget. Software install. FM Broadcast.

Week 3 :: 4/19 - Apt-get, Remote Desktop, Speech Synthesis, Video Playback.

Week 4 :: 4/26 - Intro to Python. Video Playback.

  • Lecture: basic scripting (python). client-server.
  • Hands On
  • Assign student led sessions.

Week 5 :: 5/3 - Hardware Interfacing, GPIO

  • Lecture: Hardware Interfacing, GPIO, Logic-level conversion.
  • Project ideas?
  • Student-Led Sessions 1 + 2.

Week 6 :: 5/10

  • Progress, Q & A.
  • Student-Led Sessions 5 + 6.
    • Sam Potter - OpenGL programming on rpi.
    • Jered - xBee.
    • Marcin - gpio through kernel interface.

Week 7 :: 5/17

  • Progress, Q & A.
  • Student-Led Sessions 7 + 8.
    • Hector - supercollider
    • Joel - lux sensors.
    • John Blalock - ???

Week 8 :: 5/24

  • final discussion
  • Student-Led Sessions 9 + 10.

Week 9 :: 5/31

Week 10 :: 6/7
  • Student Led Sessions
    • James Hughes - ???
    • Robert - ???
    • Jimmy - ???
  • Presentations of finished projects. Invite others from departments or larger university community.
  • Conclusions?
Finals Week ::
  • Wrap-up.

Resource Pages

Software Reference

Hardware Reference