xref: /btstack/doc/manual/docs-template/quick_start.md (revision ced70f9bfeafe291ec597a3a9cc862e39e0da3ce)
1#
2
3## General Tools
4
5Most ports use a regular Makefile to build the examples.
6
7On Unix-based systems, git, make, and Python are usually installed. If
8not, use the system’s packet manager to install them.
9
10On Windows, there is no packet manager, but it's easy to download and install all requires development packets quickly by hand. You'll need:
11
12- [Python](http://www.python.org/getit/) for Windows. When using the official installer, please confirm adding Python to the Windows Path.
13- [MSYS2](https://msys2.github.io) is used to provide the bash shell and most standard POSIX command line tools.
14- [MinGW64](https://mingw-w64.org/doku.php) GCC for Windows 64 & 32 bits incl. make. To install with MSYS2: pacman -S mingw-w64-x86_64-gcc
15- [git](https://git-scm.com) is used to download BTstack source code. To install with MSYS2: pacman -S git
16- [winpty](https://github.com/rprichard/winpty) a wrapper to allow for console input when running in MSYS2: To install with MSYS2: pacman -S winpty
17
18## Getting BTstack from GitHub
19
20Use git to clone the latest version:
21
22    git clone https://github.com/bluekitchen/btstack.git
23
24Alternatively, you can download it as a ZIP archive from
25[BTstack’s page](https://github.com/bluekitchen/btstack/archive/master.zip) on
26GitHub.
27
28## Let's Go
29
30The easiest way to try BTstack is on a regular desktop setup like macOS, Linux or Windows together with a standard USB Bluetooth Controller. Running BTstack on desktop speeds up the development cycle a lot and also provides direct access to full packet log files in cases something doesn't work as expected. The same code can then later be run unmodified on an embedded target.
31
32For macOS and Linux, please see [libusb](../ports/existing_ports.md#libusbPort) port.
33For Windows, please see [windows-winusb](../ports/existing_ports.md#windows-winusbPort) port.
34
35Or checkout the [list of existing ports](../ports/existing_ports.md)
36