Close
0%
0%

Bendy SAO

A poseable PCB assembly depicting an inflatable car wash tube balloon man

Similar projects worth following
Going for a variant of my "Articulated PCB" (aka "Bendy Boards") project from several years back (https://github.com/geekmomprojects/ArticulatedPCBs), but with a new design that (hopefully) works as an SAO for SuperCon 2024. It may or may not come together in time, but should definitely be in contention for the "least manufacturable" SAO prize!

This design is a flexible assembly comprised of two layers of PCBs which can pivot while maintaining electrical contact through spring-loaded pressure connectors on one side and circular contact pads on the other. It's basically an assembly of PCB slip-rings, with addressable LEDs that will display animation patterns along the full length of the assembly, no matter how the constituent boards pivot and bend.

The SAO can work with *either* a badge communicating through the SAO connector on the back, or  with a XIAO/QTPy or other pin-compatible microcontroller through a connector on the front side. The SAO connector provides Gnd, VCC, Signal (Through GPIO1) to control the twelve WS2812 compatible LEDs. An attached XIAO board can control the Bendy SAO through Pin D2 (RP2040 GPIO28) and provide power through the USB C port.

Micropython code for a badge or XIAO is available at https://github.com/geekmomprojects/BendySAO/tree/main/code/BADGE_micropython

I built a successful proof-of-concept a few years back: https://github.com/geekmomprojects/ArticulatedPCBs, but wanted to try to make it more fun this time, so the assembly of boards now takes the shape of an inflatable car wash balloon man, and the LEDs are mounted inside the assembly, to illuminate it from the inside.

BendySAOProgramming.pdf

Instructions for programming LED patterns into the Bendy SAO

Adobe Portable Document Format - 402.50 kB - 03/15/2025 at 02:55

Preview

BendySAOAssembly.pdf

Detailed directions on physical assembly of the Bendy SAO

Adobe Portable Document Format - 786.32 kB - 03/14/2025 at 21:35

Preview

Bendy Quick Assembly Guide.pdf

Brief overview on physical assembly of Bendy SAO

Adobe Portable Document Format - 384.95 kB - 03/14/2025 at 14:06

Preview

BendySAOBaseFront_2025-01-23.zip

x-zip-compressed - 57.44 kB - 01/23/2025 at 04:51

Download

BendySAOBOMBaseFront.xlsx

sheet - 10.18 kB - 01/23/2025 at 04:37

Download

View all 18 files

View all 11 components

  • Assembling the Bendy SAO

    debraansell03/15/2025 at 03:07 0 comments

    IMPORTANT: Before starting assembly, please review all instructions to
    make sure you understand the correct alignment and orientation of the
    component parts. The arrangement of the pieces is NOT intuitive and must
    be correct for the Bendy SAO to function correctly.

    STEP 1: ASSEMBLE EACH SECTION

    The exact number of components you receive will depend on whether your
    Bendy SAO assembly consists of three or four (or more) sections. There
    are three different types of sections in a Bendy SAO (top, middle, and
    bottom). You can chain as many middle sections as desired together to
    increase the SAO's length.

    Each section consists of a (1) front PCB, (2) back PCB, and
    (3) acrylic buffer layer. The acrylic buffer layer sits between the
    front and back PCBs. In each segment, the front and back PCBs are joined
    by header pins which must be soldered on the OUTSIDE of the PCB assembly
    so that the header pin insulation sits between the front and back PCBs.

    Assemble and solder each section as shown below BEFORE combining the
    sections into the final assembly. If there is protective paper on the
    acrylic, remove it before placing the acrylic between the PCBs. DO NOT
    FORGET TO PLACE THE ACRYLIC BETWEEN THE PCBs BEFORE SOLDERING EACH
    SECTION!

    Bottom Section:

    Middle Section:

    !!! It is essential that the alignment of the front and back PCBs in
    the middle section matches the image below !!!

    Top Section:

    The image below shows where to apply the solder when connecting the
    front and back PCBs in each section. Be sure to solder the front and
    back PCBs in each section together BEFORE connecting the sections
    together in the final assembly.

    Step 2: Combine Sections into the Bendy SAO Assembly

    Use the plastic push rivets to join the soldered sections together into
    the final assembly. When joining two sections together, the spring
    connectors in one section make contact with the ring pads on the
    adjacent section. The acrylic buffer layer maintains the correct
    separation between PCBs so that the spring connectors don't get crushed.

    Unfortunately I don't have photos of this part, but it's easiest to
    start by joining the bottom section to the middle section of the Bendy
    SAO and follow the steps below:

    (1) Hold the two sections together so that the spring contacts on the
        bottom section are facing the ring pads on the middle section.

    (2) Align the holes of both sections together, then take a plastic push
        rivet, and insert it into the hole in the front PCB of the bottom
        section, and press until the tip of the rivet exits the hole in the
        back PCB of the middle section. You will probably hear a slight
        "pop" as the push rivet settles into place.

    (3) If you can't apply enough pressure to fully insert the rivet with
        your fingers, then place the sections, joined by the rivet, onto a
        flat surface, with the rivet head facing the surface. Apply gentle
        pressure to the assembly until the rivet "pops" into place.

    (4) Once inserted, the sections should pivot smoothly around the rivet
        while remaining attached to each other.

    Repeat this process until all sections of the Bendy SAO are joined
    together as shown below:

  • Programming the Bendy SAO

    debraansell03/15/2025 at 02:56 0 comments

    Programming the Bendy SAO

    The bendy SAO contains an ATTiny 3224 which can be programed using any UPDI programmer.

    If you do not have an UPDI programmer, you can make one with an Arduino Nano or Arduino Uno, by following the directions here: https://fabacademy.org/2021/labs/zoi/week8_emb_programming.html

    and flashing the Nano with the jtag2updi firmware found here: https://github.com/ElTangas/jtag2updi Once the UPDI programmer is working, connect it to the SAO connector. The UPDI pin on the ATTiny is attached to GP1 on the SAO connector, while Voltage/Ground connect to the corresponding pins on the programmer/SAO.

    To display blinky light patterns on the ATTiny, install the following code using the UPDI programmer and the Arduino IDE.

    https://github.com/geekmomprojects/BendySAO/tree/main/SuperConEurope2025/programming/strandtest_wheel_for_bendy_sao

    The Arduino settings should match those shown below (use whatever COM port is attached to the UPDI programmer)

    If you encounter difficulties uploading the code, you may need to run “Burn Bootloader” first.

    Sadly, due to some design decisions I made, there isn’t an easy way to get the SAO to interact with the badge. Though it is connected to I2C, I neglected to put pullup resistors on the ATTiny’s SCL/SDA pins, so it isn’t actually possible to communicate with the ATTiny via I2C.

    And, in a failed attempt to be able to use the Raspi Pico as a programmer, GPIO1 and GPIO2 on the SAO connector are connected to an UPDI programming circuit and can’t be (easily) used directly as I/O for the ATTiny 3224.

    So please enjoy the SAO as a decorative, but not interactive art piece to go with the badge. The design process has been a significant learning experience for me. 

  • Programming/Assembly of Bendy SAO

    debraansell11/03/2024 at 19:30 0 comments

    A PDF overview with assembly instructions is in the "files" section of this guide. More detailed instructions to follow shortly.

  • Preparing to Assemble the Assembly

    debraansell10/23/2024 at 21:40 0 comments

    Once the components were attached to the boards, the two layers of boards had to be sandwiched together with the spring contacts pressing against the circular solder pads. 

    A push rivet goes through the corresponding holes in the two layers to align them and allow them to pivot. The push rivet needs to be the correct height to hold the layers against each other firmly so they don't separate, but aren't too close either. A buffer layer sits in the middle of the opposing PCBs so that the spring contacts aren't crushed. The working height of the spring contacts is about 1.8 mm, so I used 1.6mm laser cut acrylic to create a buffer layer in a shape that doesn't overlap the components. In addition, male header pins hold opposing components together, so I needed to find male header pins with an insulation layer no more than 1.6 mm thick. I found these at DIgiKey.

  • SMT Assembly

    debraansell10/23/2024 at 21:39 0 comments

    Prototype boards came back from JLC, The side-emitting LEDs have tiny solder pads, so I ordered stencils along with the boards for the first time. Amazingly, the solder paste stenciling and SMT soldering worked quite well for the first few boards, and I seem to have routed all the connections correctly. I haven't used these specific LEDs before, but I like the way the attached lens diffuses the light.

  • Quick and dirty JLC prototype order

    debraansell10/12/2024 at 06:12 0 comments

    Submitted prototype (and possibly final as I doubt there will be enough time for iteration) designs to JLC PCB for 6 different boards (front base, front middle, front top, back base, back middle, back top) to comprise a bendy assembly. Working under a time crunch, I'm focusing on keeping things as simple as possible, so I added pads to mount a XIAO 2040 (only $3!) on the front base, to easily program patterns on the LEDs in CircuitPython. The image below shows two columns of boards, with front layer on left and back layer on right. Each column contains one base, two middle and one top board.

View all 6 project logs

Enjoy this project?

Share

Discussions

Hakaday wrote 10/24/2024 at 13:18 point

Very cool!  Video please, for those of us unable to make SuperCon...  :)

  Are you sure? yes | no

debraansell wrote 10/25/2024 at 00:47 point

Thank you! Preliminary video here (https://photos.app.goo.gl/LkdSwAg5Psr5CFGQ9), but I will be taking better video and photos soon

  Are you sure? yes | no

davedarko wrote 10/12/2024 at 09:16 point

oh I look forward to seeing this one! :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates