Updated README.md
This commit is contained in:
@@ -16,9 +16,9 @@ An nRF52840-based desk toy where art and engineering collide.
|
||||
|
||||
## Introduction & The Point
|
||||
|
||||
The Octopus Flex PCB (SulaJamlari) is a desk toy intended to provide a hands-on learning experience with embedded systems, IoT technologies, and PCB design.
|
||||
The Octopus Flex PCB (SulaJalmari) is a desk toy intended to provide a hands-on learning experience with embedded systems, IoT technologies, and PCB design.
|
||||
|
||||
People often ask what the "point" of this project is, but there isn't a strictly functional one. It was created to see what happens when art meets engineering, to learn device development, and to be a challenge. The point was the journey—and, of course, because an octopus desk toy looks incredibly cool.
|
||||
People often ask what the "point" of this project is, but there isn't a strictly functional one. It was created to see what happens when art meets engineering, to learn device development, and to be a challenge. The point was the journey and, of course, because an it looks cool.
|
||||
|
||||
---
|
||||
|
||||
@@ -33,7 +33,7 @@ This section covers the exact specifications of the third (and final) prototype:
|
||||
* **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, and a 5V rail to chain multiple devices together.
|
||||
* **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.
|
||||
@@ -45,13 +45,13 @@ This section covers the exact specifications of the third (and final) prototype:
|
||||
|
||||
### The Fun Things
|
||||
* **Wobble Physics:** Because the assembled PCBs take the physical shape of an octopus, the whole device wobbles when shaken.
|
||||
* **Visible PWM:** When the device is wobbling and the LEDs are running PWM, the movement actually allows you to see the PWM strobing with your naked eye.
|
||||
* **Visible PWM:** 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.
|
||||
* **Tap-to-Click:** 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.
|
||||
|
||||
### The Flaws (Lessons Learned)
|
||||
* **Durability Limits:** During "stress testing" (read: repeatedly slamming it against the base board), some of the MCU pins eventually detached. Please don't torture the electronics!
|
||||
* **Haptics:** The vibration motor was mostly unnoticeable, leading to its removal from the final assembly. (Pins to connect a motor still exist)
|
||||
* **Logistics:** Transporting an assembled, multi-layered flex-PCB octopus safely is tricky.
|
||||
* **Logistics:** Transporting an assembled device safely is tricky.
|
||||
|
||||
---
|
||||
|
||||
@@ -60,9 +60,6 @@ This section covers the exact specifications of the third (and final) prototype:
|
||||
### Zephyr Framework
|
||||
Initially, Zephyr felt overwhelming due to deprecated documentation and a steep learning curve with devicetrees. However, to get the Bluetooth functionality we wanted, we gave it another shot. Eventually ended up enjoying having "one framework to rule them all", plus gaining embedded Linux/devicetree experience was highly valuable. The custom board files use the `nrf52840-dk` as a template. Zephyr relies on **MCUboot** as its bootloader.
|
||||
|
||||
### Arduino Support
|
||||
For broader accessibility, the Adafruit nRF52 library and bootloader was modified to work with the Octopus Flex PCB in the Arduino IDE.
|
||||
|
||||
---
|
||||
|
||||
## Programming & Usage
|
||||
@@ -109,14 +106,6 @@ To build the project via CLI, see [BUILD.md](Firmware/main_app/BUILD.md).
|
||||
|
||||
**Software Files:**
|
||||
* MCUboot configurations
|
||||
* Modified Arduino bootloader
|
||||
* Zephyr board files and custom examples
|
||||
|
||||
**Media & Gallery:**
|
||||
* Paper prototype concepts
|
||||
* V1 (Yellow) & V2 (Black/Blue) prototype pictures
|
||||
* "Finished" product glamour shots
|
||||
* Eye LED tests and IMU I2C logic analyzer debug screenshots
|
||||
* The "Army" (Multiple assembled devices together)
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user