!!Con West 2020: Tom Verbeure - Cisco Purses Cubed!

Mar 20, 2020 18:56 · 1556 words · 8 minute read kid feeling star wars love

So Project Mc² was a TV program for kids, where high school girl spies would save the world using science and technology. And the project and the TV show had merchandise, and one of them was this fabulous pixel purse. (Oooooh!) (laughter) So the pixel purse uses an LED matrix, and so I didn’t know anything about this, until I saw this tweet, saying that, you know, they were on sale for $6.16. Coming down from the original price of $60. And that’s really interesting. Because if you see the LED panel itself, even on AliExpress, it’s usually around $15.

01:14 - I always wanted to make one of those really fancy LED cubes. And so you have a 2x1 aspect ratio for these LEDs. In order to make a cube with those things, you need 12 of those purses. But Amazon had a purchase limitation. You could only buy a few of them. So I recruited my colleagues, and organized a group buy, and three days later, these boxes arrived at work. And I love to think that there is a very confused data scientist at Amazon, trying to figure out why a major graphics company is buying all these purses. But anyway…

01:51 - So if you look at it closer, it seems like it’s fabric, but it’s not. It’s really a very ugly hard plastic case. And that’s an aliasing thing. That’s just a picture thing. But if you look inside, it’s very simple. You have the LED matrix. You have some electronics. You have a switch. And you have four AA batteries. So in order to avoid trouble with my wife, because I already have so many boxes in the garage I did a rapid controlled disassembly. (laughter) And so basically there’s the loot. 12 panels, 48 AA batteries. I will never have to buy those again. And then a whole bucket full of screws and some electronics, including… I desoldered the components from that.

02:35 - 4 megabit SPI prong and some voltage regulators. Now I’m not really a fashionista. My hobby is actually field programmable gate arrays. FPGAs. These are pretty expensive for hobbyists, especially in low volume, but the way around that is to go on eBay and you find products that actually use FPGAs and then basically repurpose them for your own use. Cisco is one of the companies that really buys a lot of FPGAs. One of the major benefits is that it can use operating system updates to reconfigure the FPGAs with their own, with bugfixes and stuff like that.

03:14 - If you look at the board, it’s really you have an off-the-shelf modem that fits in a PCMCIA slot and the FPGA itself is used as glue logic to connect to this HWIC slot, and that slides into a standard Cisco router, so you can expand the router, that is basically – a LAN, you can give it a 1 connection. So if you look at the component itself, you have the FPGA. Very important. You have a JTAG USB blaster pin-out, that’s a debug port. Then you have a RS232 connector, some RAM, some unpopulated Norflash RAM, et cetera. It’s really very very useful for hobbyists. So I set out to completely reverse engineer that thing and this is the high level block diagram All the low level details about how to program -- you can find it on the web. It’s on my GitHub. The HWIC connector that Cisco uses is proprietary, and so what you need, I designed a small little PCB that converts this HWIC pin-out into a standard 2.54 millimeter pin header. So as a hobbyist, you can use that and you don’t need to mess with these really tiny pins. If we talk about PCBs, when I was a kid, a long time ago, making your own PCBs was really a very nasty procedure. You had to use all these really kind of dirty chemicals, you had to shine with UV light an image onto a copper plate and you had to use other nasty chemicals to etch that away, and if you were really lucky and experienced, eventually you might end up that actually looks nice. So I never got to it.

04:47 - But if you go look at this today, you can… I decided that finally it was time to make my own PCB, and today these Chinese companies offer prototypes for really cheap. I downloaded one night KiCad and that same night, it was very late, I was able to upload a design to JLCPCB, which is the company I used. And three weeks later, a very nice PCB came out in the mail, and the amazing part is: It’s $2 for five PCBs, which is just astonishing, I think. And then there’s another $5 to ship it from China to here.

05:23 - So for $7, you end up with a professional, very high quality PCB. And PCBs are an example of mass volume, low cost, and really high precision mechanics, if you think about it. You can have – the vias they’re like 0.2 millimeters in diameter. So think about what kind of precision you have there. And that made me think… Well, you can not only use PCBs just for electronics. But what if you used it for pure mechanical stuff? I don’t know how to use a 3D printer. I don’t have a laser cutter.

05:55 - But maybe you can use PCBs to do mechanical stuff and it has nothing to do with electronics. And as a proof of concept, I decided to design a badge for !!Con. And same thing. I installed Inkscape, uploaded the bitmap, converted to an SVG file, and then I used a plugin called svg2shenzhen that converts the badge into a PCB and just produces it. And this is the badge. I gave that proof of concept to Josh, who really took it to the next level, and that’s basically the badge you have around your neck. (applause) But really, if there’s one takeaway of this talk, I think it’s that PCBs are so cheap and so easy to make, and you can use them for more things than just electronics.

06:43 - There are all kinds of possibilities I can’t even think about. Anyway, so now we have everything in place for the cube. We have cheap electronics with LED magic spells. We have a potential way for mechanics, so let’s build something. So LED panels – they have this weird construction. And a very weird interface called the HUB75. If you want to have color shades and whatever -- you need pretty precise timing to control every LED in some kind of serial format. And FPGAs are really perfect for that. So I designed on FPGA a driver to do that, and then I added also a soft RISC-V CPU on there, which then basically provides the pixels, so that you can get your image. And this is the hello world of LED panels! And then you can see there the FPGA driving it. That is a custom board at the point, I mean, a prototype.

07:38 - So then for the mechanics – I decided on a pyramid structure that was built out of three identical legs. And with a caliper, I had to be really precise in order to find exactly on the LED matrix panel where the holes are. Then you put those holes there, and I used these kind of right angle connector things to basically solder them all together. And then basically that’s the result from that. So here you have those things. And this will form the structure that keeps everything in place. And then it’s time to assemble.

08:08 - So you start with two things, you see everything around it, and you just build it up. To me, this really gave the feeling of the Death Star tunnel in Star Wars. I think it looks really cool. Now, I only showed you this once, this whole sequence. In reality, I did it about four or five times. There’s 60 screws in there. It takes hours to really get this right. And to give you an example about why I had to do this… Just to fix mistakes – here’s a good example. Here you see some of the LEDs, and in the middle, you see that screw, right? And it looks fine. But when you zoom in, you see the problem. If you’re really tight on this, you’ll get a short circuit between those two things. There’s 60 of these screws like that. So the solution was to basically use this five second UV hardening glue and for each screw put a little blob of glue on there and harden it, and now you have an insulation layer between the screw head and the thing and basically you don’t have issues anymore. This is basically the end result. You get something that looks really nice.

09:13 - And you can get more information about it here. So I have a bunch of articles about it. You can look it up online. And now let’s see if we can get this to work! Okay. And here it is! (applause) And that’s it. Thanks! (applause) .