Mechanical Ideas for Wearable Panel

That’s pretty thorough feedback and research, thanks :slight_smile:

Yes, I agree that the capacitors are the tallest thing in there.
The power connector is the worst thing on the board, but I’m going to remove them and just solder some JST plugs directly on the pads.
Next, as you said, is the HUB75 connector, which I really wish they would make as an angled connector. Otherwise the flattest ribbon cable you can put on top is indeed the best.
If we could replace with the flat connector you mention, even better, but now every board needs to be modified.

As for the uC, I just use a ribbon cable that goes to my ESP32 that is not on the board, so that part is not a problem for me.
Given how your shield doesn’t fit well on some smaller panels anyway due to the size of teensy 3.6, it would be nice to have an option for the shield to have pins so that you can connect a ribbon cable into the shield as opposed to connecting the shield directly onto the panel.

Did you end up getting one of these?
https://www.gearbest.com/backpacks/pp_009594757312.html
I found their board reasonably flat, but it’s all custom work of course.
I can send you a picture of mine if you don’t have one.

@Louis another question:
I’ve been using those ribbon cables https://www.amazon.com/dp/B01BNKVGAI?tag=bizzi0d-20
They work, but they are more or less doubling the height of the hub75 connector.
Have you found easy to buy ribbon cables that are as flat as possible, fit hub75 and come out as low as possible?
https://www.samtec.com/products/idmd does not seem to be something I can just buy.

this one looks vaguely interesting if it were female on both sides, it seems to skip the useless loop that most other cables have on top

(I’m assuming the loop is to make it more resistant to pulling)

It’s on my list of things to check out, but was a bit too expensive to buy on a whim. I’d love some pictures!

My only suggestion is to remove the strain relief part, so the cable isn’t folded back on top of itself, will make it shorter. (looks like you figured that out on your own now that I’ve scrolled down the thread)

IDMD - Slim Body Double-Row IDC Male Assemblies, 0.100" Pitch | Samtec does not seem to be something I can just buy.

You can try to get a quote, or try their free sample service which has free UPS overnight shipping

It has strain relief on the female side

The male side is the type of connector I was listing at Samtec. I’m not sure if the pins are long enough to bend to the sides and be reachable with an iron

Latest thoughts after looking at @marcmerlin’s shirt wiring:

This needs to support more than just the controller to panel connection, it needs to connect multiple panels together.

A circuit like this, with SMT female 0.1" connector (ala SmartLED Shield V4) and FPC connector on the same side, could attach to existing HUB75 connectors without any (de)soldering, just a little trimming of the plastic shroud. Height would be 7mm plus PCB thickness, and could be made out of flex PCB. Use two plus a FPC cable to connect two panels.

jpg_640x640

If the connection to the controller needs to be thin as well, make the adapter with SMT 0.1" male pins instead of female. That could be inserted into the controller’s female socket (e.g. SmartLED Shield V4) or the pins could be soldered to the controller PCB making it even thinner.

I like this suggestion. I’m not sure how strong the ribbons that come out of that, are, or how long they can be or how much they can flex, but it would otherwise be much nicer/flush.
I still owe you pictures of the backpack thing. Will try and remember to do it tonight.

If you want to try, order some Raspberry Pi Camera FFC cables. They’re available for cheap. Try the white, as well as the brown color, as I think they’re made from different materials. They’re 15 pin, so close but not exactly the ones we need (unless we want to ignore the duplicate ground connection on a HUB75E pinout, maybe it will be used for some signal someday, like the E address line turned out to be a surprise), but close enough for a mechanical test.

There you go, it’s amazingly flat

Thanks for the pictures!

Can you make out any part number on the exposed IC on the controller board? Can you remove the QR code and see what that module is? Doesn’t look like any ESP8266 module I’ve seen.

It’s not :slight_smile: (ESP8266 doesn’t have enough pins and likely wouldn’t be fast enough for the refresh rates I’m seeing)
That’s the chip:
http://www.sz99iot.com/admin/jsp/project/html/wifiDetail.jsp?id=4c78d482cae74fd9abf06356e11d6589

afw121t Arm Cortex M4F

Nice, how about the other IC, the one that’s exposed?

Hi @Louis. Sure thing, it’s a GD32F105RBT6
https://www.semiconductorstore.com/cart/pc/viewPrd.asp?idproduct=69952
GD32® MCU incorporates the 32-bit ARM® Cortex®-M3 processor core operating at 108 MHz max frequency with Flash accesses zero wait states to obtain maximum efficiency. It provides up to 3024 KB on-chip Flash memory and up to 96 KB SRAM memory. An extensive range of enhanced I/Os and peripherals connected to two APB buses. The device offers up to three 12-bit 1MSPS ADCs, up to ten general-purpose 16-bit timers plus one PWM advanced timer, as well as standard and advanced communication interfaces: up to three SPIs, two I2Cs, five USARTs, an USB 2.0 OTG FS and two CANs.

I think the next letters are CE96637AJ1846 but they’re probably not relevant.

