Archive for the 'Physical computing' Category

Kolvi ja Koodi workshop at Lapland Uni

20091109 08:37

The “Soldering-iron & Code” -workshop started a series of exploration of reactive space & intaraction within the Design Laboratories program of University of Lapland in Rovaniemi.

A bunch of audiovisual media MA students gathered for an introduction to physical computing with me for a couple of days. We started with the breadboard and NANDsynth for quick intro on electronics followed by bit of a soldering. Next day we hooked Arduinos and controlled the synth. Routing serial from Arduino to Flash lead to bit of a frustration - one simple-to-configure proxy to this one and I _will_ click the donate button. Some rescued toys from flea market got gutted and suddenly we had the inevitable creative chaos on the table. Here it got bit messy. I still have the tendency of focusing on emerging details when overall structure is needed.

The enthusiasm of the participants brought that. We decided to do make a demo at oh-so-lovely Kauppayhtiö -club on saturday evening.  Accelerometer in an eightball was connected via Arduino to Quartz Composer on laptop which rendered the Magic Eightball -answers on retro-TV for curious audience. Hours of fun, for ages 18andUp. The Shy-guy rotated towards anyone who approached it with trembling behaviour. Surprisingly humane piece of plastic. Few bent toys to play with and we had nice demo set-up for the evening crowd.

I had great time. Quartz Composer was a new environment for me so I learned a lot too. Superior multilayer rendering of visuals compared to Jitter / Gem. Definitely my new weapon-of-choice for next resource-intensive graphics. Thanks TomTom and Aku for great intro on that one.

Apologies for anyone who feel this was a waste of their time. I’ll try to improve my workshopping skills with every iteration but every setup is unique. This one was bit too unstructured from my part. Still, I feel the flux nature enabled other opportunities. Strict format is not always the best either.

Thank you Rovaniemi. Thank you friends, the old & the new. I’ll be back.

• flickr set

Pachube!

20081008 01:29


Pachube is a web service for routing dynamic data-feeds between user-made input&output nodes. I can for instance start to feed by home temperature to Pachube and someone somewhere can use that in realtime for pitch control. Why, why not? Or I could grab the price/oil barrel feed from those available and make a twisted connection to my radiator for anticpating the rocketing electric bill.

Configuring Pachube with Processing and Arduino with Firmata seemed first bit overwhelming after a quite a break from these apps. But it went surprisingly smoothly. Strangely enough, my biggest problem was just to upload the Firmata to Arduino. I’m using one of the earlier Arduinos and just loaded the latest software (012) which produced some undefined reference to timer0_overflow_count. After random googling, just a bit older version (009) uploaded the Firmata smoothly.

Edit: Indeed, as pointed out in this thread, I also followed the instructions blindly and managed to replace the working firmata included in Arduino 12 with older version. Now all seem to work nicely: Older Arduino (Arduino Extreme 2 I think) + Arduino 12 + Processing 1.0.1

The Pachuino example file worked nicely, some hassle with port forwarding with our ADSL and the pipeline between my tiny LDR and the world was clear.

“Playkka” at Naantali contemporary art summer

20080630 18:29

My newest work-in-process, “Playkka” -play prototype is exhibited in Naantali Vanha Raatihuone from July 1st to 15th. Playkka is a play-test -platform to study play process with tangible interface, namely tagged objects. It is a table with four RFID readers, screen, audio and a pile of play items. The current alpha-alpha version does very little but might lead to new discoveries in “smart” play environments. Far from unique approach, the excellent and inspiring research by Timo Arnall and his students to name one source of inspiration.

Process description
(in Finnish)
Article in Turun Sanomat (in Finnish)
Video

Microcontrollers & modules

20071203 17:01

Basic Stamp
http://www.parallax.com

PIC
http://www.microchip.com

PicAxe
http://www.rev-ed.co.uk/picaxe/
http://www.stepsystems.fi/tuotteet/picaxe.php (FIN)

ooPic
http://www.oopic.com/
http://www.esutech.com/OOPic/default.shtml (FIN)

Arduino (open hardware project)
http://www.arduino.cc/
check the clones as well

CATKit (open hardware project)
http://packets.goto10.org/packets/wiki/CATkit

Check also:
• Atmel microcontrollers
• Texas Instruments microcontrollers

Osasto-G | Gizmo Asylum at ForumBox

20071203 14:20

My latest installation Osasto-G is now up and running in ForumBox with media installations from Hanna Haaslahti and Heidi Tikka. Opening was a success, lot’s of people turned up so warm thanks for all of you who made it! Due to our big move to our new house, I have to postpone more detailed writing on the work and the process after the things settle down. The show runs until December 29th, check it out!

More photos on my Flickr. Video here.

MemPot v1.0, potentiometer with a memory

20070827 19:50


DSCN4641.JPG

Introduction

MemPot was developed by Dan Blackburn and me as a control interface for circuit bent instruments and sound generators. MemPot is a built around PIC 16F819 microcontroller that reads analog resistances, records them to memory and plays them back via digital potentiometer DS1267 chip. The memory buffer size and the playback speed can be adjusted.
The first PCB

