MCU-less analog biomimetic bat flapping-wing robot with segmented wing driving
Loading README and project media…
The project name Hsiwu is derived from Hsi Wu (西木), the bat-like Sky Demon from Jackie Chan Adventures (《成龙历险记》). A fitting namesake: just as Hsi Wu ruled the sky with his segmented, morphing wings, this robot replicates the segmented membrane deformation of a real bat in flight.
Hsiwu — named after the bat-like Sky Demon — is a biologically inspired bionic bat flapping-wing robot. Unlike conventional single-segment rigid-wing drones, it replicates the segmented membrane deformation of a real bat in flight. Each wing is divided into three independently driven segments — leading edge, middle section, and trailing edge — each powered by its own DC motor.
The bionic design takes the Rhinolophus luctus (great woolly horseshoe bat) as its morphological reference. Through a crank-rocker four-bar linkage mechanism, the continuous rotary motion of each DC motor is converted into the oscillating reciprocating swing that drives the wing segments—faithfully reproducing the coupled flapping-and-stretching kinematics of a real bat wing membrane.
A defining characteristic of this project is its pure analog control architecture. The system uses no microcontroller (MCU) and no embedded software whatsoever. Instead, it relies entirely on discrete analog and digital logic circuits — NE555 timers, 74HC04 inverters, and L293D H-bridge drivers — to generate the synchronized periodic reciprocating motion that drives the wings.
The project spans a complete engineering stack: analog electronics design, digital logic, custom PCB layout, mechanical structure modeling (SolidWorks), FDM 3D printing, and hardware assembly and debugging.
Reference Paper: The aerodynamic and mechanical principles are adapted from "Design and Manufacture of Bionic Bat Aircraft" (Qi Jinhao, Zhang Weiping, 2020), published in Machine Design and Research, Vol. 36, No. 5. The reference prototype achieves a 205 mm wingspan, 17.81 g total mass, 70° flapping angle, ~10 Hz flapping frequency, and ~0.16 N lift under a 3.7 V power supply.
/electronics)The core logic is distributed across five functional blocks integrated onto a single custom PCB:
| Block | Components | Function |
|---|---|---|
| Power Supply | MT3608, LDO, Schottky diode | 3.7V LiPo → 7.35V (boost, motors) + 5V (LDO, logic). Reverse-polarity protection, on/off switch with indicator LED. |
| Timing Generation | 3× NE555 (astable) | Three independent, synchronized square-wave oscillators at ~4.8 Hz. Sets the flapping frequency. Each NE555's RC network can be independently tuned for per-segment timing adjustment. |
| Phase Inversion | 1× 74HC04 hex inverter | Inverts the three NE555 outputs to produce complementary logic levels for H-bridge direction control. Each NE555 output drives one inverter channel, yielding the inverted signal for the opposing half-bridge. |
| Motor Drive | 3× L293D dual H-bridge | Each L293D uses one half-bridge channel per motor. Complementary logic signals produce continuous forward/reverse reciprocation. Built-in flyback diodes protect against inductive kickback. |
| PCB Layout | Custom contour | Vertical modular layout; board outline shaped to fit the internal mechanical frame. Irregular board profile matches the central support chassis curvature. |
/mechanical)The mechanical assembly is designed in SolidWorks (.SLDPRT / .SLDASM source files) and manufactured via FDM 3D printing. The kinematic principles are adapted from the reference paper "Design and Manufacture of Bionic Bat Aircraft" (Qi & Zhang, 2020).
The following kinematic schematics are reproduced from the reference paper. They illustrate the four core mechanisms that underlie the wing drive train:
The project's mechanical assembly consists of the following sub-assemblies (all SolidWorks source files in mechanical/source/):
| Sub-assembly | Path | Key Parts | Description |
|---|---|---|---|
| Structural Frame | structural/ | central_support, head_support, tail_bracket | Left-right symmetric chassis; the central support forms the main body, with head/tail brackets anchoring the wing pivot points |
| Rod Linkages | rods/ | rod_a, rod_bc, rod_d, rod_h, rod_ij, rod_kf | Six linkage rod types forming the four-bar crank-rocker kinematic chains for each wing segment |
| Motor & Coupling | motor/ | four-stage_geared_hollow_cup_motor, 2-to-3_coupling | Hollow-cup DC motor with 4-stage planetary gear reduction; 2-to-3 shaft coupler for connecting to the lead screw |
| Lead Screw Assembly | structural/ | lead_screw, head_drive_shaft, bearing, center_bearing_cap, head_bearing_cover | Lead screw (P = 0.4 mm) drives the scissor expansion linkage; supported by miniature bearings at both ends |
| Pivot Hardware | structural/ | head_pin, tail_pin | Precision hinge pins for wing segment articulation at the leading and trailing pivot points |
| Fasteners | fasteners/ | SCA_M2_L10/L12/L14/L18, SLMNA-M2, SLMNA-M3 | M2 countersunk screws (10–18 mm lengths), M2/M3 lock nuts for frame assembly |
| Final Assembly | assembly/ | final_assembly.SLDASM | Master assembly file referencing all sub-components in their assembled positions |
HSIWU/
├── electronics/ # PCB design files
│ ├── source/ # LCEDA project (.eprj2) + Altium Designer source files (.schdoc, .pcbdoc)
│ └── output/ # Gerber files, BOM, pick-and-place (.csv/.xlsx), PDF schematic
├── mechanical/ # 3D CAD models (SolidWorks)
│ ├── source/ # Native SLDPRT/SLDASM files
│ │ ├── structural/ # Frame, lead screw, bearings, pins, brackets
│ │ ├── rods/ # Six linkage rod types (a, bc, d, h, ij, kf)
│ │ ├── motor/ # Geared hollow-cup motor + shaft coupler
│ │ ├── fasteners/ # M2/M3 screws & lock nuts
│ │ ├── pcb_3d_models/ # PCB with all component 3D models placed
│ │ └── assembly/ # Master assembly file
│ └── output/ # Export files — STEP (3D printing), STL (laser cutting)
├── docs/ # Technical documentation
│ ├── en/ # English docs — theory of operation, mechanical design, assembly guide
│ └── zh-CN/ # 中文文档 — 工作原理、机械设计、组装指南
├── BOM/ # Bill of Materials spreadsheet (.xlsx)
├── media/ # Project media assets
│ ├── photos/
│ │ ├── project/ # Renders, PCB views, mechanical drawings, test photos
│ │ └── reference/ # Reference paper figures and the original paper (PDF)
│ └── videos/ # Demonstration videos (.mp4)
├── .github/ # GitHub community files
│ ├── CODEOWNERS # Code ownership definitions
│ ├── PULL_REQUEST_TEMPLATE.md # PR template
│ ├── ISSUE_TEMPLATE/ # Bug report & feature request templates
│ └── FUNDING.yml # Funding/sponsor configuration
├── .gitignore # CAD/EDA/3D-printing-aware ignore rules
├── .gitattributes # Binary/text handling & diff configuration
├── CHANGELOG.md # Version history (Keep a Changelog format)
├── CONTRIBUTING.md # Contributor guidelines (English)
├── CONTRIBUTING.zh-CN.md # 中文贡献者指南
├── LICENSE.md # MIT License
├── README.md # Project overview (English)
└── README.zh-CN.md # 项目概览(中文)
See BOM/ for the complete component spreadsheet. Key components:
| Category | Item | Qty | Notes |
|---|---|---|---|
| Frame | 3D-printed parts (ABS/PLA) | — | Central support, head support, tail bracket, bearing caps; 0.2 mm layer height recommended |
| Fasteners | M2 countersunk screws (10/12/14/18 mm) | — | SCA series |
| M2/M3 lock nuts | — | SLMNA series | |
| Bearings | Miniature ball bearings | — | For lead screw and pivot joints |
| Motors | DC hollow-cup geared motors | 3 | Four-stage planetary gear reduction; one per wing segment |
| Power | 3.7V LiPo battery | 1 | Single-cell |
| ICs | NE555 timer (SOIC-8 equiv., on SOP-20 carrier) | 3 | Astable multivibrator configuration |
| 74HC04 hex inverter (SOIC-14) | 1 | Six NOT gates; three used for phase inversion | |
| L293D dual H-bridge driver (SOIC-8 equiv.) | 3 | One half-bridge channel per motor | |
| MT3608 boost converter (SOT-23-6) | 1 | 3.7V → 7.35V step-up | |
| Passives | Resistors, capacitors (0805) | — | Timing RC networks, decoupling, filter |
| Schottky diode (SMC) | 1 | Reverse-polarity protection | |
| Power inductor (SMD, 7.3×6.8 mm) | 1 | MT3608 boost inductor | |
| Adjustable resistors (SMD trimmer) | 3 | Per-segment frequency fine-tuning | |
| Connectors | XH-2A 2-pin header (P2.50) | — | Motor wire connections |
| Slide switch (SS12D07VG4) | 1 | Power on/off | |
| Indicator LED (0805) | 1 | Green power-on indicator |
Open electronics/. The schematic is documented in PCB_Base.pdf and PCB_Base_doc.png (see Figure 1). The board can be manufactured directly from the Gerber files in electronics/output/gerber/, or you can re-export from the EasyEDA (LCEDA) project in electronics/source/JLC/. The pick-and-place file (electronics/output/pick_and_place/PCB_BASE.csv) and BOM (electronics/output/bom/PCB_Base_BOM.xlsx) are ready for SMT assembly services.
Find the 3D models in mechanical/. Export the parts to STL and print them on a standard FDM 3D printer (0.2 mm layer height recommended; ABS for structural durability or PLA for ease of printing). The STEP files in mechanical/output/3dp/ are ready for direct slicing and printing. For laser-cut parts (rods), use the STL files in mechanical/output/laser/. To modify the design, open the native SolidWorks source files in mechanical/source/ — all parts are fully parameterized.
central_support, head_support, tail_bracket, head_bearing_cover, center_bearing_cap, head_drive_shaft, head_pin, tail_pin.rod_a, rod_bc, rod_d, rod_h, rod_ij, rod_kf.final_assembly.SLDASM. Refer to the mechanical drawings (Figure 5a–5b) and the front elevation banner for assembly reference.Insert the 3.7V LiPo battery and flip the power switch (SW2). The onboard green LED (LED1) should illuminate, and the wings should begin flapping at the designed ~4.8 Hz frequency. The flapping rate can be fine-tuned by adjusting the three trimmer resistors (R4, R10, R11) that set each NE555's RC time constant.
During the powered-on test, the onboard green indicator LED illuminates and the 3D-printed robot executes the full flapping motion. A Tektronix TDS1001B-SC oscilloscope is used to monitor the ~4.8 Hz square-wave output from the NE555 oscillator stages and verify signal integrity.
| Parameter | Value | Source |
|---|---|---|
| Bionic Reference | Rhinolophus luctus (great woolly horseshoe bat) | Reference paper |
| Wingspan | 205 mm (reference) | Qi & Zhang, 2020 |
| Total Mass | 17.81 g (reference) | Qi & Zhang, 2020 |
| Flapping Frequency | ~4.8 Hz (this project) / ~10 Hz (reference) | NE555 RC network / paper |
| Flapping Angle | ~70° (reference target) | Crank-rocker geometry |
| Power Supply | 3.7V LiPo single-cell | This project |
| Motor Supply | 7.35V (boosted) | MT3608 converter |
| Logic Supply | 5V (regulated) | On-board LDO |
| Motor Type | Hollow-cup DC, 4-stage planetary geared | ZWPD006006-26 (reference) |
| Lead Screw Pitch | P = 0.4 mm, d₂ = 1.74 mm | Reference paper |
| Gear Ratio | 1:4 (motor output : lead screw) | Reference paper |
| PCB Design Tools | EasyEDA (LCEDA) + Altium Designer | This project |
| CAD Software | SolidWorks (native .SLDPRT/.SLDASM) | This project |
| Manufacturing | FDM 3D printing (frame) + FR-4 PCB | This project |
Distributed under the MIT License.