[HN Gopher] DIY RGB Icosahedron ___________________________________________________________________ DIY RGB Icosahedron Author : blutack Score : 495 points Date : 2021-09-22 11:31 UTC (11 hours ago) (HTM) web link (gregdavill.com) (TXT) w3m dump (gregdavill.com) | doctorhandshake wrote: | This is super bad ass. | | I made 8 LED icosahedra and 12 octahedra for a permanent lighting | install in Boulder. They're much larger (and thus were easier to | make albeit much harder to handle ;) ) than this. I still gotta | do the case study but some pics: | https://www.instagram.com/p/Bv0dYbdH0yw/ | https://www.instagram.com/p/Bv-sF0oH4Rd/ | https://www.instagram.com/p/B5czvt_n3ME/ | | [edit: less unintentionally self-aggrandizing] | nxpnsv wrote: | Spectacular! | micromacrofoot wrote: | This is magical! This level of focus is impressive. | qwertox wrote: | Next step would be to add an IMU into it so that it can react to | movement. | | Like behaving as if it's half full with water and make the liquid | move around when placed on the table or picked up. | jpm_sd wrote: | Really cool project and brutally honest write-up, I LOLed at | "I'll leave that for future Greg to worry about." | | Keep up the good work! | bloopernova wrote: | Something I say when I'm thinking about what to comment: | | "Screw you, future me!" | | It's so easy to leave things for future me to deal with. But | future me would think present me is an asshole for not | documenting. | | Try to not be an asshole to your future self :) | egypturnash wrote: | A lot of the time when I'm doing something unpleasant but | necessary, I say "You're welcome, future me!". And now and | then when I realize I'm doing something super-easily because | of the hard work of past me, I say "thanks, past me!". | joejohns wrote: | Is there any available resources in which I can jump start my way | into making these kinds of creations? | jrockway wrote: | If you want to make an icosahedron, you're on your own, if you | want to play with grids of LEDs, then there is a lot of stuff | you can buy and write a little bit of code for. | | You could get something like the Matrix Portal and an off-the- | shelf LED matrix to make an Internet-connected sign: | https://www.adafruit.com/product/4745 (I use one of these to | show the indoor and outdoor temperature, and it's only a few | lines of Python.) | | If you already have a microcontroller in mind and just want a | grid of LEDs, these are great: | https://www.adafruit.com/product/3444. I have a bunch of them | wired in tandem to serve as a display for my GPS clock: | https://raw.githubusercontent.com/jrockway/beaglebone-gps-cl... | | Also, you probably don't need an FPGA to drive LED matrixes | anymore. The RP2040's PIOs do a great job (the RP2040 is a $1 | dual-core microcontroller), and honestly even a plain Cortex M0 | does a perfectly fine job with cycles left over to run user | code (for 64x32 grids anyway). The project this post documents | probably could have been done with APA102s and a simple | microcontroller spitting out a SPI signal to change their | colors. No FPGA, no MOSFET bodges, etc. 2400 pixels is 7.2kB of | data, which you can easily output many times per second. | foobarian wrote: | > 7.2kB of data, which you can easily output many times per | second | | I found that this adds up quick if you attempt variable | brightness via PWM. At 1Khz this is 7.2MB/s of data. | jrockway wrote: | Yeah, that's why FPGAs typically drive the matrix of dumb | LEDs. But if you use APA102s, they remember their PWM | setting, and a little chip inside each LED handles that. | You just burst the data out over SPI, and the LEDs remain | lit until you inform them of a new color to display. | Expensive, but easy to use! | solarkraft wrote: | This is interesting. I've been thinking of making an icosahedron | shaped room lamp with separately controlled sides for a while and | this might provide some inspiration and perhaps motivation to | start thinking about it again. | rafaelturk wrote: | This Amazing, pure Art. Kudos. | roland35 wrote: | That is a beautiful project. | | With huge numbers of RGB LEDs I wonder if in the future using | some sort of small FPGA per panel would make things easier? I | have seen that done in some persistence-of-vision projects. | kryptn wrote: | I'd love to design and build something like this myself, but all | of the electronic design seems so daunting. | | Where's a good place to get started with this? | anyfactor wrote: | I am in the same spot as you are. I enjoy channels like Great | Scott, Carl Bugeja, ElectroBoom and EEVblog. They make it | working with electronics seem quite easy. | | Planning to get some GPIO headers for my raspberry Pi, | breadboards and led lights to just get started. | derac wrote: | Wow, amazing end result. It would be cool if it could detect | orientation and change the animation based on that. | CodeIsTheEnd wrote: | If anyone is curious, the origami stellated [1] icosahedron in | the second image is built from Sonobe modules [2][3], a kind of | modular origami. Basic structures formed by Sonobe units have | 3-sided 45-45-90 pyramids on top of an underlying polyhedra with | triangular faces. | | Each Sonobe unit functions as an edge in the underlying | structure, so building a structure around an icosahedron, which | has 20 faces and 30 edges, requires 30 units, and yields a | stellated icosahedron with 60 faces and 90 edges. | | You can also build a stellated octahedron from 12 pieces, and a | stellated tetrahedron (which actually just appears as a cube) | with 6 pieces, but that's just the beginning [4]! | | [1]: Strictly speaking, it's not a true stellation, which is | formed by extending the planes of faces until they intersect. | [2]: https://en.wikipedia.org/wiki/Sonobe [3]: | https://www.amherst.edu/media/view/290032/original/oragami.p... | (instructions for folding; I believe the image uses the two- | mountain folds variation on the first page) [4]: | https://www.polypompholyx.com/2017/01/modularorigami/ | dgritsko wrote: | I love HN, I stopped as soon as I saw that second image and | came to the comment section hoping that there would be a | comment like this one. I know what I'm doing this afternoon. | jaywalk wrote: | I'm in awe at the amount of patience required to hand-place 2400 | tiny LEDs. I don't have it in me. | kazinator wrote: | Not so different from knitting or cross-stitching or whatnot. | | Lots of crafts require repeating some elementary steps | thousands of times. | laumars wrote: | I've never understood them either. But then one of the | motivations for taking a career in IT was so I could automate | repetitive tasks. Little did I realise at the time that a | whole industry would form around that basic motivation. | stavros wrote: | Yeah, wow. It takes a special kind of person for sure. I would | do three before getting tired (plus my eyes have this weird | thing where the center of my vision goes blurry if I focus up | close for a few minutes, so odd). | jhgb wrote: | You'd probably build a machine to do that for you. | altacc wrote: | This is a one off build, where they placed the LEDs by hand. | jhgb wrote: | I imagine that even one-off builds of complicated things | may include specialized tools in their construction. | dylan604 wrote: | Most people do not appreciate that when doing custom | builds, it is often the case that it takes more time to | build jigs and other things to help than it takes to do | the actual build. | jhgb wrote: | Yes, but GGGGP suggested that the alternative would be | not building it due to lack of patience. That's not | "extra time" but the difference between having and not | having a result. | altacc wrote: | In this case there is a video of them placing the LEDs by | hand. At least they didn't have to solder them | individually! (They used reflow soldering.) | tinus_hn wrote: | You would be surprised that many complicated things are | built manually, it's much too expensive to build a | machine to do it. Chinese hands are really cheap. | pottertheotter wrote: | There are a few people working on open source pick-and-place | machines. Here's one example https://youtu.be/y14pdfjYsyo | ThePhysicist wrote: | Many PCB services offer SMD assembly as well, though the | pricing is quite high for prototypes. PCBWay e.g. quotes over | 300 USD for a single board with 2400 parts, though that price | goes down quickly when ordering more (e.g. when ordering 50 | they will only charge 20 USD per board). | alana314 wrote: | Is there anyone here that would assemble something like this | for cheaper? I don't have a reflow station but am making | something similar and would pay someone to do a prototype | (hopefully less than $2400). Based in Los Angeles. | mhb wrote: | JLC offers SMD assembly and it's cheap. But maybe they didn't | stock the LEDs he wanted to use. | stavros wrote: | Do you know of a tutorial on how to do assembly with | KiCAD/JLCPCB? I've designed a few PCBs and tried to do | assembly once, but IIRC my biggest problem was figuring out | which parts they had that I could use and how to send them | the info. | duped wrote: | Their parts library is available for download and search | https://jlcpcb.com/parts | | They have instructions on how to generate the BOM and | placement files as CSV too | https://support.jlcpcb.com/article/84-how-to-generate- | the-bo... | stavros wrote: | Ah, I'll try again, thanks! | dapids wrote: | Stencil, paste, steady hand and a reflow station is all you | need to be done this type of placement in just about a few | hours. The surface tension from the paste will get you 90% of | the way there. | lupire wrote: | OP estimated 60hrs for placements and related work. | wongarsu wrote: | Removing the 300 Mosfets and resoldering them with botch | wires was probably a larger part of than then the 2400 LEDs | dapids wrote: | Then OP is choosing to do that themselves, not a big deal, | but yea, sounds about right if you don't have paste or | stencils. I've done a 3212 component board in 6 hours with | handheld reflow. It's possible. | ChrisMarshallNY wrote: | That is incredibly cool. | | I'd think it would be a great programmable D&D dice, except that | it might not handle being tossed around. | jopsen wrote: | Wow, that's a lot of work... | | Next time (LOL), maybe put a gyro-sensor inside it, and program | the light such that waves mimic motion... or... | NamTaf wrote: | The end of the article talks about mapping the LEDs to 3D | space. Once you've done that, I agree that throwing in an | accelerometer would be awesome. You could take what he did on | his cube[1] and then have it so the animation always flows down | in gravity. | | Then roll it like a die :) | | [1]: https://twitter.com/esden/status/1160309492896215040 | punnerud wrote: | This made my day, after watching the assembly video: | | <<You assambled all 19 before testing first one?>> | | <<....Yes. I am not a smart. -_-*>> | | When you are in the production flow, it is hard to stop for | testing.. Good to see it's not just me that can make this kind of | mistake. | monkpit wrote: | I am looking to do something like this as a Christmas gift for my | son. However, this looks pretty labor-intensive (300 bodge | wires!). | | I have dabbled with arduino in the past but I am no expert with | hardware. | | Does anyone have suggestions of cool projects similar to this? | Toy-like LED things :) | | Or even a website I could browse to find similar projects (like | Instructables maybe)? | wlesieutre wrote: | Strings or panels of addressible LEDs would be a good place to | start. Adafruit brands these as "neopixels" but the specific | LED most of them use is a "WS2812", "WS2812B", or "WS2813". | | With these you have a single data line from a microcontroller | to control the LEDs, and there are libraries to help you do | that. | | I've lit some up and fiddled with them and they're pretty cool, | but I haven't come up with anything more serious to use them on | yet. RGB lights on stuff for the sake of it isn't my aesthetic. | But maybe a clock and weather forecast station with animated | rain effects or something. | | Lots of info here: https://learn.adafruit.com/adafruit- | neopixel-uberguide | | https://www.learnrobotics.org/blog/neopixel-projects-ridicul... | blutack wrote: | WLED is also fantastic if you are using WS/APA/STK style | addressable LEDs. You just need a dirt cheap ESP32/8266 and | you get a wifi connected lamp with a lovely web ui, cool | animations, android app, timers, home automation integrations | etc etc. | | https://github.com/Aircoookie/WLED | thoughtpalette wrote: | tindie.com has some cool little projects. | foobarian wrote: | My kid likes to sleep with a nightlight. But commercial | nightlights all have problems: either they are too dark, or too | bright, or in the wrong spot, etc. So we made her one out of a | LED light string and a colored glass flower vase on the | nightstand, and ran a control cable to the headboard where she | can easily reach a potentiometer with a nice satisfyingly heavy | metal knob. | | For v2 of this I was thinking of using the Arduino PWM pins and | make the mapping function from potentiometer to brightness a | little more linear to the human eye. I have a prototype that | works pretty well. Could probably add a little segment display | to make a clock or thermometer (she likes to know the temps). | Our own StavrosK's project here was super inspiring: | https://www.stavros.io/posts/do-not-be-alarmed-clock/ | | For v3 I was wondering how to implement the transfer function | in analog components because I hate the PWM flicker. Even when | I use the high frequency modes I can still see it. But I'm not | very good at analog design yet. :-) | jvyduna wrote: | Have a look at Pixelblaze. It's a subset of JS on an ESP32 with | no compilation - you code in a web browser and the LEDs just | render live. I've done plenty of Arduino; this sidesteps the | mundane getting-started knowledge base. | | This $6 37-LED mini hexagonal board is a fun starting point, | cheaper than most strips and matrices: | | https://shop.m5stack.com/products/hex-rgb-led-board-sk6812 | monkpit wrote: | Thank you! This looks great! | tired_and_awake wrote: | From the future work aspect the author might consider adding an | IMU to the device. It could mimic dice behavior or change state | based on motion. Also a great opportunity to learn about dynamics | and signal processing. | tmd83 wrote: | Just beautiful and a quick scroll seems to suggest a fairly | involved undertaking. Hoping to have fun reading it but for now | just enjoyed the look of it, | | I think having so many sides adds a lot of visual appeal. | kzrdude wrote: | Does anyone understand the 'footprint rotated 90 degrees' issue? | I can't see it in the picture or understand what the problem is. | [deleted] | [deleted] | wlesieutre wrote: | Each LED has four contacts on the bottom. When the solder | melts, surface tension of the solder should pull those contacts | into alignment with the pads on the board. | | I think what they're saying is that they they accidentally laid | out the contacts in the wrong orientation, and needed to rotate | the LED 90 degrees to put each contact on the appropriate pad. | Because the arrangement of those pads is not quite a square, | the LEDs do make the connections, but they don't get aligned | quite straight. | wlesieutre wrote: | Missed edit window, but comment should say "laid out the pads | in the wrong orientation" | bullen wrote: | I would make a usable display with leds like these if I could! | terom wrote: | I wonder if the people commenting "I want one" would still agree | if they knew how much it would cost to produce and assemble in | small quantities. Would 1000EUR/piece even be enough to cover | costs? | rowanG077 wrote: | Define "small quantities". about 100? no. about 5000? maybe | yes. | dylan604 wrote: | Imagine you're the one doing the building/assembly. Does 5000 | sound small to you? Does 100? | rowanG077 wrote: | Something like this will never be profitable to assemble by | hand. It's not a matter if it being a small quantity or | not. | dylan604 wrote: | Something like this at the 1k price point isn't | profitable? If you've never done anything like this | before, I can see it being daunting. However, if you'd | never done something like this before, you'd be crazy to | start here. | | When learning anything new you do a 'hello world' version | of something. Bicycles have training wheels. Electronics | has starter projects as well. You work up to something | like this. Being thrown into the deep end is not the best | way to learn how to swim. Eventually though, you get | comfortable that project like this are not daunting. | | You get your stacks of PCBs, you get all of the | interconnect wires, you get all of the LEDs, you get all | of your tools, then you just draw the rest of the fucking | owl. I would not be looking forward to making 5000 of | these, but I would not be afraid of 100. It won't be done | in a week, but by the time I got to 100, I'd be pretty | good at it. Again, if you know you're making 100, then | the added time of making the proper jig is well worth it. | | Also, isn't this something that Kickstarter would be | perfect for? | rowanG077 wrote: | Oke so let's to with a bit of napkin math. First | materials: | | 3d printed enclosure: $167.68 (unlikely to get a better | price for quantities a hobbyist will self assemble) PCB | for controller + parts, it's not listed in the article | but let's assume it's 25$. PCB for the LED panels + | parts. Let's also assume 25$. | | So now we are already at $213.68. Then let's factor in | labor. Someone who can create something like this would | not struggle with asking $100 per hour. I dare say | assembling the entire thing, correcting possible errors, | testing boxing + shipping will take more then 6 hours. | Only placing the LED's will take a significant amount of | time. | | So no I don't think it's profitable to sell this for | $1000. | dylan604 wrote: | For $167.68 per 3D print at 100 copies, you'd easily be | better off buying the 3D printer and doing the printing | yourself for much cheaper. So yes, a hobbiest could get | better prices. It is DIY after all. | rowanG077 wrote: | What? The HP MJF printers start at $130,000. You are at | little more then 10% of the price for 100 copies... This | machine is not a hobbyist 3D printer. | | Besides even if you would magically have 0 material cost. | it's so labor intensive that's it's not worth it at | $1000. | Workaccount2 wrote: | I've build a small run of cool electronic trinkets before and | it's really a killer how economically unviable it is. My BOM | cost (just raw components) was _twice_ what the final cost of a | comparable product, with free shipping, from China was. | | A lot of people are into "local made, hand crafted" until they | see it costs 4x as much for something that functionally isn't | 4x as good. | Workaccount2 wrote: | Man, I lived that same nightmare scenario with the flipped G-S | pins on a MOSFET. | | I had the board spun and excitedly soldered it all up. It was a | relay logic project with a few micros, tons of LEDs, swaths of | general logic chips, and a lot of relays. It was a hybrid | mechanical computer, nothing massive, but a lot of components. | | Fired it up for the first time and got nothing. Just like OP I | narrowed it down to the relay coils not firing. No signal out of | the driving MOSFETs. | | Being a fool I had trusted a random online library for the MOSFET | footprint, and of course the footprint had the G-S pins flipped. | I painfully bodged one before deciding to just bite the bullet | and spin another one. I cannot imagine doing 300 like OP did, | good on him. | mhb wrote: | It's a great write up, but is it really worth asking for free | PCBs that would cost ~$5 for a project whose cost is >$100? | blutack wrote: | I came across this randomly on kitspace | (https://kitspace.org/boards/github.com/gregdavill/d20-hardwa...) | and thought other people might be as impressed as I was! | bla3 wrote: | Beautiful. | | If you're just skimming, be sure to slow down and read the "Bodge | Time" section. | formerly_proven wrote: | If you're not familiar with electronics the macro photographs | might confuse you as to how small all of this is. The MOSFETs he | reworked by hand are 1 mm across the longest edge. Wire looks | like 0.1 mm, the individual strands in most stranded wire are | this thick. | amelius wrote: | > I went to assemble one, and when trying to determine the LED | orientation I discovered a fatal flaw. I had the footprint | rotated 90 degrees. (-___-) | | Why was that a problem? The leds are square, so you could just | rotate them by 90 degrees? | bananasbandanas wrote: | > I attempted to assemble a board bey placing LEDs at 90 | degrees, but ultimately this was a failure, the pads look | reasonably symmetrical, but they're not exactly. | jcims wrote: | This is the kind of full stack developer I'd like to be. Started | tinkering with electronics in earnest about a year ago but it | feels like I'm a decade away from being able to build stuff like | this of my own volition. | yboris wrote: | A nice "gateway drug" is an addressable (programmable) LED | strip. Hook it up to a Raspberry Pi or Arduino and have at it! | I bought cheap motion sensors and will be installing a strip | along the inside of a staircase to light up when I approach it. | | https://github.com/whyboris/Arduino-LED (see "stairs.ino") | | Another project of mine is having the LEDs light up as I play | piano: | | https://github.com/whyboris/Digital-Piano-LED | | Unsure where I'll go after I finish these projects, but LEDs | are so much fun! | stagger87 wrote: | Building a pcb that lights up leds is kinda the hello world for | electronics. I think you'd be surprised how close you are to | this. | jcims wrote: | I think the part that is intimidating to me is the | power/clock/microcontroller integration. Maybe the gateway is | to design a PCB that just connects the LEDs and over time add | more and more components to it. | mnw21cam wrote: | I bit this particular bullet a couple of months ago. Turns | out that a very cheap board like an Arduino Nano Every has | a power voltage regulator (that will accept 6-21V supply) | and a built-in clock, so you don't need to integrate | anything. | | (As it turned out, I wanted a more stable clock signal for | timing purposes than the arduino clock, so I attached a | 32.768kHz crystal to one of the inputs, and that also was | very easy. I also attached a 4-digit 7-segment display, as | there are enough I/O pins, a thermistor, several | buttons/switches, and a stepper motor controller. It was | easier than I thought. Give it a try.) | mason55 wrote: | If you're just starting then imo it's easier to go the | other way. Start with a fully-built dev board like a Wemos | D1 mini. Keep building things and as you run into | roadblocks and learn how to get around them you'll | naturally develop the knowledge to get further into fabbing | your own integrated PCB. | jazzyjackson wrote: | You might look up various DIY arduino designs (starting on | a breadboard). You can start with very barebones selection | of components, move it to a proto-board, and then modify it | to your needs. Adafruit and Sparkfun have great resources | for how everything they sell works. | OnACoffeeBreak wrote: | Same here. I have been daydreaming about starting from scratch | and building up. Of course, everyone's definition of "from | scratch" might be different, but for me the starting point | would be an FPGA prototyping board. I'd start by implementing | my own CPU, memory controller and IO peripherals. Then I'd move | onto creating a development toolchain for the platform. Then | writing an OS and so on. | r-bryan wrote: | As Carl Sagan might have said, "To build a platform from | scratch, you must first create the universe." | worldmerge wrote: | > kind of full stack developer I'd like to be | | Same. It's really fun to mix high level software with hardware. | travisgriggs wrote: | > This is the kind of full stack developer I'd like to be. | | Me too. But I think we need to find a new term for "full stack" | at this point. Full stack developer was kind of the trendy "I | do JavaScript and server stuff too"--though when I visited with | adherents I usually found that many migrate to one part mostly | and cede the other areas to others. | | I do the kind of stuff shown here, embedded C, mqtt servers, | native mobile apps, etc, but I have been leery of using the | term "full stack." | | But now I'm seeing the term used more often in a more general | abstracted sense, like the above. I see this type of person as | a polymath (https://en.m.wikipedia.org/wiki/Polymath). I'd | propose the term polytech, but that term is pretty overloaded | already, and polyeng just doesn't role off the tongue very | well. | Taniwha wrote: | OK, so I've been doing all this for years, plus chip design, | can I claim "full stack plus"? ___________________________________________________________________ (page generated 2021-09-22 23:00 UTC)