2026-06-26 14:13:56 +03:00
2026-05-27 20:02:30 +03:00
2026-05-27 20:02:30 +03:00
2026-06-04 15:44:46 +03:00
2026-05-27 20:47:17 +03:00
2026-05-27 20:02:30 +03:00
2026-06-04 15:59:19 +03:00
2026-06-26 14:13:56 +03:00
2026-06-04 15:44:46 +03:00
2026-06-04 15:44:46 +03:00

Octopus Flex PCB (SulaJalmari)

nRF52840-based flex PCB project with a shape of an octopus. Because why not. You can read the story from final.md.

Hardware specs

  • Board Structure: 2x Flex PCBs (acting as the octopus head and legs) and 1x FR4 PCB (acting as the base board).
  • MCU: nRF52840-QIAA (soldered directly to the flex PCB with a stiffener on the reverse side).
  • IMU: ICM-20602 accelerometer (shares an interrupt line with the light sensor).
  • Light Sensor: XYC-ALS21C-K1 I2C ambient light sensor (shares an interrupt with the IMU).
  • Leg LEDs: 8x Blue LEDs running at 2mA (LED0603-RD).
  • Eye LEDs: 2x Addressable RGB LEDs (WS2812B-2020).
  • Power & Battery: TP4054 50mA battery charger, ME6211C22M5G-N 3V3 LDO, and XC6206P362MR 3V6 LDO (dedicated to the addressable LEDs).
  • Connectivity: Bluetooth with a minimal PCB trace antenna, USB-C for power/programming/serial, and a 5V rail to chain multiple devices together.
  • Audio & Haptics: Buzzer with a driving transistor, plus a footprint for a vibration motor (motor ultimately not installed in the final version).
  • Interface: 2x tactile user buttons, 1x tactile reset button, and an on/off switch.
  • Debugging: Base board debugging pins compatible with a standard ~$3 DAPLink debugger via pyOCD/OpenOCD.
  • Aesthetics: Silkscreen suction cups and mouth.

Schematics and gerbers are under Hardware/V3

Fun facts

Fun Things

  • Because the assembled PCBs take the physical shape of an octopus, the whole device wobbles when shaken.
  • When the device is wobbling and the LEDs are running PWM, the movement actually allows you to see the PWM cycle with your naked eye.
  • The IMU is mounted in the very top of the head. This means you can tap the top of the device, and the accelerometer registers it as a physical button press.

Flaws

  • During "stress testing" (read: repeatedly slamming it against the base board), some of the MCU pins eventually detached. Please don't torture the electronics!
  • The vibration motor was mostly unnoticeable, leading to its removal from the final assembly. (Pins to connect a motor still exist)
  • Transporting an assembled device safely is tricky.

Software

Checkout chill project for building zephyr app with MCUboot.

History

Idea

Paper cutout with magnet connections.

First prototype

Second prototype

Final version

S
Description
A flex PCB octopus project
Readme 54 MiB
Languages
CMake 100%