Mechanical Ideas for Wearable Panel


I’ve been thinking about how to reduce the height on the back of a panel for an application like @marcmerlin’s matrix shirt. Looking at some pictures of flexible panels from Aliexpress, the tallest components besides connectors seem to be the capacitors. I believe those are the same 6mm tall capacitors I have on panels in front of me. So, <6mm max connector and controller height is our ideal target.

HUB 75 Connector

The Shrouded HUB75 IDC connector available on most panels is already a lot taller than 6mm - I measure 9.5mm on mine - and it gets a lot taller when you add the mating connector. The thinnest existing option for mating connector I can see without significant innovation is to use the same SMT connector that’s on the SmartLED Shield, but with a new board that keeps components on the bottom side. In that case we’re only adding the height of the PCB: 1.6mm, or potentially lower if this board were made thinner. OSH Park now has a 0.8mm thick board, or ~0.2mm flex board. Even with the flex board, total height is 9.7mm, still 3.7mm taller than our ideal target.

Instead of the shrouded IDC connector, some boards have unshrouded pins, which are slightly lower height, and have a lower base.

I measure pin height of 9.25mm, and base height of 3mm. With pins like this you could slide the SMT connector that’s on the SmartLED Shield V4 a lot lower onto the pins. With custom length pins just long enough to make secure contact with the SMT female connector, this could get fairly low profile. Now we’re at 7.2mm (3mm male base, 4mm female connector, min 0.2mm board thickness), assuming the excess height of the pins gets trimmed down.

Of course, not all boards have this, and not all users will want to replace this connector manually. The edges of the shrouded connector can be carefully snipped off, leaving the pins and a similarly tall 3mm base. (Note, don’t try to just pull the shroud off the connector. Sometimes this works, and sometimes you end up pulling off one or more pads from the panel, ruining your panel.)

Can we do better? Maybe if we eliminate the mating connector, and source a ribbon cable crimp that’s designed to solder directly to a PCB. I can’t find any that are SMT, but found this THT cable from Samtec:


It’s not SMT, but maybe if the THT pins were carefully bent out 90 degrees (as I drew in red on this diagram), we could get as low as 6.6mm high.

I’d say this has significant drawbacks though, as it’s a manually modified part, requires careful soldering, and a damaged ribbon cable needs SMT rework to replace.

I have a panel like this one with pads for a FFC connector on the bottom. If only that were available on more panels.

Maybe a FFC adapter is what we need. If something like this were soldered directly to the no-shroud header, the height would be 3mm + 0.8mm PCB + 2.56mm FFC connector = 6.36mm, real close to ideal.

I’m not sure all boards have clearance right next to the HUB75 connector for the FFC connector, but most probably do.

Can we do better? What if the FFC adapter were made with castellated edges and designed to be soldered directly to the panel PCB? Something like this board but with castellated edges on two sides.


The width of the FFC connector from PCB footprint to opening of the opposite side is 7.4mm. Adding some clearance so the castellated edge pads can be soldered, let’s say the board width is 9.4mm. The width of the HUB75 connector SMT footprint on the boards I have in front of me are about 11.5-12mm, so there’s enough clearance to solder the castellated edges to the pads.

Height is now 1.6mm PCB adapter + 2.56mm = 4.16mm, well under our target. (I’m assuming we’ll use standard thickness PCB here because we have the space for it and it’s more easily sourced)

Downsides? Yes, this requires desoldering the IDC/SMT connector from the panel, and doing some large pitch SMT soldering.

I think with a couple adapter boards, we can have options for several types of users:

  • people that are not comfortable soldering at all (SMT female connector to FFC adapter: 7.2mm height)
  • people that are comfortable soldering THT but not desoldering (FFC adapter board with THT holes: 6.36mm)
  • people that are comfortable desoldering and soldering SMT (castellated edges FFC adapter board, 4.16mm)

Power Connector

This connector is a lot more bulky. I measure it at 11.2mm tall without any mating connector. The base where the pins are exposed is 5mm tall on its own. There’s very little room to work here if we want to keep the existing connector. The total height when adding the mating connector is 16.4mm, not including the added height from cables coming out of the mating connector.

The pins have a 0.156" spacing and are thicker than standard headers which limits creative options. I’m not coming up with anything at the moment, except I did notice that the SMT female HUB75 connector that’s on the SmartLED Shield V4 will slide onto a single 0.156" connector pin. The spacing isn’t enough to mate with more than one pin, and the current limit is I’m sure lower than the 4+ amps that some panels draw, so this idea isn’t going to go very far.

The only good option I can see at the moment is desoldering the existing connector and soldering wires directly to the SMT pads. Worst case if someone isn’t comfortable desoldering or doesn’t have the hot air rework tool - that is almost required for desoldering a connector like this which is connected to large copper pours on the PCB - they can solder to the existing connector on the pads, clip the excess pins and plastic, and get the height down to ~5mm.

Controller Board

If we have FFC cable and wires coming off the panel, the controller board doesn’t need to go under the panel at all, but let’s assume it will be.

SmartLED Shield V4 plus Teensy is about 12.5mm tall, not considering a new HUB75 to FFC adapter that will need to be added. I think this is far too tall to fit under the panel, compared to the existing 6mm max height. The fact that the shield can’t sit flat against the panel because of the height of components on the panel and the risk of shorts from Teensy pins making contact with those components makes the effective height even taller. I don’t see an easy fix here.

If the SmartLED Shield, Teensy, and FFC to HUB75 adapter are moved away from the panel, they’d probably need to be moved far away, as having a bulge in the shirt for the controller next to the panel will be unsightly. I’m not sure how long of a FFC cable can be used with the high speeds of refreshing a panel. I believe ribbon cables with the length of a foot or two are acceptable, maybe the clock rate will need to be lowered slightly. The traces on the FFC cable are thinner which could degrade the signals, and the cable is more likely to be damaged than a ribbon cable. This solution isn’t sounding ideal to me.

More thoughts on this coming in the future…


I’d love to hear some feedback on what I have so far


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?
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
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? 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) 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.


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:

afw121t Arm Cortex M4F


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


Hi @Louis. Sure thing, it’s a GD32F105RBT6
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.


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?