Either way, it shows that they are using 2 CPUs to do this, likely one for wifi and FB computes and probably the other one for high speed refreshes only.

Back to your earlier point, given that ESP32 has 2 cores, if it has enough RAM (and I guess you can add PSRAM to it, not sure if anyone makes a chip with more RAM directly onboard), isn’t it enough to have one core for frame refreshes and one for computing frames?

Also, I know that you very much care about high bpp and quality, but given the limits that I’m already hitting, while frame rate is very important for photography as already discussed, would you consider supporting a lower bpp to allow higher speeds and lower memory use?
Right now, it seems that you’re using 4 to 5 times the amount of memory used by the FB just in extra buffers to push data to the panels. That seems like a lot :slight_smile:

My plan is to use a single core ESP32, and design a board that has the single core ESP32, refresh circuitry and HUB75 connector, and APA102 cable for input. Your board that drives neopixels, IR input, SD card reading, and whatever else you need to do would be separate and I suppose wouldn’t be required to run any SmartMatrix code at all. You could use FastLED or Adafruit GFX outputting APA102 data to the TBD named HUB75 adapter board.

1 Like

So, does it look like they’re doing the same thing you were hoping to do?
A full CPU to do graphics and nothing else (apparently faster than SmartMatrix on ESP32), and then a 2nd CPU to do FB computes and wifi?

So, does it look like they’re doing the same thing you were hoping to do?

Yes, looks similar

After taking a second look at the photo, I noticed they’re using (more expensive) tantalum capacitors instead of electrolytic. You can get tantalum caps in the same values that are on my panels with package height of 3mm, vs 6mm for the typical electrolytic. Doing that sets a new low bar for overall height on the back of the panel.

BTW, I’m working on my own wearable panel project, and I gather you’re working on your next iteration based on some of the questions you’ve been asking. If you want to trade ideas while we’re both working on similar things, let’s do it, maybe in a new thread (I’m too tired right now to figure out the right thread to post to…).

I want my project to use P2.5, maybe P3 panels, as I want to create a diffused look - hiding all pixelation - and the fine pitch allows for the diffusion layer to be thinner, making the wearable overall thinner.

I like the idea of using a flexible panel that can conform to the shape of my chest, back, or the shape of a backpack and not stick out so much. I haven’t actually tried flexing any flexible panels though, and don’t know how realistic that is. Maybe the flexible panel needs to be attached to a rigid rounded frame. I haven’t found any P2.5/P3 panels that are easily purchasable with delivery to the UK yet, plus I haven’t had a need for them recently, so I haven’t ordered any yet.

Another problem for flexible fine pitch panels is the minimum size. Looking on Aliexpress, I can only find 128x64 P2.5 flexible panels, 320mm wide, and that’s too wide for my purposes (I’d like to make this look as much as possible like a logo on a shirt, not a billboard).

There’s another option with a high cost and high minimum, but good to know that someone’s at least making 96x48 pixels P2.5 flex panels, 240x120mm. My ideal at the moment is P2.5 64x64, but 96x96 might be OK if curved enough so it doesn’t stick out away from my shirt. I got a price list from this company, and they also have the 240x120mm panels at ~$50/ea, but not as easy to order as Aliexpress, and I haven’t seen if they have a minimum: SHENZHEN UNIT LED CO.,LTD-LED Display Lighting Manufacturer

I just ordered one of the 160x320mm panels, so I’ll at least have one flexible panel to play with. I got this one which cost a couple bucks more but seems like it might come with the flexible frame, where the other one I linked doesn’t(?). (Took a while to order as my bank decided my ~2000th Aliexpress order might be fraud, though the ~1999 before it were all fine)

I’m also not sure on what scan panel to use, to get the right brightness. The P2.5 64x64/32 panel seemed a little dim to me at full brightness, but I was working in daytime with thin curtains drawn. 2x P2.5 64x32/16 was better. I think you posted already, but if you don’t mind reminding me, what brightness setting are you using in the clubs, and what scan rate are your panels?

Also, have you had any problems getting through security with your panels? I could see depending on the show and venue getting a hard no to bringing even a small electronic setup to a show. I read something about someone bringing macetech LED shades to a show and security making them check them for later pickup.

Honestly, I should probably wear the one I have for at least a year, but I had some ideas on making my neomatrix gfx lib just a beneral framebuffer fastled/2D lib that talks to many more backends (sorry for your API, there is just much more code out there that uses the GFX and/or the FastLed APIs)
I’m looking at how feasible it is to generate the FB in arduino and then give it to a rPi with the rPi lib that has more hardware support, much more RAM and triple output support ( rpi-rgb-led-matrix/wiring.md at master · hzeller/rpi-rgb-led-matrix · GitHub ).
Your idea we discussed is a good idea, but honestly for an separate chip with an APA102 interface (or whatever input it takes), I really think you ought to consider rPi instead.
I’m currently running 128x128 at over 300Hz on rPi with plenty of RAM to spare and could be running 128x192 with the same refresh if I were using the 3rd port of my active-3 board (which cost a whole $3 from HKG, shipping was a lot more than the board).
I did consider mentioning that you could do parallel output on a teensy 3.6 given the amount of pins there, but it’s not going to change the issue where those chips just don’t have the RAM to hold 128x128 comfortably (never mind more), while a $10 rPi Zero has plenty more RAM…

I have not found flexible under P4, but my P4 flexible would be ok if I have a non flexible arc to attach it to. It strongly wants to go back to flat, so you’d have to attach it well to a bent piece of whatever that will keep them bent.
Now, P4 is perfect for 64x96. If you get P3 or P2, you’ll want more pixels, which brings you to the limits I mentioned above (i.e. it’s going to be painful with SmartMatrix, if it works at all)

Well, my 128 P2 is 25.5cm wide. If you bend it around your body, it would work. I agree that 32cm is too wide for your body though.
If you can find 3x 128x32, you could make a 128x96 out of it and rotate it, or keep looking for 128x64 in P2 and you’d be able to fit 128x192.
But then we’re back at my point on rPi above :slight_smile:

96x48 would work too, but $140 a piece is a bit of a ripoff IMO. I got my 128x64 (non flexible) for $60 a piece.
Warning, in P2, there is no room for an outside border to protect the outside pixels. I had 4 already fall off from the borders, which is not good :-/

I have /16 panels on my shirt and they are way too bright in clubs. I had to take them down to 1/2 to 1/4th brightness depending on how dark the club is. It’s not that the panels are so damn bright, but that the clubs are damn dark :slight_smile:
Only at burning man is it ok to be blindingly bright :wink:

I did at EDC because I wasn’t wearing my setup (it was around 40C and it was to board a bus 1H away from the venue) and all they saw was a bunch of wires and stuff they didn’t understand, and paniced. I’ve learned to always wear it and turn it on when I approach security. They are so impressed/amused/curious that they don’t care about all the wires or what’s in my fanny pack or even forget to search me altogether sometimes.

About my point that going higher res (128x128 or better) likely requires a switch to rPi to get decent output, here is a rPi3 doing 128x128 ABCDE on a FM6126A chip at 300Hz+

video isn’t perfect, but the pictures are.
The nice thing with that library is the number of quality/speed settings you can tweak, including how many pwm bits you want. Makes it very easy to tweak the quality/speed for your full panel size and the visual tradeoffs you’re willing to make, if any are required.

the interesting thing is that the FM6126A chips can be driven much faster (6 times faster than the fastest speed allowed by the rPi library), so that allows even bigger panel lengths

No need to be sorry, I think a lot has changed in the 6 years since I wrote the API (based on Adafruit GFX at the time, but I don’t think it could be integrated, or I chose not to). Thanks to you putting it back on my radar, I may make the interface for the APA102-HUB75 adapter AdafruitGFX compatible to make it easy to use for the most number of people, on the most number of boards. I still need to look into the details. I’d really like it if I could contribute scrolling text or other Layer features from SmartMatrix Library back to AdafruitGFX as it would be a shame to lose those features.

I have to say, that sounds real clunky to me, to do the most complex coding on a little micro controller, and sending it to a Linux machine which has way more power and could be running all the code. It does speak to how great the FastLED Library is though, that would drive such a decision as they have such a good API and community sharing cool code. (Hopefully the community survives the Reddit move…)

Do you have a link to order? I have a RPi and a bare hzeller board, maybe even the driver ICs, but it’s enough of a barrier to get it soldered up I haven’t tried his library yet.

300Hz refresh with a lot of pixels sounds real nice. I want my APA102-HUB75 adapter to work as close to a black box as possible though, with a minimal config interface, otherwise after configuration it should be as easy to use as an APA102 panel. Installing software on a Raspberry Pi, with a SD card that may wear out (is that still an issue?), and needing to format, install the OS, install software, run stuff from command line, all that increases the barrier to entry. Then you have a larger form factor, power supply sensitivity, boot up time.

I think it’s a good solution for some, and hope it works well for you.

I don’t follow, if the RPi library can’t drive them that fast, then what can? What is the max RPi library speed?

I don’t think you need to. If you take an array of RGB24, it doesn’t matter how it was generated. People can already use FastLED::NeoMatrix, define an APA102 as the LED backend, and they’re done. No need for you to support anything special.

yes,it’s ironic, I agree, but it’s mostly about reusing existing code as well as being able to write code that can be run on multiple backends.

It does to some extent, but it’s not very hard to just give a 2GB image that is ready to dd with no extra work. sdcard wearing I’m not sure but I’m guessing they’ve mostly taken care of that. It should otherwise be easy enough to turn off any cron job and syslog in the image. That said, yes, there is still a boot time of maybe 5 seconds or a bit more depending on the image.
Form factor: rPi0w is not that big, even if a bit bigger than an ESP32. Power supply, nothing extra needed with a Pi0, it runs with the same power than an ESP32.

It can, the code just tells you not to run faster than 50ns. I took that check out in the code and ran as fast as 8ns before it stopped working. It was simply a command line parameter check based on the fact that the old (i.e. current for most folks) chips don’t work faster than 50ns