[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)