Lift Asia will be happening in a couple of weeks and I encourage you to attend if you are at all able to. (I promised myself Ars Electronica this year, which conflicts, unfortunately.) The line-up is a fantastic list of creative all-stars, as well as what sounds like a great queue of “locals” from Korea. This is an exciting time for Lift as it expands geographically and, more importantly, expands its audience. This is significant. There are still lots of productive and fruitful bridges to be created. It’s not an “unexploited territory” kind of exploration. Rather, despite Friedman’s assertions to the contrary, “flatness” does not exist. In China, it’s not Facebook. It’s QQ. In Korea, it’s Cyworld, not MySpace. This is intriguing — what are the local distinctions and specific ways in which online social practices create communities. Can’t all be the same, right? There really isn’t just one canonical Googlenet, right? Go to Lift Asia and find out what’s really going on, plus a whole lot more. Continue reading Lift Asia 2008
Month: August 2008
Timing
Next step, testing the PCB edition of the PSX. I’m back to using a slow, low STK500 to do some debugging. Now that the firmware is fairly well squared away, most of the debugging is either a poorly solder-pasted pin (knock-wood).
I did find a curious little 30 minute bugaboo today. While I was making sure that data was being read properly from a controller by itself, I noticed that bits were being consistently dropped. It looked as though things like button presses on the controller were toggling two bits instead of one, and, for example, the first byte that indicates button presses for things like Start, Select and the direction buttons, was always missing the least-significant bit.
It turns out that the way I am emulating requests and data transfers to the controller is particularly sensitive to timing. I’m not 100% sure what the deal is, but the controller I had been using a few days ago was okay with an 16uS clock period. Now, these two I had lying about the studio weren’t working so great with that period — when I changed the clock to a 40uS period, things clicked back into shape.
(I’m sort of wondering whether the series resistors for the firmware generated clock I’m using is too high — I ended up putting a 1.8k resistor rather than the 1k resistor I have in the breadboard prototype, just cause that’s what I had handy.)
In any case that problem got me to thinking that, as other folks have mentioned, the controllers are sensitive to timing — I may need to add one additional control register to the set up so that this timing value can be adjusted easily, rather than sticking it as a constant in the firmware.
Continue reading Timing
History of Consciousness Hiring
My UCSC Grad Program, History of Consciousness, is hiring, Associate or Full Professor level. It’s the only interdisciplinary program of its kind, with a strong reputation for critical thinking both inside and outside of academia. This is the first hire since I was there from 1993-95, when I served on the graduate student selection committee, so it’s kind of a big deal for the few hundred alums scattered about. The link below is to a flyer which, if appropriate, please circulate and post.
History of Consciousness Flyer
Continue reading History of Consciousness Hiring
Refining
I’m getting closer to have a second prototype of the PSX project. Strangely, I seem to be building the breadboard prototype (lower image) simultaneous with the PCB prototype (the thing on top). I think the breadboard prototype is mostly for working on the firmware for the Propeller, which is going better than I had hoped, especially seeing as I’ve never developed for it, and that I’m mostly in Spin assembly (not so ugly, but still..bleech..) The breadboard version is basically a core Propeller with some wiring for programming and for chatting to an EEPROM for permanent firmware storage. I started playing with this PCA9306 bidirectional level-shifter, which is sitting on the right half breadboard. This is basically the same circuit as what goes on the surface mount PCB, except for the addition of a LP2985 3.3v regulator.
This is a curious approach, getting slightly ahead of things, but it’s been a circuitous, round-about project from the original “hey..wouldn’t it be cool if..?” motivation that I thought would maybe be a weekend’s work of getting an Atmega324 to emulate a PSX controller. That’s the one in the image above, from last fall. I began the design last summer thinking I’d be done in short order. It should be..I’ve just got grease in my head or something. I was anticipating perhaps some trickiness because I took the trouble to pull out the boundary scan signals to the edge of the board so I could do some JTAG debugging. What went wrong? Well, mostly timing related things. This project motivated me to get my own logic analyzer so I could figure out what the heck was going wrong. There were mostly timing-related problems that I sort of pushed to the side to pursue another possible solution, which led to this current (v07) design.
How did this all start? I thought it’d be an interesting little bit of game controller provocation to have a controller that “got tired” just as one’s avatar might in a video game. To do this, I figured I’d have to Continue reading Refining
Sketching From Ideas to Material
Digital Designers Rediscover Their Hands is an important piece on the ways that “sketching” in hardware can become a way to invigorate a relationship between creativity and materiality. It features some friends from the Sketching ’08 workshop that I was at a few weeks back at RISD. (Link to some stuff.)
The highlight here (besides the nice quotes from Mike Kuniavsky and Dale Dougherty) is the interesting reversal implied. Rather than CAD (computers used to aid design, or computer aided design), we’re seeing some motivation to use physical design as a way to evolve and shift the meaning of computation. The Montessori-like tinkering with hard, material objects that are somehow “energized” through simple electronics (lights, motors, gears, all kinds of electronic sensing devices, switches, accelerometers, etc) can create richer insights into what computation can be. It’s more than just the excitement around a new programming language, or a new operating system. Those are the things that, more often than not, one ends up doing a bit of a shrug after the initial excitement with an updated version of Photoshop or something. The shift is quite a bit more fundamental in the sense that one begins to re-imagine what the machine is and what it can be — what “computation” means begins to shift subtly when it’s no longer just a keyboard/screen/mouse/network assemblage. When a data processing entity is able to have some sense of the physical world around it, more than the sliding of a mouse, or even more than accumulating or dispersing bits of data hither-and-yon across a network, you begin to imagine a world that’s differently invigorating.
The fundamental relationships here are between the digital and physical, or 1st Life and 2nd Life and finding the sliding-scale of in-betweenness. Typically, we might consider “digital” stuff to be things that are somehow ephemeral, on a screen exclusively or in a database. Neglecting the actual physical character of this stuff anyway (it’s all atoms when it comes down to it), thinking this way is a convenient design trope — it makes it easy to construct a binary. Digital stuff is in the computer. Physical things? Well, they’re out in the “real world.”
What this kind of hardware sketching is able to do is create some good trouble for this binary. As soon as you start connecting your computer up to lights and motors and such all, and writing simple programs that allows your program to whir some motors, you’ve created a bridge from the digital to the physical. Your mind wanders away from the binary. Where does it wander too? Well — that’s the exploration. And thinking too hard about where you’re going kind of ruins the fun.
There’s a conceit here that working with your hands (more than punching little plastic squares and pointing at pixels on screens) produces a transformative kind of design. I tend to agree. It’s hard sometimes but mostly because those are muscles (in the hands, as well as the brain) that are little exercised in the world of computer-related stuff. We’re more flexible with the soft, brainiac world of computer creativity. But the world of hand-craft is less flexible. The tools are still infantile in relationship to where the folks living in the near future would like, and need — although many fold more complete, easy-to-use and much less expensive than they were about a dozen years ago when I was more of an electrical engineer than I am now.
Another very interesting note is that the tools are made by the community of practice. It’s like building your own saw and hammer to make your own house. This is important. It has the ring of real barn-raising sensibilities, with the meta-upside being the way the tool-building knits together the community of practitioners who become more able to construct their own visions of what the future looks like. (It’s not for everyone, but reading the Adruino developers’ list can be fascinating if only for the various negotiations and compromises that are shaping what these hammers and saws do, for whom and why.) The tools are open-source, so the process if proactive and engaged, rather than distanced relationships to proprietary tool builders. You can be the future you want, rather than waiting around for someone else’s vision of a closed, stymied future.
Continue reading Sketching From Ideas to Material
PCA9306 Level Shifter
Persistent nagging problem — shifting logic levels between devices that are fabbed with different technologies so their voltages end up being different. Digital circuits “trigger” based on voltage levels — a logic 1 or high signal is relative to the electrical specifications of the device and the fabrication process of the silicon. (A techie diagram is available here.) It’s not a new problem, but one I seem to be coming across more and more as I use the Arduino to do quick sketches of project ideas, or to stand-in for a more embedded solution that might use another of the Atmel 8-bit devices later on when the design and details are more refined.
I’ve tried a bunch of things, including the kind of canonical reference circuit from Philips that uses the BSN20 MOSFET. Sparkfun has a neat little breakout board using a MOSFET, the BSS138. Same principle, built out for you by the fine folk at Sparkfun.
While poking around some more what cause of this PSX project where I have an Arduino trying to talk to a Parallax Propeller, I found reference to a single-chip solution from TI that’s called a PCA9306, which is that small guy up in the photos above. (Just a hair smaller than an 8-pin SSOP package, which means that it was too small to fit on this SSOP break-out — the pins don’t reach the copper, so I had Igor do some hand work to get that to take hold.
Continue reading PCA9306 Level Shifter
Inconsistencies
A couple of curious vanity plates seen in rapid succession. The inconsistency between the sentiment expressed in the vanity plate and the sensibilities, politics and mythology/religion captured in these particular vehicle’s brand culture seems almost diametrically opposed.
In the first case, I see Gaia as probably related either to the Gaian hypothesis, which sees the earth as an organism in itself, shifting the perspective of human(ity) from masters to mere specks. Sort of the selfish gene taken to shift the relationship where the earth, well — we’re just a virus perhaps, or another of zillions of species, and perhaps the most damaging. But, either way — the earth will continue on in various forms, and humanity may indeed just wash away, barely a footnote in the time-scale of the universe. In this case — might not a fracking Cadillac Escalade be a particularly noxious expedient to the eradication of humanity what with this, you know — ecological carbon crisis?
Ian reminds me that the Gaia hypothesis states that the earth is an organism that will self-correct any damage inflicted upon it. So, we might better read the first inconsistency as a kind of expression of vanity in its purest form: “If the earth’ll fix the problems we inflict upon it, even if it means getting rid of humanity, then I may as well drive this ridiculously obnoxious, completely oversized, hell-mobile, even though I’m a 5′ 1″ miniature little valley blonde wearing ridiculous $500 sunglasses..the relative scale between my bird-like frame and this mansion-on-wheels make is feel like I’m driving the enormous, wasteful, ticky-tacky house my husband bought us to overcome the sense of inadequacy he has because he feels he’ll never be as successful as his dad? all the damage my idiotic lifestyle inflict upon this sacred rock will get washed away just like the bird crap that was on my windshield? that I had a homeless guy wipe away? and I only had to give him one of the dollar bills I had crumpled in my ashtray that’s overflowing with the half-smoked Marlboro Lights I sneak sometimes to help control myself from eating like a normal human being.”
The second one — a plate that expresses the owner’s commitment to peace and the block type car brand “Patriot” seems pretty far apart, especially these days where the patriotism idiom has been fairly well worked to the advantage of hawkish neoconservatives and such, who are probably the least likely to be 4PEEACE, at least insofar as peace would prevent them from conspiring to maintain an unstable state of world affairs for their own nefarious purposes.
Continue reading Inconsistencies
Propeller and Arduino
Not the most exciting thing, but an interesting challenge here. I’m trying to get a Parallax Propeller chip to behave nicely as an TWI/I2C slave with the idea that I’d like to create a pretty much black-box interface that’ll allow a TWI/I2C master to control it for stuff. Ultimately I’d like to use the Propeller in the PSX project. It’ll sit in between a Playstation 2 and a normal Playstation controller, and be available as a TWI/I2C slave, so that another device, that doesn’t really care to figure out how to talk to a Playstation 2 or its controllers can make the PSX box with the Propeller in it emulate, for the Playstation, certain button presses, etc. Or, it could “read” over TWI/I2C from the PSX box and find out what the real controller is doing. Or, it could just read or write from a special TWI register address to make the PSX box (with the Propeller in it) just do a “pass-thru” so that the signals just go straight through as if there were nothing in between.
That’s the theory. In practice, setting up this test jig took more time that I would’ve thought.
Continue reading Propeller and Arduino
Aspirations
Curious expressions of status through social practices. For those unfamiliar with the kind of bumper sticker — for which this instance is an ironic, long-overdue kick in the ass — they typically will express how well one’s child has performed in school, or sport, or other cultural affair for which parents can be proud. Example: My child received High Honors at Hugh G. Jackman Elementary. Or; My Child Swims First Team for Lando Calrissian Junior High School. All well-intentioned, but annoying in the way they assert a kind of status that is sure to plague children all the way through their middle-management years. Actually, what do I know..I only have a pocket full of nieces, nephews and godchildren, and the random collection of friends’ children for whom I play an avuncular role. It may all make sense and do good.
The question here is — what matters in the age where, for example, South Korean popular television shows hours of Starcraft competitions, all moderated by a trio doing color, stats and play-by-play? Who are our cultural heros? What are our the aspirations of digital kids as defined by their peers? By their parents?
Continue reading Aspirations