# Programming

{% hint style="warning" %}
There are two issues to figure out still before I can post Release 1.0. \
\
The first release is Version 0.9, close but has some issues still. There will be some issues, please add them to the Github issues page so we can track them down and improve.\
\
**Releases available here.**\
<https://github.com/dlktdr/BTWifiModule/releases>\
\
Please monitor Github Actions for development versions.
{% endhint %}

You will need to get the Firmware onto your ESP Board. To Download from Github actions, navigate here. Github actions automatically compiles every change to the source code to make testing and verification easy. If you want to test out a particular change you can by doing this.

{% embed url="<https://github.com/dlktdr/BTWifiModule>" %}
All source code and Firmware is available here
{% endembed %}

Navigate to Actions Tab on Github

![](/files/5FHFqgUdwzaNIwJYPN98)

Choose the Commit (A Commit is a modification to the code) to test - Can pick most recent if unsure - **Make sure there is a Green Check box** meaning it compiled successfully or there will be no artifacts to download

![](/files/tYW5TuFUa5deLKWkAeCq)

After you pick a commit make a note of what is shows here, In this example it's a build from the joystick branch. You would pick this one for using the module as a Bluetooth joystick.

![](/files/30gTsvIQxKjRSeoM6K7E)

Choose to Download the Artifacts - This is the binaries for all supported boards **Note:** on this page it doesn't show "Joystick" like above, that means it's from the main github tree.

![](/files/t2IA4U19orOAcPIKPdGo)

### Flashing Method 1 - Use ESPHome-Flasher

You can download it here <https://github.com/esphome/esphome-flasher/releases> grab the most recent release.

Pretty straight forward in this app, pick your port. Select the firmware.bin file and click go.

### Flashing Method 2 - ESP Flash Tool

Download ESP Flash Tool <https://www.espressif.com/sites/default/files/tools/flash_download_tool_3.9.5.zip>

Open in develop mode, **Choose the Correct ChipType here**

* Pico and Wroom Boards - Choose **ESP32**
* C3Mini Boards - Choose **ESP32C3**

![](/files/CiYDIkr9dX9qQ8bGzqqE)

Setup like the following photo,

* **Pick the correct subfolder from Artifacts .zip file for your board.** Shown here with the C3Mini
* Change the COM port to the correct one for your board.
* If you get programming errors try a lower baud rate e.g. 460800
* If it won't start try holding the boot button. Press the EN/Reset button once. Then release the boot and try again. This should put it into bootloader mode

![](/files/SkmgfiEcd5y32vghFCNN)

Choose Start.

### **Testing**&#x20;

You can open the COM port in a terminal of your choice you should see some debugging output. This output is going to be very helpful if you have an issue. Please include it in a .txt file if you need to make an issue on github.

Port settings are,

* Baud 115200
* DataBits 8
* Parity None
* StopBits 1
* FlowControl None

![](/files/LeLySgyvI9irtbqaFw6g)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://btwifimod.gitbook.io/untitled/getting-started/programming.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
