Skip to content

Latest commit

 

History

History
511 lines (482 loc) · 23.1 KB

File metadata and controls

511 lines (482 loc) · 23.1 KB
layout page-front
title Home
page_id home
<div class="header-wrapper">
  <div class="header_text">
    <h1>Build, Research, and Teach<br>
    with the World's Most Flexible<br>
    Open-Source <span class="highlight-green">Drone Platform</span>.</h1>
  </div>

  <div class="header_image">
    <a href="/products/crazyflie-2-1-brushless/">
      <img src="/images/frontpage/front-cf-bl.webp" alt="Crazyflie 2.1 Brushless">
    </a>
  </div>

  <div class="header_buttons">
    <a href="applications/applications-landing" class="btn btn-primary btn-color-primary">Explore Application Areas</a>
    <a href="https://store.bitcraze.io/" class="btn btn-primary btn-color-secondary">Shop Drones & Kits</a>
  </div>
</div>
The Crazyflie Ecosystem

A modular, programmable, drone system that powers the future of robotics, from classrooms, to labs, to industry.

Explore the Ecosystem →

Platform

Purpose-built nano-drones for safe, precise, and repeatable indoor flight in research and development environments.

Explore the Platform →

Add sensors, compute, positioning, and communication to tailor the platform to your application.

Explore All Decks →

Expansion Decks
Positioning Systems

Precise indoor localization using laser, ultra-wideband (UWB), and vision-based systems for single drones and swarms.

Explore Positioning Systems →

Firmware, SDKs, simulators, and tooling for developing, testing, and deploying autonomous and swarm systems.

Explore Software & Tools →

Open Source

Open-Source
Tools

Publishable
Results

Innovate on
Any Level

Funding-Grade
Reliability

Applications and
Research Areas

How researchers, educators, and engineers are using
the Crazyflie to explore autonomy, swarms, and indoor
flight — from labs to early industrial prototypes.

Swarm Robotics

Swarm
Robotics

Discover more →
Human-Robot Interaction

Human–Robot Interaction & Education

Discover more →
STEM and Higher Education

STEM and Higher Education

Discover more →
Autonomous Systems

Autonomous
Systems

Discover more →
Perception and Navigation

Perception & Navigation

Discover more →
Aerial Manipulation

Aerial
Manipulation

Discover more →

The latest from the Bitcraze Blog

Blog post
Category 1 Category 2

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua...

Blog post
Category 1 Category 2

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua...

Blog post
Category 3

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua...

Trusted by Researchers
Worldwide

Used by universities and research labs worldwide for swarm robotics, autonomous flight, and indoor positioning research.

Carnegie Mellon University
Chalmers University of Technology
ETH Zurich
Lund University
IDSIA/SUPSI
De La Salle University
National University of Singapore
Technology Innovation Institute
TU Delft

Voices From the Community

Crazyflie heart flight

Let your ideas
take flight.

Get started with your own Crazyflie today.

<script> // Lazy-load the below-the-fold background video: it only fetches and plays // once it nears the viewport, keeping ~0.4 MB off the initial page load. (function () { const video = document.querySelector('video[data-lazy-video]'); if (!video) return; function loadAndPlay() { const source = video.querySelector('source[data-src]'); if (source && !source.src) { source.src = source.dataset.src; video.load(); } const p = video.play(); if (p && p.catch) p.catch(function () {}); } if ('IntersectionObserver' in window) { const io = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { loadAndPlay(); io.disconnect(); } }); }, { rootMargin: '200px' }); io.observe(video); } else { // Fallback for browsers without IntersectionObserver loadAndPlay(); } })(); </script> <script> ['one', 'two', 'three', 'four', 'five', 'six'].forEach(function(id) { const el = document.getElementById(id); if (el) { el.style.opacity = '0'; el.style.transition = 'opacity 1.0s ease'; } }); const triggered = new Set(); window.addEventListener('scroll', function() { ['one', 'two', 'three', 'four', 'five', 'six'].forEach(function(id, i) { if (triggered.has(id)) return; const el = document.getElementById(id); if (!el) return; const rect = el.getBoundingClientRect(); if (rect.top < window.innerHeight * 0.85) { triggered.add(id); setTimeout(function() { el.style.opacity = '1'; }, i * 200); } }); }); </script> <script> // Anchors decorative lines to specific DOM elements so their // position and length stay consistent regardless of screen size. (function () { function updateFrontPageLines() { const fp = document.querySelector('.front-page'); const banner = document.querySelector('.front-top-banner'); if (!fp || !banner) return; const sy = window.scrollY || window.pageYOffset || 0; const top = el => el.getBoundingClientRect().top + sy; const bot = el => el.getBoundingClientRect().bottom + sy; const fpTop = top(fp); const bannerTop = top(banner); // Vertical line 1: top of .front-page → top of .value-props-banner const vp = document.querySelector('.value-props-banner'); if (vp) { fp.style.setProperty('--vline1-y', '0px'); fp.style.setProperty('--vline1-h', Math.max(0, top(vp) - fpTop) + 'px'); } // Vertical line 2: 20px below buttons → top of .platform-section-bg const btns = document.querySelector('.header_buttons'); const platform = document.querySelector('.platform-section-bg'); if (btns && platform) { const line2Start = bot(btns) + 50; fp.style.setProperty('--vline2-y', (line2Start - fpTop) + 'px'); fp.style.setProperty('--vline2-h', Math.max(0, top(platform) - line2Start) + 'px'); } // Vertical line 3: bottom of .value-props-banner → top of .testimonial-section const testi = document.querySelector('.testimonial-section'); if (vp && testi) { const line3Start = bot(vp); fp.style.setProperty('--vline3-y', (line3Start - fpTop) + 'px'); fp.style.setProperty('--vline3-h', Math.max(0, top(testi) - line3Start) + 'px'); } // Horizontal line in top banner: 20px below buttons, stretches to right edge of header image const headerImg = document.querySelector('.header_image'); if (btns) { banner.style.setProperty('--hline-top', (bot(btns) + 50 - bannerTop) + 'px'); if (headerImg) { const lineWidth = headerImg.getBoundingClientRect().left - banner.getBoundingClientRect().left; banner.style.setProperty('--hline-width', Math.max(0, lineWidth) + 'px'); } } } document.addEventListener('DOMContentLoaded', updateFrontPageLines); window.addEventListener('load', updateFrontPageLines); window.addEventListener('resize', updateFrontPageLines); })(); </script>