MemPot was the first circuit design we finally got one proper PCB made for us. That was rewarding experience, although not without any problems. I learned myself the widely used Eagle CAD software during the design process and there are couple of things that I missed. Firstly, by mistake I chose too small resistor packages from the library, so the 6mm long, most common resistors, don’t fit horisontally but must be soldered vertically. Not a big thing luckily. The other is bit more inconvenient. I forgot to put extra solder points for GND and +5 used in the interface (outside the board) so when wiring the switches and pots, the GND and +5 must be wired to exposed points on the board. Coincidentally the exposed legs of vertically soldered resistors turned out to be just fine for this, so the first mistake kind of solved the second one.

DSCN4642.JPG
Making it

Making the MemPot with the PCB is straightforward. Solder the parts in any oder you like, I have usually done the chips first. There is a ICSP socket for updating the PIC code, so using IC socket is not necessary. If you are concerned of damaging the chips, use sockets for the PIC and the digital potentiometer chip. If you don’t have PIC programmer with ICSP port, you naturally need to flash the PIC first and use socket in order to update the software.

When you are done with the board, you can test some of it before doing the interface. If you power the board, the LED for indicating setup mode blinks few times and then turns off. Next is the interface. Before wiring the switches and pots, you need to make some decisions for the case and see how long wires you need from the board to the panel. Drill the holes for the pots, switches and the LED and attach them to the panel. Wiring them to the circuit is easier when they are fixed in place on the panel. Solder the wires according to the diagram below.

MemPot_wiring.jpg

Using it

MemPot is a controller, so you need something to control. Simple sound maker like the NandSynth or APC with resistance controlled pitch will do. If you have some circuit bent instruments with pot or LDR controlling something, hook MemPot to that. This first version of MemPot has two outputs of 100K resistances of which we are using one. You can put larger physical pot in series with the digipot output to change the range, to 500K-600K instead of 0K-100K for instance.

Power up the board and the preset buffer should play, linear ramp of 0-100K resistance in loop. Adjust the playback speed from the speed pot. Hold down the rec button and tweak the rec pot, LED starts blinking. When you release the rec button, the recorded tweaking should loop. MemPot overdubs, so when the buffer gets full, it overwrites the memory from the beginning. You can change the buffer size by entering to setup mode from the toggle switch. LED lits when in setup mode. Now you can use the speed pot to change the buffer size. Try very short by turning the pot almost all the way counter clockwise. Exit setup mode from the toggle switch, the very beginning of the previously recorded buffer should play.

Improvements

The indication of speed and buffer size does not exist. I have used serial LCD screen or PC to debug the values, but simple gauge from few LED’s would do as well. For closed case, a power switch and power LED would make sense. Toggle mode for overdubbing vs one-time recording would be useful together with sync signal from one extra pin on every pass of the starting point of the loop.

MemPot PCB

20070702 21:33

DSCN4252.JPG

The first batch of MemPot PCB’s arrived. This was a Eagle learning process and there might still be mistakes in the design. The learning curve for Eagle was a bit steep, with three different editors: library, schematic and board, all interconnected. Good tutorials are available and after a days slow reading while doing paid off and it started to make sense. Lot of the work was finding correct libraries for different components and making some of myself. Due to the fact that many libraries seem to be done by the Eagle users, there are some inconsistencies with naming, package, wire and pad sizes. This, and the various requests from the PCB manufacturer was quite confusing but it seems that they matter mostly when doing delicate multilayer design with very small / sensitive components. Big old-skool DIL design with microcontroller and few resistors and caps is more forgiving. Still, one PCB needs to be soldered to see if it really works.

The Eagle CAD files are here. I hope I can post the final verdict on the success of this design later this week.

Sign-up for a workshop in July!

20070605 19:48

BWB_poster

Do you want to make a machine that goes ping? Repeatedly, in a glitch-funk manner? Participate our workshop just prior to the We Love Technology -day in Huddersfield, UK. July 9.-11. & 12. 2007. Sign-up via WLT site and check the details in Workshops -category on the right.

MemPot, the prototype

20070601 01:54

mempot1.jpg

MemPot is a small controller circuit where potentiometer (or any variable resisor) is read and recorded with PIC (16F819) microcontroller. PIC stores a sequence of values from the user turning the knob and plays the same sequence back via serially controlled digital potentiometer (DS1267) chip. The playback speed and recording buffer can be controlled. This is a handy tool for performing gestures with electronic instruments with variable resistors as controllers.

Same circuit can naturally be experimented with other variable resistors or analog sensors as inputs. LDR’s, bend sensors or even accelerometer movements could be recorded and played back similarly. If the resistance changes are not continuous but in steps, the playback resembles simple step sequencer. Follow the various experiments from the oikosulku-blog:

MemPot was developed by me and Dan for our circuit bending activities and to use as a workshop project on analog sound synthesis. We can hopefully include the making of MemPot for our next DRU workshop in July.

MemPot documented here.

#3 Beeps, waves and basslines -workshop materials

20070531 15:17

(DRU July 2007 workshop materials page, participate! and check for updates)

Documents


Specsheets

MemPot

Books:

  • “Handmade Electronic Music : the art of hardware hacking” by Nicolas Collins
  • “Timer, Op Amp, and Optoelectronic Circuits & Projects” by Forrest M. Mims III
  • “Physical Computing” by Dan O’Sullivan & Tom Igoe

Links: