
Butterfly chonky
RobotZwrrl/RobotButterfly
Robot Butterfly is a companion robot to appreciate the elegance of nature with in the outdoors!

Robot Butterfly is a companion robot to appreciate the elegance of nature with in the outdoors!
Butterfly chonky is an open-source printed circuit board by RobotZwrrl, from the RobotZwrrl/RobotButterfly repository on GitHub. It is a 2-layer board of 100 × 46 mm with 31 parts on 36 nets, routed with 493 tracks and 139 vias.
Its parts include 9 resistors, 6 connectors, 3 ICs, 3 switches and 2 diodes. It belongs with the robots and motor control boards of this library.
Robot Butterfly invites you to experience nature's elegance alongside it, while interacting with the surrounding wilderness! Available now as a kit to build yourself.
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:
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. |
Firmware is in active development
Download the Robot Butterfly library and install it into your Arduino library folder (for example: ~/Documents/Arduino/libraries).
In the Arduino IDE boards manager (Tools > Board > Board Manager), search for esp32. Under esp32 by Espressif Systems, choose 2.0.4, and install it.
In the Arduino IDE library manager (Tools > Manage Libraries), please install the following libraries with the designated versions:
Here's how to upload code to Robot Butterfly!
Please see steps above to ensure all dependencies are installed properly
Tools > Board > esp32 > Set board to ESP32 Dev Module
Tools > Set upload speed to 115200 baud (at the bottom of the menu)
Tools > Set CPU speed to 80 MHz (first setting after a divider in the menu)
Tools > Manage Libraries There are library dependencies that will need to be downloaded, see list above
Open a Robot Butterfly example sketch
Plug in Robot Butterfly
Tools > Port > Select the port
Upload
Congrats! You have uploaded code to Robot Butterfly!
For developers - here's how to make your own animation (servo and neopixel):
SERVO_ANIM_SOARING
void runServoAnim_soaring(struct ServoAnimation *animation);
void runServoAnim_soaring(struct ServoAnimation *a) { ... }
void initServoAnim_soaring(struct ServoAnimation *a) { ... }
case SERVO_ANIM_SOARING: initServoAnim_soaring(a); break;
setServoAnim(&servo_animation_alert, SERVO_ANIM_SOARING, SERVO_ANIM_ALERT); startServoAnim(&servo_animation_alert);
Please see this page for debugging FAQ.
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)
The software is released under:
The MIT License
https://opensource.org/license/mit
The documentation is released under:
CC-BY-SA-4.0
https://creativecommons.org/licenses/by-sa/4.0/
Disclaimer: Distributed as is. No warranty is given. Not responsible or liable for any damage or harm that result from this product.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 10k | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R2, R4, R8, R9 |
| 4 | Conn_01x03_Pin | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J2, J3, J4, J6 |
| 3 | 330 | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R3, R5, R6 |
| 2 | LED | LED_THT:LED_D5.0mm_Clear | D1, D2 |
| 2 | SW_Push | Button_Switch_THT:SW_PUSH_6mm_H5mm | SW2, SW3 |
| 2 | SolderJumper_2_Bridged | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP1, JP2 |
| 1 | 2K | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R1 |
| 1 | 2N2222 | Package_TO_SOT_THT:TO-92 | Q1 |
| 1 | 2xAA_Battery_Module | !RobotButterfly:Batt_Header | PS1 |
| 1 | A9050 | OptoDevice:R_LDR_5.0x4.1mm_P3mm_Vertical | R7 |
| 1 | Buzzer | Buzzer_Beeper:Buzzer_TDK_PS1240P02BT_D12.2mm_H6.5mm | BZ1 |
| 1 | Conn_01x04_Socket | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J5 |
| 1 | Conn_02x06_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_Vertical_SMD | J1 |
| 1 | DHT11_Module | !RobotButterfly:DHT11_Module | U2 |
| 1 | MPU6050_Module | !RobotButterfly:MPU6050_Module | U1 |
| 1 | Mic_Module | !RobotButterfly:Mic_Module | U3 |
| 1 | Switch_Header | !RobotButterfly:Switch_Header | SW1 |
| 1 | ~ | !RobotButterfly:Keystone-ESP_v1.2 | M2 |
| 1 | ~ | !RobotButterfly:Boostlet_v1.3 | M1 |
The 30 most common of 31 parts.

RobotZwrrl/RobotButterfly
Robot Butterfly is a companion robot to appreciate the elegance of nature with in the outdoors!

joeycastillo/Sensor-Watch
A board replacement for the classic Casio F-91W wristwatch

hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

openwch/ch32v003
CH32V003 is an ultra-cheap RISC-V MCU with 2KB SRAM, 16KB flash, and up to 18 GPIOs that sells for under $0.10

Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
BlueAndi/Pixelix
Full RGB LED matrix, based on an ESP32 and WS2812B LEDs or emulated LEDs on TFT.


It measures 100 × 46 mm and has 2 copper layers, 1.6 mm thick.
31 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the RobotZwrrl/RobotButterfly repository on GitHub, at the commit this page was made from: the board is electronics/butterfly-chonky/archive/v1.1-ordered/butterfly-chonky.kicad_pcb and its schematic electronics/butterfly-chonky/archive/butterfly-chonky.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask RobotZwrrl before reusing the design.