Sony SmartWatch hack lets it tell time with a teapot animation

sony-smartwatch-wireframe

This hack turns the Sony SmartWatch into a wristwatch. Functionally it’s not all that impressive. But the journey to get to this point represents quite a bit more. This example features an animated tea pot using a 3D rendering engine ported over to the device.

[Federico] started work on the project soon after hearing that Sony had released details about developing for the hardware. He dug into the documentation but soon found it lacked the depth he needed to get a handle on bare metal work. He shelved the project for a while until coming across the Astrosmash project we featured in June. That used a wrapper that allows Arduino sketches to run on the watch. After studying how that’s done he had enough background to port this code.

We’re still waiting to see a really innovative hack for the watch. But we’re glad to see progress with each new proof of concept like this one!

26 thoughts on “Sony SmartWatch hack lets it tell time with a teapot animation

  1. Not very impressive… 80s arcade machines could do that easily. Lets see texture mapping and per vertex lighting on it. Oh, and like 10x the triangles/quads.
    Still, a good start.

    1. That’s a CLASSIC teapot! One step above our old friend, the beach-ball. :)

      It’s basically the “hello world” of 3d rendering. And porting an engine to this thing is pretty cool. Writing it up is even cooler. Nice work!

      1. The teapot was indeed classic, but it was mainly “invented” for testing out different lighting techniques. This demo is only wireframe, which kinda disappointing me.

        Another cool thing he could do would be the Amiga boing ball.

    2. On the contrary very impressive!

      I don’t think 80s arcade machines’ graphics were software-only. This thing does not have FPU on it (Cortex M3), I think 30 fps is not bad at all.

      1. 80′s arcade machines had NO floating point math at all and ran at 4 to 12 mhz. This watch has 200X more horsepower than the best computer you could find in 1990.

        Absolutely no 80′s videogame did real 3d anything. it was all faked because there was not enough horsepower in the processors to even do 1 Frame per minute.

        1. You’d be wrong there, we did “real” 3-D on original Mac with 7 Mhz 68000 and 128K RAM. Full perspective 3-D, hidden surface removal, interactive with mouse movement. All right out of the latest paper from Alvy Ray Smith. Fixed point arithmetic and lookup tables are fast fast fast. The math was harder than the code. Sure it was wireframe but it’s hard to do better on 1-bit display. Of course 68000 assembler is very user friendly. This was an introductory class at Harvard, no doubt whiz kids could do even better.

        2. The Freescape engine was doing real 3d on the Commodore 64 and similar machines, at roughly 1 fps. (At the same time as keeping the creepy Driller soundtrack going..)

          1. Yup. And some games, STUN Runner being one that comes to mind, used filled polygons at a fair frame rate. STUN Runner itself apparently had a “math box” wired in there somewhere to help it along. Possibly something like a bunch of bit-slice processors.

            Plenty of arcade games in the 80s had full filled polygons. The 16-bit home computers had games that did the same, though perhaps a bit less smoothly.

            Since then there’s even people writing light-sourced texture-mapped corridor shooters for the C64! The Atari 8-bits have a very good version of Wolfenstein 3D, tho their CPUs ran faster than most other machines of the time. The Sega Megadrive, launched in 1998, had a full Wolfenstein section in it’s port of Toy Story.

            Other games did fake it, stuff like Outrun and Afterburner had built-in sprite scaling hardware that did a good job of faking perspective with that.

          2. I seem to recall that numerous demos for the C64 were pushing real 3D in near-real-time, again using lots of fixed-point math and lookup tables. And when your table lookup takes only 5 CPU cycles (LDA abs,X instruction, basically), certainly no more than 15, it was generally faster than all but the most high-end FPUs of the era.

            These same techniques can be used with much greater effect on the ARM core, I think, which is why I think roboman2444 feels it’s not as impressive as it could be. Using look-up tables would grant the CPU the horsepower to perform more sophisticated rendering.

        3. 80s video games did do the same math that thing is doing, although most of them used a laser display instead of rasterizing it to a buffer.
          Pretty easy to do, just do the perspective math on the vertices, and draw lines between them.

          Even though that little guy doesn’t have a FPU, it should definitely be able to render out things as complex as Quake.(many more triangles, texture mapping, multitexturing, realtime lighting). Quake can easily run 30fps+ on a 100mhz pentium, or my 200 mhz arm sony clie PDA from 2006.

          1. I know I’m only getting further off topic here, but I just wanted to note that vector monitors – the ones a lot of 80′s 3D/pseudo-3D games used, used an electron beam, no lasers.

          2. I think the main difference between a 100MHz pentium, a sony clie and this watch is the amount of RAM available. A 100MHz pentium is about the windows 95 era, and easily had 8MB of RAM, the sony clie seems to have 32MB of RAM, while the sony watch, although the CPU runs at 120MHz, only has 128KB of RAM. That’s why it will probably never run quake… Also both the pentium and the clie have a memory mapped framebuffer with the possibility of having a backbuffer and an efficient framebuffer swapping. The display of the sony watch is connected to the microcontroller via SPI, definitely not the fastest option…

        4. “The Sentinel” from 1987 used 3D rasterized graphics, just not in real time. If I recall correctly, “I, Robot” was even earlier and had true real time 3D graphics.

    3. You don’t think it’s impressive? Let’s see you do better :)

      Seriously. Go ahead and try it. I look forward to your impressive results

      1. Rudimentary wireframe 3-D is standard fare in any 3-D computer graphics class. Every student would be expected to have this working as chapter three or so.

        1. I don’t have a Sony Smartwatch, but i do have something very very similar in performance.
          Sony Clie tj35.
          I managed to get the quakeRally mod working on zQuakez.

    4. Why does it have to be impressive from a performance viewpoint. Can it not just be fun to look at and still be interesting as a hack? Just because you’re not pushing every last drop of the CPU, that doesn’t mean it can’t be fun… … no? It wasn’t possible in the 80′s to put a spinning teapot on a watch, was it?

      1. Different people have varying ideas of what makes a hack worthwhile. You’ll note the people who complain about hacks not being useful are generally not the same people who complain about hacks not being innovative.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s