Robot Butterfly is a companion robot to appreciate the elegance of nature with, while observing all the details — no matter how tiny or inconspicuous!
For more information, check out: robotzwrrl.xyz/robot-butterfly. As well, see the instructions to build your own!
Robot Butterfly's design files are released as open source hardware, provided under these unique terms: If you replicate it, please take a photo of it in nature and email it to me with the city and its nickname!
A 3D printable bugfix is available! The three pieces to print are:
The servo horn piece has been updated to work with the new horns that have an indent, rather than being flat in the previous version. The horn is placed on the side that has the arrow indicator. The fasteners go through holes #1 and #4. See photo below for reference.
The spacer back piece has been updated to have clearance for the chamfer around the switch housing on the enclosure. This provides a cleaner fit and smoother lid installation process.
The Butterfly Chonky board connects with Keystone and Boostlet!. Those two boards are also open source, and can be found in these repositories:
https://github.com/RobotGrrl/boostlet
https://github.com/RobotGrrl/Keystone
There are a few LEDs that are visible through the windows on the back of the enclosure.
On Chonky, there are two yellow 5 mm LEDs. On the left hand side, is D2. In the firmware, D2 is LED_COMMS_PIN
(pin 5). On the right hand side, this is D1. In the firmware, D1 is LED_HEARTBEAT_PIN
(pin 13).
LEDs from Keystone are also visible through the LED ports on the back side of the enclosure. As well, sometimes their brightness reflects in Chonky’s 5 mm LEDs. On the left hand side is power. The power LED is on all the time. On the right hand side are TX and RX. The TX and RX LEDs are activated whenever there is data on the serial port. This can be useful for a visual check, but it also just looks techno cool.
In the inaugural version, all the LEDs are yellow, which can sometimes make it tricky to visually differentiate between Chonky and Keystone's LEDs. This will be changed in a future production revision :)
Piece | Layer height | Supports | Infill | Shells | Notes |
---|---|---|---|---|---|
enclosure_v1.0.stl | 0.25 mm DRAFT | Everwhere, Organic | 15% | 2 | - |
neopixel_bracket_v1.0.stl | 0.25 mm DRAFT | Everwhere, Organic | 15% | 3 | Prints standing up |
battery_bracket_v1.0.stl | 0.25 mm DRAFT | Supports to build platform | 15% | 2 | Hiya!' faces up, Top fill pattern: Octogram Spiral |
lid_v1.1.stl | 0.25 mm DRAFT | None | 15% | 3 | Chamfer side down |
servo_bracket_v1.0.stl | 0.25 mm DRAFT | None | 15% | 2 | Prints face down |
servo_horn_indent_L_v1.0.stl | 0.20 mm QUALITY | None | 20% | 4 | - |
servo_horn_indent_R_v1.0.stl | 0.20 mm QUALITY | None | 20% | 4 | - |
cover_v1.0.stl | 0.25 mm DRAFT | None | 15% | 2 | Cool!' faces up |
spacer_back_v1.1.stl | 0.25 mm DRAFT | None | 15% | 2 | Chamfer side down |
spacer_front_v1.0.stl | 0.25 mm DRAFT | None | 15% | 2 | Chamfer side down |
wing_L_v1.0.stl | 0.25 mm DRAFT | None | 15% | 3 | Top & bottom fill pattern: Archimedian Chords. Print 1st layer at a very slow speed. |
wing_R_v1.0.stl | 0.25 mm DRAFT | None | 15% | 3 | Top & bottom fill pattern: Archimedian Chords. Print 1st layer at a very slow speed. |
Library dependencies:
In the Arduino IDE library manager, search for the following and download the library by the following authours:
- ESP32Servo (by Kevin Harrington and John K. Bennett)
- Streaming (by Mikal Hart)
- Adafruit_NeoPixel (by Adafruit)
- Bounce2 (by Thomas O Fredericks)
- HCSR04 (by Dirk Sarodnick)
- movingAvg (by Jack Christensen)
Here’s how you can upload code to your Robot Butterfly!
-
Download Arduino IDE
-
Tools -> Board -> Board Manager
-
Search for ‘esp32’
-
Install esp32 by Espressif Systems
-
Tools -> Board -> esp32 -> Set board to ESP32 Dev Module
-
Tools -> Set upload speed to 115200 baud (it’s down at the bottom of the menu)
-
Tools -> Set CPU speed to 80 MHz (it’s the 1st setting after a divider in the menu)
-
Tools -> Manage Libraries There are library dependencies that will need to be downloaded
Search for the following and download the library by the following authours:
- ESP32Servo (by Kevin Harrington and John K. Bennett)
- Streaming (by Mikal Hart)
- Adafruit_NeoPixel (by Adafruit)
- Bounce2 (by Thomas O Fredericks)
- HCSR04 (by Dirk Sarodnick)
- movingAvg (by Jack Christensen)
-
Download this sketch and open it: https://github.com/RobotGrrl/RobotButterfly/tree/main/firmware/RobotButterflyBasic
-
Plug in your Robot Butterfly
-
Tools -> Port -> Select the port
-
Upload
-
Congrats! You have uploaded code to your Robot Butterfly!
Robot Butterfly (C) Copyright Erin RobotZwrrl, Robot Missions Inc.
05-30-24 v1.0
RobotZwrrl.xyz/robot-butterfly
This hardware is released under:
CERN Open Hardware License Version 2.0 - Permissive (CERN-OHL-P)
Disclaimer: Distributed as is. No warranty is given. Not responsible or liable for any damage or harm that result from this product.