Concept 1: M0 with WS2812b
First concept for this board was using an ATSAMD21G18A, with custom LED strips using WS2812b. While it was easy to make different shapes by combining different arms, it did have some disadvantages as well:
- LED strips were breaking easily;
- LED strips were falling out of the FFC connectors;
- The data line of the last LED (Pixel) on the LED strip was connected to the board again. A LED strip was required for each FFC connector, otherwise the following strip didn't work;
- When one LED was failing, it interrupted the entire data line, and the entire wearable would fail.
- Strips were difficult to make;
- PWM was too low, and was visible when the wearable was moving (for example while running).
150 samples were made and used to teach children how to make wearables. The knowledge gathered throughout these workshops was used to design the second concept.
Concept 2: ESP32 with APA102
The second concept used ESP32-PICO-D4, with standard APA102 LED strips. This concept was using the FastLED library with parallel data output on CPU#0, so that placing the strips in series was no longer required. The standard APA102 strips were thicker, and held better in place by the FFC connector. The ESP32 allowed changing parameters by BLE, so push buttons to change the patterns or brightness were no longer required. The APA102 were significant brighter, and the PWM is not noticeable because of the higher rate. Unfortunately there were still some disadvantages:
- Cost is higher. The ESP32-PICO-D4 is twice the cost of the ATSAMD21G18A, and it required and USB to serial converter;
- FCC certificate required before this can be sold, any BLE module is too large, and will drive up the cost even more.
Concept 3: ATtiny84a with APA102
While the ATtiny84a doesn't sound as exciting as the ESP32, it actually has some benefits:
- Allows a very simple board design, no voltage regulator required, can run directly from a LIPO battery of USB input;
- Since the controller can run at the same voltage as the LED strip, no level shifters are required;
- Parallel output is not an option, but the Adafruit Dotstar library allows you to change the data line so that you can have multiple strips connected. Since the strips are relatively short, and the APA102 can handle high data transfer rates), switching from one strip to the next will not be noticeable.
- USB bootloader for Arduino allows uploading sketches through USB without a USB to serial converter.
- Excellent sleep mode to conserve energy
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.