16 ms·
Show HN: Ledonardo, my light painting hardware project
- rmbryan 7y agoThat's fun to read! Thank you for the excellent write-up.
- StavrosK 7y agoThank you! I'm glad you enjoyed it, I'm half worried everybody just skims the photos on these things :P
- kuu 7y agoWow! Nice effects. Great job!
- StavrosK 7y agoThank you!
- pvirgiliu 7y agoThank you for sharing this.
- StavrosK 7y agoThanks for reading, I'm glad you liked it!
- sdrothrock 7y agoI really enjoyed reading about your development process! I was thinking the entire way though that it was kind of a shame that most of the images were just making "hologram-like" pictures that we always see, but the last couple of pictures were more along the lines of the possibilities I was thinking of! Have you considered adding some kind of depth support that would allow you to make "3D" images by moving not only left and right, but also back and forth?
- StavrosK 7y agoThat's an interesting idea! You can already do that by just moving back and forth, all you need is to project the image flat and know when to turn. I will try that next, thanks for mentioning it! Do you have any particular ideas on what would be cool to try?
- sdrothrock 7y agoMaybe you could have it beep in a certain pattern or pitch to cue you as to when you should be turning in a certain direction. My first thought was that with something like this (https://www.stavros.io/posts/behold-ledonardo/wings-small.jpg https://www.stavros.io/posts/behold-ledonardo/wings-small.jp...), it would be cool to walk around the subject and have the "wings" actually furl AROUND them rather than simply in front of them, though that might take some choreography to make sure that your own shadow doesn't affect the image too much. Another thing that I thought was that if you can also selectively turn on only portions of the bar, you could effectively create "windows" in the portrait as you did with the other set of wings (https://www.stavros.io/posts/behold-ledonardo/alexandra-small.jpg https://www.stavros.io/posts/behold-ledonardo/alexandra-smal...), which could work really well with something 3D-ish, where you can see through one part of the lights to a different background also generated by the lights.
- StavrosK 7y agoAhh, yes, these are great. You can easily do them now, they just take some choreography and specially crafted images. The shadow isn't much of a problem if you walk fast enough and aren't lit, since you're mostly behind the lit bar, which drowns you out anyway. I'll play a bit with the window idea, feel free to follow me on Instagram at https://www.instagram.com/stavroskorok/ https://www.instagram.com/stavroskorok/ if you want to see the progress (I post all photography-related doings there).
- heyflyguy 7y agoI absolutely love the intersection of technology and art, nicely done!!
- StavrosK 7y agoThanks, that's what I love about that project too! I'm trying to come up with more ideas like this but it's hard, I'm at least glad I had one this good.
- fredley 7y agoThis looks great! Really impressive results! Have you considered attaching the light strip to a steady-cam type rig to minimise the amount of wobble?
- StavrosK 7y agoThank you! I have, but that might be a bit overkill. Maybe a flexible handle would be nice, but the wobble isn't too bad when you're doing abstract patterns (it might even add to the aesthetic). I will try a flexible handle now that you mention it, though, it's a good idea.
- 2sk21 7y agoWonderfully artistic!
- apandhi 7y agoFor an out of the box solution, take a look at the pixelstick
- NKosmatos 7y agoNice one Stavro!!! It's been some time since your last side-project, but this one is just great. Perfect bridge of technology, photography and art. Do you plan to share the code and BOM for Ledonardo?
- StavrosK 7y agoIt has, yes (at least the ones I posted). I can definitely open source the code if there's interest, I didn't initially just because there's a password committed in the firmware. The BOM isn't interesting at all, it's just a WeMos D1 mini with a microSD shield, and the LED strip is connected to that and powered by two 18650 batteries in parallel.
- skypanther 7y agoI'd love to see your code. In particular, I'd like to see what you did with "I could just directly assign the data I read from the SD card to the internal buffer of the LED library instance and display it."
- StavrosK 7y agoOh, that's just this: self._np.buf = column self._np.write() Where column is a list of RGB (or RBG) pixel values like [128, 255, 0, 255, 0, 0, 128, 15, 200].
- 1g0rb 7y agoReally great writeup and results! I did something similar but much simpler few years ago (https://hyperglitch.com/articles/lightstick https://hyperglitch.com/articles/lightstick) but instead of long exposure (as I didn't have the good camera) I recorded the video with webcam and reconstructed the final image from it so I didn't have to shoot in the dark. The octave script for image reconstruction is very basic (and the results are very lo-fi :)) but maybe you can use the same approach and with some more work make more usable results (or phone app :))
- StavrosK 7y agoOh wow, I guess I'm not as original as I thought :P That looks great, and you can get lots of long exposure apps for your phone so you don't have to use a script to reconstruct the image, have you tried those?
- 1g0rb 7y agoDidn't really thought of that :). But this was in 2015 and basically just a very lo-fi weekend project without any care about resolution or color reproduction (I saw pixelstick project and just wanted to see if I can make something similar :)) after which I used the LED strip for something else.
- StavrosK 7y agoOh jeez, the Pixelstick existed back in 2015? Looks like I was quite late.
- 1g0rb 7y agoBut I'm really glad you didn't know about it and made yours :) since you really put a lot of thought into the details about color reproduction, resolution and diffusion. It's a very fun thing to play with and anyone wanting to build something similar will now be able to find great resource of info and implementation details on your site.
- lr4444lr 7y agoGreat write up.
- nathancahill 7y agoI love the version of this for light painting Wifi signal strength: http://voyoslo.com/projects/immaterials-wifi-light-painting/ http://voyoslo.com/projects/immaterials-wifi-light-painting/
- netgusto 7y agoNice work!! Similar, check it out it's impressive too! Tom Stanton's Long Exposure Drone Imagery https://www.youtube.com/watch?v=0QVjqSObEJs https://www.youtube.com/watch?v=0QVjqSObEJs
- StavrosK 7y agoJeez, that's amazing, thanks for the link! I had no idea it'd look so stable with a drone...
- GistNoesis 7y agoNice. If you add some camera to the leds, using Aruco markers you can easily get the camera pose and adjust the led colors accordingly to draw a predefined image without needing a steady hand. You probably can turn this into a phone light brush app if you use front camera and screen as a led (the torch usually don't change color), but it still has some challenges with respect to latency (in dark environment cheap camera get slow) and user-friendliness specially if it needs calibration.
- StavrosK 7y agoHmm, wouldn't that add unacceptable latency? I feel like it would be at least 50ms.
- GistNoesis 7y agoAs I mentioned latency is indeed an issue, but I don't think it matter that much. Your pixel will be offset by the movement during this 50ms (probably more) which will be a typically a few centimeters, so edges will get a little blurry but I'm not a light painter expert. If it is really a problem, assume pose velocity from the previous frame positions and correct for latency and turn off the screen if acceleration sensor is greater than a value.
- StavrosK 7y agoThat's true, if you have a phone you can use the sensors on it to do dead reckoning in the interim. I'm not a mocap expert, but this seems very doable! It would be a great idea.
- tnolet 7y agoReminds me of the Flaming Lips stage show where they a huge amount of flexible, LED strips as a backdrop going through all kinds of animations as the show progresses.
- 1g0rb 7y agoI think they used EL wire and not LEDs (if we're thinking about the same thing)
- dekhn 7y agoI built one of these to get more experience with FadeCandy (a small board that will drive 8 x 64 neopixels). I ended up building a 64x64 (4096 or 4K) display that did 30FPS, you could drive it with all sorts of different things including scraping screen pixels or sending a webcam output to it. It consumed a bunch of power (500W) and was a bit clunky but a friend rebuilt it and I think it made it to burning man this year (and came back too dusty to use).
- code4tee 7y agoVery cool. I love this physical photo effects stuff.
- herpderp3dtwerp 7y agoI have a Pixelstick for sale if anyone is interested.
- dschiffner 7y agointerested
- klausjensen 7y agoAwesome writeup, thanks for sharing. And the name is brilliant... LEDonardo (giggles).
- StavrosK 7y agoThanks, it doesn't register for many people as the brain skips over the extra "d" :)
- ksaj 7y agoThis reminds me of the light project at the CN Tower. The tower has lights running up the sides, and a guy with a laptop programs colour sequences on it. Because of the motion, it becomes obvious these can include animations, so occasionally he actually generated photo-realisitic "slices". Someone came along and did something very similar to your project in order to expose the images in their entirety, which comes across almost identical to what you've done (minus that organic ribbon appeal you went for). In his case, the standard "moving colours" come out looking like simple flags, and of course the images look like whatever they are. I think this artist was inspired by the workings of a photocopier, which the second person who wrote the software to decode and expose it clearly picked up on. I'll update this later if I get to my desktop and can post a link to that project.
- StavrosK 7y agoPlease do, I'd be very interested in seeing it and I don't think I understand exactly without some visuals.
- radioactivist 7y agohttps://youtu.be/rqFMbXMfS9Q https://youtu.be/rqFMbXMfS9Q
- StavrosK 7y agoThat's fantastic, I was wondering whether it was actually images or just randomly blinking LEDs that this effect read too much into until the RCMP image came up. Amazing.
- ksaj 7y agoI used to live on Queen's Quay and saw it pretty much every night. At first it was only the solid colours blinking and racing up and down the tower, but one day it was really obvious that there was a picture involved - it looked like the edge of the screen of a worn out VHS recording. A while later, this video was made, so finally my curiosity was satisfied.
- anfractuosity 7y agoLots of very cool photos :) Have you thought of also doing video with it, via stop frame animation, although that could be very time consuming!
- StavrosK 7y agoHmm, how do you see that working? Wouldn't it just look like normal video? You'd see each "slice" in the air, rather than a complete image.
- anfractuosity 7y agoI mean still do the long exposure as you're doing for your stills. And use say, 25 long exposure photos per second for the video. But make the patterns animated, so for example with https://www.stavros.io/posts/behold-ledonardo/maria-small.jpg https://www.stavros.io/posts/behold-ledonardo/maria-small.jp... you could have the light appear to rotate around the lady. I imagine it'd be extremely slow work, creating enough photos though!
- StavrosK 7y agoOh, I think you can just take the video and do that in post, actually! I will have to try it, it's a very nice effect.
- jeffschofield 7y agoThis is really cool! I built something almost exactly like this, though we used the ESP32 instead. [1] What I find interesting is that I never had an issue with dropped columns over network using the ESP32 as an AP. Did you connect the ESP8266 up to an existing network? I didn't see a mention of how you designed the brushes in this write up, were they all just images on an SD? I experimented with a palette app to design the brushes (solids, gradients, images, manual) and to send the frames to the brush. Curious what your solution was! This year I am adding a gyroscope to the device to experiment with 3D space and holographic content. Also trying different LED attachments (like a circular or matrix display) for different effects. There's a lot more to explore! I'm happy to see this today, the denser version looks very nice! [1] https://twitter.com/JeffScript/status/1178446997507977216?s=19 https://twitter.com/JeffScript/status/1178446997507977216?s=...
- StavrosK 7y agoOoh, yours looks amazing as well! Yes, the ESP8266 was the AP and it was dropping (or maybe not displaying? I doubt that) packets. Maybe the ESP32 is just beefier, or maybe it's the second core (the ESP8266 probably had to put the wifi chip on hold while sending data to the LEDs). The brushes were just images, yes. It's interesting that you'd ask that, because I didn't have a concept of a brush (it's all just images), whereas you do, since you use them :) In my case, I have a PNG with the pixels I want, and then select the minimum time step and duplicate the columns in the PNG as I want them, so I run through each PNG column to generate the "brush". I really like how your example "fans out" by activating more LEDs in time, I should try that as well. I think you'd get much better results with some electrical tape as a diffuser (unless you like the stripes!) too.
- jeffschofield 7y agoHaha I've been so absorbed by the brush metaphor in my take I didn't think about what other terms to use. The fanning out is from a brush size slider in the app. My goal was to make it performance friendly for artists so the app has a bunch of real-time things like that. You're probably right about the dropped packets, though it makes me concerned I'll eventually run into the same problem and my whole workflow depends on the network not sucking lol Do you set your time step arbitrarily? I haven't implemented a solution for stabilizing the time step (until the gyroscope is added) and found it very difficult to get non-skewed results on images. Yours look really nice though, was that just patience and a steady hand? I really want to improve the density on mine after seeing your results. For sure I'll work on better diffusion as well, we had one that blurred the results too much so we bailed on the idea but I think a denser strip and a tighter diffusion would be awesome.
- Jarwain 7y agoLooks great! It actually reminds me of these LED staffs or POI that some spinners use. It's conceptually similar; you can get some pretty cool images from a long exposure where someone is spinning. However, the image is somewhat visible to the naked eye just from the speed at which these Poi are spun. https://youtu.be/4N2XH1Gx8dQ https://youtu.be/4N2XH1Gx8dQ
- StavrosK 7y agoUnfortunately that video isn't available here, are they POV POIs? Do they project an image in the air according to their angular velocity?
- Jarwain 7y agoYeah, POV poi, or LED Poi should be valid Google queries I think some project an image based on their Angular velocity, others might just be timer-based. Here's a link to a product I've had my eyes on for a while (https://ignispixel.com/store/poi-pro/ignis-pixel-poi-256-hd https://ignispixel.com/store/poi-pro/ignis-pixel-poi-256-hd) the video there should work.
- StavrosK 7y agoI have to say, I really love the comments here, I post something I made and everyone chimes in with a bunch of interesting projects either they or someone else has made, or new ideas. They're both interesting to read/see and inspire me to work on new things, so I'd like to thank you all for making this comment section a joy to read.
- soperj 7y agoWould be kind of cool if you could do it quick enough so that you could get the images with a normal shutter speed. That way bands could screw with people taking pictures of their concerts and make it look like there were crazy antics going on on stage.
- amelius 7y agoCurious: did some company already create a practical 3D display by moving these strips fast enough?
- fitzroy 7y ago> images come out great as long as you specify your walking speed in the app Very cool. This reminded me of the bike-mounted dot-matrix printer. Similar concept: light vs ink. https://www.wired.com/2004/08/cops-put-brakes-on-bike-protest/ https://www.wired.com/2004/08/cops-put-brakes-on-bike-protes...
- StavrosK 7y agoHahaha, glorious.
- adfgadfasa 7y agoThis is so great. Back in 2004 it sounded way harder to pull off with the available hardware too.
- defined 7y agoGreat article, and I love the blend of art and technology. You are so often doing projects that involve visual, physical, and conceptual creativity; sort of concretizing the abstract into aliveness.
- StavrosK 7y agoThank you! That's kind of my goal, so I'm glad to hear you confirm it.
- vavooom 7y agoIncredible art. Can imagine this sort of 'art-tech' becoming popular in museums and such in the future.
- ww520 7y agoNice execution on the idea. I remembered seeing those LED painted images. Have just checked Youtube and they have come a long way. https://www.youtube.com/watch?v=OkMj1bt96Cc https://www.youtube.com/watch?v=OkMj1bt96Cc https://www.youtube.com/watch?v=gEa7R7BRUj4 https://www.youtube.com/watch?v=gEa7R7BRUj4
- ebspelman 7y agoYou might like Golan Levin's lectures on different forms of Experimental Capture. They are just collections of really good examples and previous work. He specifically has one about light painting and long exposure: https://github.com/golanlevin/ExperimentalCapture/blob/master/docs/longexposure.md https://github.com/golanlevin/ExperimentalCapture/blob/maste...
- StavrosK 7y agoSome of these are mesmerizing, thank you for sharing.
- Grollicus 7y agoOn this years CCCamp they put a strip like this on a lamppost and if you moved your head around a bit you could see images.
- crtlaltdel 7y agothis is neat! my dad is a professional photographer and told me about “light painting” using super long exposures in a darkened space, wearing all black and using gelled lights. he had a friend who shot motorcycles, not sure for whom, but used the method to add colored accents, such as an orange glow around the engine. txting him this link, he’s gunna love it!
- Tepix 7y agoThis is neat! I read about it (called light scythe https://techcrunch.com/2011/06/28/light-scythe-is-a-monster-led-strip-for-long-exposure-art/ https://techcrunch.com/2011/06/28/light-scythe-is-a-monster-... ) and building my own for the 2011 chaos communication camp. The pictures i took were hosted on Google Plus so i guess they are lost now. I had the same issues with packet loss via bluetooth as the author. Edit: found an old picture https://imgur.com/a/pyCT9HX https://imgur.com/a/pyCT9HX
- dhlin 7y agoHow the person who grabs the pixel sticks is removed from the final photography?
- oldgradstudent 7y agoNo need to remove anything. The person is orders of magnitude darker than the LEDs and constantly moves so they contribute little to the exposure at any point in the frame. To appear in the final photo, a person would need to remain in place for a significant amount of time.
- kelvin0 7y agoGreat work, very well executed. But I have one question: if a person is moving the stick around while capturing, how do you remove the person and keep only the LEDs in the final 'painted' picture?
- roddds 7y agoSince there's very little light hitting the person at any given point during the taking of the picture, they're usually visible as a very faint blur, or just not at all.
- neuralzen 7y agoI love these kinds of projects, and jumped on the pixelstick kickstarter several years ago when it released. Here is one of my favorite images from messing around with it https://imgur.com/e4UWiqz https://imgur.com/e4UWiqz