# Modifications

**Please remember that any modifications you undertake are entirely at your own discretion. While we aim to offer helpful guidance, we cannot assume responsibility for any resulting damage, injury, or loss. Proceed only if you feel confident in understanding the process and accept the associated risks**

# Common Modifications

Common Mods Easy

- bend off mean chute lip <span class="channelMention wrapper_f46140 interactive" tabindex="0"><span class="channelWithIcon"><span class="nowrap__8fddb">⁠</span></span></span>
- 3d printed chute<span class="channelMention wrapper_f46140 interactive" tabindex="0"><span class="channelWithIcon"><span class="nowrap__8fddb">⁠</span></span></span>

Med to Hard

- [Artisan Mod ](https://github.com/jmoore52/SkywalkerRoaster)
- Uno R4 comment out the timerinterrupt it's actually not being used<span class="channelMention wrapper_f46140 interactive" tabindex="0"><span class="channelWithIcon"><span class="nowrap__8fddb">⁠</span></span></span>

# Belt Drive Drum Mod

[![PXL_20240812_084737780.MP.jpg](https://skywiki.coffee/uploads/images/gallery/2024-08/scaled-1680-/pxl-20240812-084737780-mp.jpg)](https://skywiki.coffee/uploads/images/gallery/2024-08/pxl-20240812-084737780-mp.jpg)  
  
Fits with modified electronics box. Quieter than stock RPM controllable via Artisan.  
  
  
BOM:

<table id="bkmrk-arduino-nano-%246-nema" style="border-collapse:collapse;width:100%;height:225.375px;"><colgroup><col style="width:33.3333%;"></col><col style="width:33.3333%;"></col><col style="width:33.3333%;"></col></colgroup><tbody><tr style="height:29.7969px;"><td style="height:29.7969px;">Arduino Nano</td><td style="height:29.7969px;">$6</td><td style="height:29.7969px;">  
</td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">Nema 17 34mm Body</td><td style="height:29.7969px;">$12</td><td style="height:29.7969px;">LDO 42STH34</td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">Driver 2209</td><td style="height:29.7969px;">$7</td><td style="height:29.7969px;">2209 may work with 5160</td></tr><tr style="height:46.5938px;"><td style="height:46.5938px;">Custom Bracket</td><td style="height:46.5938px;">$9</td><td style="height:46.5938px;">6061 Alu plate 3mm thick Drilling Required </td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">20t Pulley</td><td style="height:29.7969px;">$2</td><td style="height:29.7969px;">6mm bore 6mm wide belt</td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">60T Pulley</td><td style="height:29.7969px;">$10</td><td style="height:29.7969px;">20mm Bore 6mm wide belt</td></tr><tr style="height:29.7969px;"><td style="height:29.7969px;">164mm Close Loop Timing Belt</td><td style="height:29.7969px;">$4</td><td style="height:29.7969px;">164mm GT2 belt</td></tr></tbody></table>

# Solderless Artisan Installation

[![PXL_20240905_213151883.MP.jpg](https://skywiki.coffee/uploads/images/gallery/2024-09/scaled-1680-/pxl-20240905-213151883-mp.jpg)](https://skywiki.coffee/uploads/images/gallery/2024-09/pxl-20240905-213151883-mp.jpg)

<table id="bkmrk-bom-qty-arduino-nano" style="border-collapse:collapse;width:100%;height:164.8px;"><colgroup><col style="width:50.0477%;"></col><col style="width:50.0477%;"></col></colgroup><tbody><tr style="height:29.6px;"><td style="height:29.6px;">BOM</td><td style="height:29.6px;">QTY</td></tr><tr style="height:35.2px;"><td style="height:35.2px;">[Arduino Nano](https://www.amazon.com/ELEGOO-Pre-soldered-ATmega-Compatible-Arduino/dp/B0D5LYFRQP/ref=sr_1_3?crid=2TDFYR73HMNKV&dib=eyJ2IjoiMSJ9.gA_RBHQKlL9fqee7OwDWKxgWB1jyYqARwwE-oC7y63h6rAT1Z6RtrxAdcsqvU2EPsz3L2ejttfJ4YK0zyL1bUeDmXWm3K09Ehj3T7xyluVV4vUVdAUQknJmJwhB6L0GzUy-NmemTX_QSIYJcZmMZsC8VUC91XHl_Eh03O1y-pL2IhAla40t7W1y7-Xrl3SqeTmZfx22fjGqPoRwAC-JKw6cRoyjxMBQZ3thRJ6aBo0g._F_2zQImJtfWCeBIBmJjQfSUJizSwfhfobD7h50_epo&dib_tag=se&keywords=Arduino+nano&qid=1725571647&sprefix=arduino+nano%2Caps%2C168&sr=8-3)</td><td style="height:35.2px;">1</td></tr><tr style="height:35.2px;"><td style="height:35.2px;">[Arduino Nano Terminal](https://www.amazon.com/HiLetgo-Controller-Expansion-Extension-ATMEGA328P/dp/B073JGV87F/ref=sr_1_3?crid=Q061VEUGXZTB&dib=eyJ2IjoiMSJ9.r4eRcadSVCkEZJ_QNwWcm4fWZJavmiYMZMOJD90aTTikMp-Z0-FV_FVYd5PdlDswhj8V3OTWo3lfWhqvFIDwEkU1kav4r4B2H0Ds6w1KyND8qzTmoT_HoTltX3JOj9G82rc3C4GC6LtV0qzpYYi3pdJJb6Mb8IZnz7bEDEz9DIQBeS5nkjYJ3XZLjg1hQG14mSI7pW_1k2-eCDsCCK-cX-3MEJtyJIY-tPTXOiC-6vM.jehnxcNWGuEOOTK4nSRSNQ3ghJ2I8wyYFN1iAxzZX3Q&dib_tag=se&keywords=nano+terminal+board&qid=1725571586&sprefix=nano+temrinal+boar%2Caps%2C181&sr=8-3)</td><td style="height:35.2px;">1</td></tr><tr style="height:35.2px;"><td style="height:35.2px;">[USB Cable](https://www.amazon.com/Pigtail-Tinning-Equipment-Installed-Replacement/dp/B0CKTSQPG9/ref=sr_1_3?crid=1B1RRDSYYES2V&dib=eyJ2IjoiMSJ9.9-5Kjpjk_cibasv2WHm9iGraPRK_Sx5OFNOvOI5vyhZyH8NLotaJxR0rYDcJFvfXrHu6qnLxCk7WhKshw5tFZBY8SzdsMaBpPZUGXjZJU7J9wp8FXvrN6_QJ7UX5NviHWzX_5ZRHWlSYkSFt58Q6CjGWUwArXdraKxYb0pBUG2z_9LVbWewoBxifDSKaFDzXy8elDdNPTb46uSt93ASZYXW9N8YBkaI244_BG4fNmxA.vuTWvyaLLy0uVAApBfCERDSykRhj1vOkZz4ZIbmDazI&dib_tag=se&keywords=USB+cable+4+wire&qid=1725571701&sprefix=usb+cable+4+wir%2Caps%2C168&sr=8-3)</td><td style="height:35.2px;">1</td></tr><tr style="height:29.6px;"><td style="height:29.6px;">  
</td><td style="height:29.6px;">  
</td></tr></tbody></table>

Follow these instructions:  
  
[Skycommand](https://github.com/jmoore52/SkywalkerRoaster)

[Install Video](https://www.youtube.com/watch?v=7sCwAg7CAzw&t=2s)  
  
[Livestream Install](https://www.youtube.com/live/xFYlgo7vNqE)

![loading.gif](https://skywiki.coffee/loading.gif)

# Vented Electronics Enclosure

[![image.png](https://skywiki.coffee/uploads/images/gallery/2024-12/scaled-1680-/image.png)](https://skywiki.coffee/uploads/images/gallery/2024-12/image.png)  
  
This 3D printed Enclosure was made by the Discord user LookattheGeeks  
  
File:  
[CHIMNEY\_V4.3MF](https://skywiki.coffee/attachments/1)  
  
Installation (partial):  
[Nirecue Stream](https://www.youtube.com/live/4oLszfkvquw?si=pBgqSsN7lHm6ZsKW)

# Thermocouple Mod

###  **Hardware Components You’ll Need:** 

1. **Arduino Nano**
2. **HW-550 Thermocouple (MAX6675) Module**
3. **Jumper Wires**
4. **USB Cable** for Arduino Nano connection
5. [TCSkycommand.ino](https://skywiki.coffee/attachments/2)  
      
    [Quick Video Overview](https://youtube.com/live/_3JSB-hutMc?feature=share)

---

### **Step 1: Installing the Arduino IDE**

If you haven’t already installed the **Arduino IDE**, follow these steps:

1. **Download the Arduino IDE** from the <a>official Arduino website</a>.
2. **Install the software** on your computer, following the on-screen instructions for your operating system (Windows/macOS/Linux).
3. Once installed, **open the Arduino IDE**.

---

### **Step 2: Installing the MAX6675 Library**

To interface with the **HW-550 (MAX6675) thermocouple**, you will need the **MAX6675 library**.

1. Open the **Arduino IDE**.
2. Click on **Sketch** &gt; **Include Library** &gt; **Manage Libraries**.
3. In the **Library Manager** window, type **MAX6675** in the search box.
4. Look for the library titled **MAX6675 by Adafruit** and click **Install**.
5. Wait until the installation is complete.

---

### **Step 3: Wiring the HW-550 (MAX6675) to Arduino Nano**

### Hardware Setup

1. **Thermocouple (MAX6675) Connections:** The code sets these pins:
    
    
    - `pinSCK = 7`
    - `pinCS = 6`
    - `pinSO = 5`
    
    Wire your MAX6675 module as follows:
    
    
    - Arduino `5V` to MAX6675 `VCC`
    - Arduino `GND` to MAX6675 `GND`
    - Arduino `7 (SCK)` to MAX6675 `SCK`
    - Arduino `6 (CS)` to MAX6675 `CS`
    - Arduino `5 (SO)` to MAX6675 `SO`
    
    **Note:** If your MAX6675 module specifies different power requirements or has a regulator onboard, ensure you follow its recommended wiring.
2. **Roaster Control Lines:**
    
    
    - `txPin = 3` (Arduino output)
    - `rxPin = 2` (Arduino input)
    
    Connect these pins to your roaster's control interface as required. These pins are used for sending and receiving signals from the roaster.
3. **Power and Grounding:** Ensure all grounds (Arduino, MAX6675, roaster interface) share a common ground. Double-check all connections to avoid damage to the board or sensors.
    
    ### Preparing the Code
    
    
    1. **Open Arduino IDE:** Launch the Arduino IDE on your computer.
    2. **Create or Open the Sketch:**
        
        
        - Create a new sketch (File &gt; New).
        - Copy and paste the provided code into the new sketch window.
    3. **Select Your Board and Port:**
        
        
        - Go to **Tools &gt; Board** and choose your Arduino board model (e.g., Arduino Uno).
        - Go to **Tools &gt; Port** and select the port that your Arduino is connected to.
    4. **Verify Libraries:**
        
        
        - Ensure the `MAX6675` library is installed via the Library Manager as noted above.
        - `SPI` is included by default, no additional steps needed
    
    ### Compiling and Uploading
    
    
    1. **Verify (Compile) the Code:**
        
        
        - Click the **Checkmark (Verify)** button in the Arduino IDE toolbar to compile the code.
        - If there are errors, make sure you’ve selected the correct board, port, and have the MAX6675 library properly installed.
    2. **Upload the Code:**
        
        
        - Once verification is successful, click the **Right Arrow (Upload)** button to upload the code to your Arduino.
        - After upload completes, the Arduino will reset and begin running the program automatically.
    
    ### Running and Interacting
    
    
    1. **Serial Monitor:**
        
        
        - Open the Serial Monitor by going to **Tools &gt; Serial Monitor**.
        - Set the baud rate to `115200` to match the code’s setting.
    2. **Commands:** You can send commands via the Serial Monitor. Examples:
        
        
        - `READ` — returns the temperature readings and current duty cycles.
        - `OT1;XX` — sets heater duty cycle to XX (0-100).
        - `OT2;XX` — sets fan duty cycle to XX (0-100).
        - `DRUM;1` — turns the drum on (100%), `DRUM;0` turns it off.
        - `FILTER;XX`, `COOL;XX` — sets filter fan or cooling levels.
        - `CHAN` — responds with channel setup.
        - `UNITS;C` or `UNITS;F` — changes temperature units between Celsius and Fahrenheit.
        - `OFF` — shuts down all outputs.
    3. **Data Output:**
        
        
        - The Serial Monitor will display temperature data from the thermocouple and any status messages.
        - If no commands are received for an extended period, the code will shut everything down for safety
    
    ### Troubleshooting
    
    
    - **No Temperature Reading:**  
        Double-check thermocouple wiring and confirm the MAX6675 module is functioning.
    - **No Response to Commands:**  
        Ensure you’ve set the correct baud rate and are typing commands properly in the Serial Monitor.
    - **No Upload / Compilation Errors:**  
        Confirm you have the correct board selected and libraries installed.

**<span style="color:rgb(224,62,45);">Please remember that any modifications you undertake are entirely at your own discretion. While we aim to offer helpful guidance, we cannot assume responsibility for any resulting damage, injury, or loss. Proceed only if you feel confident in understanding the process and accept the associated risks  
  
<span style="color:rgb(0,0,0);">Thank you TOU! for providing code which can be seen on [kaffee-netz.de forum.](https://www.kaffee-netz.de/threads/skywalker-kaffeeroester.157376/page-3)</span>  
</span>**

# Skywalker V1 HiBean Firmware Installation

[![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/image.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/image.png)

### **Pre-Requisites**

**This is still in Beta and code is still being worked on. Please report any issues you have to our [Community Discord](https://discord.gg/UXcX929AZy).**

1. A supported **ESP32** device: Ensure you have a supported ESP32 device, such as the [Waveshare ESP32-S3](https://www.amazon.com/Waveshare-Development-ESP32-S3FH4R2-Dual-Core-Processor/dp/B0CHYHGYRH/) and a USB cable. The S3 is a compact, low-cost device which can plug directly into the v1 Skywalker using a USB-C &lt;-&gt; USB-A adapter or suitable A to C cable.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/9Edimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/9Edimage.png)
2. A suitable "Community" **Binary File** to flash onto the esp32 device: [Latest Community Binaries](https://github.com/MagnmCI/SkiBeanCommunity/releases)
3. A Browser for flashing the binary: Use Google Chrome or Microsoft Edge (supports Web Serial) [ESPHome](https://web.esphome.io/).
4. **USB Cable**: A reliable cable for data transfer.

---

### **Steps**

#### **1. Download the appropriate Binary File**

1. There a are a few community binary authors, but generally you should use the latest release from any of: 
    1. [Latest Community Binaries](https://github.com/MagnmCI/SkiBeanCommunity/releases)
    2. [Bear Bin](https://github.com/galangl/SkywalkerRoasterLab/blob/main/Skywalker%20v1/Zero/ESP32S3_Zero_Artisan_HiBean_Roaster_Control_v2.2.bin)
2. Download the .bin file that's appropriate for your particular esp32, and save it to a location which you can easily find later.

---

#### **2. Open ESPHome Web**

1. Go to [ESPHome Web](https://web.esphome.io/) in your Chrome or Edge browser.
2. Connect the ESP32 to your computer using a USB cable or adapter.

---

#### **3. Connect to the ESP32-S3**

1. On the ESPHome Web page, click the **Connect** button.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/CAdimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/CAdimage.png)
2. A pop-up will appear with available devices. Select the port for your ESP32-S3 and click **Connect**. This will generally show as a "USB JTAG/serial debug unit" on a COM port on Windows, or on /cu/usbmodem port on MacOS. If your device does not appear here, or appears and disappears repeatedly, see Troubleshooting below.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/IV2image.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/IV2image.png)

---

#### **4. Install the Binary File**

1. Once connected, click **Install**.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/We7image.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/We7image.png)
2. Choose **File** when prompted
3. In the file selection dialog, locate and select the firmware .bin file you downloaded earlier.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/xjHimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/xjHimage.png)
4. Click **Install** to start the flashing process.
5. [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/m2iimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/m2iimage.png)

---

#### **5. Flash the Firmware**

1. ESPHome Web will erase the existing firmware and flash the `SkiBean.bin` binary.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/E4rimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/E4rimage.png)
2. The flashing process may take a few minutes. Wait for it to complete.
3. After successful installation, a success message will appear.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/JDKimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/JDKimage.png)

#### **6. Visual Test**

If all goes well, you should see an LED on the ESP32 begin to flash alternately red/blue. If so, that means your esp32 flashed successfully.

- If not, momentarily unplug and replug the ESP32 from the USB port. After a few seconds, the LED should start flashing. If not, something is wrong. Ask on Discord.
- If so, you can now plug the ESP32 into the back of the Skywalker.

#### **7. Connect from HiBean**

1. Start your HiBean app, and click (+) in the upper right to add a new roaster.
2. Scroll down and select Skywalker
3. In there select the "Skywalker Comm" (for Community) - the HB is for the official [HiBean Skywalker Controller](https://www.aliexpress.us/item/3256808748885175.html) which can be purchased if you don't wish to flash your own device.
4. Happy Roasting!

---

### **Troubleshooting**

- **Device Not Recognized**: Ensure your USB cable supports data transfer.
- **Flashing Errors**
    - **Hold BOOT and press RESET (recommended method):**
        
        
        1. Hold down the **BOOT** button.
        2. While holding BOOT, press and release the **RESET** button.
        3. Continue holding BOOT for a second, then release it.

1. 1. **Unplug and replug while holding the BOOT button:**
        
        
        1. Disconnect the ESP32-S3 from power (USB).
        2. Press and hold the **BOOT** button.
        3. While holding BOOT, plug the USB back in.
        4. Once connected, release the BOOT button.

- Let me know if you encounter issues or need further help!

# Skywalker V2 HiBean Firmware Installation

[![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/image.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/image.png)

### **Requirements**

**This is still in Beta and code is still being worked on. Please report any issues you have to our [Community Discord](https://discord.gg/UXcX929AZy).**

1. [**ESP32-S3**:](https://www.amazon.com/Waveshare-Development-ESP32-S3FH4R2-Dual-Core-Processor/dp/B0CHYHGYRH/?_encoding=UTF8&pd_rd_w=r9sWT&content-id=amzn1.sym.255b3518-6e7f-495c-8611-30a58648072e%3Aamzn1.symc.a68f4ca3-28dc-4388-a2cf-24672c480d8f&pf_rd_p=255b3518-6e7f-495c-8611-30a58648072e&pf_rd_r=5B6XB3S76AN41GG53BPF&pd_rd_wg=jrSyV&pd_rd_r=0c2acad7-cc3f-40c5-8e89-116521cb0165&ref_=pd_hp_d_atf_ci_mcx_mr_ca_hp_atf_d) Ensure you have the ESP32-S3 board and a USB cable.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/9Edimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/9Edimage.png)
2. [Power Data Y Cable](https://www.amazon.com/dp/B07VVX257H?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1)  
    ![61Y25DfijwL._AC_SL1200_.jpg](https://m.media-amazon.com/images/I/61Y25DfijwL._AC_SL1200_.jpg)
3. **Binary File Link**:   
    [Bear](https://github.com/matelbear/SkywalkerRoasterLab/tree/main/Skywalker%20v2(Delta))
4. **Browser**: Use Google Chrome or Microsoft Edge (supports Web Serial) [ESPHome](https://web.esphome.io/).

---

### **Steps**

#### **1. Download the Binary File**

1. Open the GitHub link: TBA
2. Click on the download raw file icon to download [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-12/scaled-1680-/TJ8image.png)](https://skywiki.coffee/uploads/images/gallery/2025-12/TJ8image.png)

---

#### **2. Open ESPHome Web**

1. Go to [ESPHome Web](https://web.esphome.io/) in your Chrome or Edge browser.
2. Make sure your ESP32-S3 is connected to your computer using a USB cable.

---

#### **3. Connect the ESP32-S3**

1. On the ESPHome Web page, click the **Connect** button.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/CAdimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/CAdimage.png)
2. A pop-up will appear with available devices. Select the port for your ESP32-S3 and click **Connect**.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/IV2image.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/IV2image.png)

---

#### **4. Install the Binary File**

1. Once connected, click **Install**.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/We7image.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/We7image.png)
2. Choose **File** when prompted
3. In the file selection dialog, locate and select the `SkiBean.bin` file you downloaded earlier.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/xjHimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/xjHimage.png)
4. Click **Install** to start the flashing process.
5. [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/m2iimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/m2iimage.png)

---

#### **5. Flash the Firmware**

- ESPHome Web will erase the existing firmware and flash the `SkiBean.bin` binary.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/E4rimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/E4rimage.png)
- The flashing process may take a few minutes. Wait for it to complete.
- After successful installation, a success message will appear.  
    [![image.png](https://skywiki.coffee/uploads/images/gallery/2025-01/scaled-1680-/JDKimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-01/JDKimage.png)

---

### **Direct Link to Binary File**


---

### **Troubleshooting**

- **Device Not Recognized**: Ensure your USB cable supports data transfer.
- **Flashing Errors**
    - **Hold BOOT and press RESET (recommended method):**
        
        
        1. Hold down the **BOOT** button.
        2. While holding BOOT, press and release the **RESET** button.
        3. Continue holding BOOT for a second, then release it.

1. 1. **Unplug and replug while holding the BOOT button:**
        
        
        1. Disconnect the ESP32-S3 from power (USB).
        2. Press and hold the **BOOT** button.
        3. While holding BOOT, plug the USB back in.
        4. Once connected, release the BOOT button.

- Let me know if you encounter issues or need further help!

# V1 to V2

Upgrading from V1 to V2

# Drum Motor

How to connect and code for a nano or ESP32 to control the motor.

[![image.png](https://skywiki.coffee/uploads/images/gallery/2025-04/scaled-1680-/image.png)](https://skywiki.coffee/uploads/images/gallery/2025-04/image.png)

<table class="min-w-full" data-end="1670" data-start="1505" id="bkmrk-motor-wire-arduino-b" style="height: 115px; width: 82.7381%;"><thead data-end="1529" data-start="1505"><tr data-end="1529" data-start="1505"><th data-end="1518" data-start="1505" style="width: 49.9281%;">Motor Wire</th><th data-end="1529" data-start="1518" style="width: 49.9281%;">Arduino</th></tr></thead><tbody data-end="1670" data-start="1555"><tr data-end="1579" data-start="1555"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1568" data-start="1555" style="width: 49.9281%;">Blue (PWM)</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1579" data-start="1568" style="width: 49.9281%;">D6</td></tr><tr data-end="1604" data-start="1580"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1593" data-start="1580" style="width: 49.9281%;">White (DIR)</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1604" data-start="1593" style="width: 49.9281%;">D7</td></tr><tr data-end="1629" data-start="1605"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1618" data-start="1605" style="width: 49.9281%;">Red (V+)</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1629" data-start="1618" style="width: 49.9281%;">12–24V</td></tr><tr data-end="1670" data-start="1630"><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1643" data-start="1630" style="width: 49.9281%;">Black (GND)</td><td class="max-w-[calc(var(--thread-content-max-width)*2/3)]" data-end="1670" data-start="1643" style="width: 49.9281%;">Shared GND with Arduino</td></tr></tbody></table>


### 1. Add These Pin Definitions at the Top:

  
const int drumPwmPin = 6; // PWM pin (connect to Blue wire)  
const int drumDirPin = 7; // Direction pin (connect to White wire

### 2. Add These to `setup()`:Make sure these lines are inside your `setup()` function

<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary" id="bkmrk--2"><div class="overflow-y-auto p-4" dir="ltr">  
</div></div><div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary" id="bkmrk-pinmode%28drumpwmpin%2C-"><div class="overflow-y-auto p-4" dir="ltr"><div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"><div class="overflow-y-auto p-4" dir="ltr">pinMode(drumPwmPin, OUTPUT);  
pinMode(drumDirPin, OUTPUT);</div></div>`<span class="hljs-comment"><br></br></span>`</div></div>### 3. Replace Your `handleDRUM()` With This Version:

<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary" id="bkmrk--3"><div class="overflow-y-auto p-4" dir="ltr"><div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-sidebar-surface-primary text-token-text-secondary dark:bg-token-main-surface-secondary flex items-center rounded-sm px-2 font-sans text-xs">  
</div></div></div><div class="overflow-y-auto p-4" dir="ltr">  
</div></div></div></div>void handleDRUM(uint8\_t value) {  
 if (value &gt; 100) value = 100; // Clamp value to 100  
 int pwmValue = map(value, 0, 100, 0, 255); // Scale 0-100 to 0-255

 if (value != 0) {  
 digitalWrite(drumDirPin, HIGH); // Set motor direction (HIGH = CW)  
 analogWrite(drumPwmPin, pwmValue); // Apply PWM speed  
 setValue(&amp;sendBuffer\[drumByte\], value); // Update protocol buffer  
 } else {  
 analogWrite(drumPwmPin, 0); // Stop motor  
 setValue(&amp;sendBuffer\[drumByte\], 0);  
 }

 lastEventTime = micros();  
}

<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary" id="bkmrk--4"><div class="overflow-y-auto p-4" dir="ltr"><div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"><div class="overflow-y-auto p-4" dir="ltr">  
</div></div></div></div>

# Cubean

## Cubean TX Protocol (Controller → Roaster)

- **Direction:** Arduino/controller → Cubean roaster
- **Rate:** `9600 baud`, 8 data bits, no parity, 1 stop bit (`SERIAL_8N1`)
- **Interval:** Sent every ~200ms
- **Packet Length:** 11 bytes
- **Structure:**

<div class="_tableContainer_80l1q_1" id="bkmrk-byte-index-hex-meani"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)"><thead><tr><th>Byte Index</th><th>Hex</th><th>Meaning</th></tr></thead><tbody><tr><td>0</td><td>FE</td><td>Start byte 1</td></tr><tr><td>1</td><td>EF</td><td>Start byte 2</td></tr><tr><td>2</td><td>00</td><td>Unused/reserved</td></tr><tr><td>3</td><td>00</td><td>Unused/reserved</td></tr><tr><td>4</td><td>5A</td><td>Drum/Cooler/Fan state (bitfield?)</td></tr><tr><td>5</td><td>64</td><td>Heat power (0–100 decimal)</td></tr><tr><td>6</td><td>02</td><td>Unknown, possibly a mode ID</td></tr><tr><td>7</td><td>76</td><td>Fan speed (0–255 scale)</td></tr><tr><td>8</td><td>AA</td><td>Marker</td></tr><tr><td>9</td><td>55</td><td>Marker</td></tr><tr><td>10</td><td>22</td><td>Checksum or end byte</td></tr></tbody></table>

</div></div>## Cubean RX Protocol (Roaster → Controller)

- **Direction:** Cubean roaster → Arduino/controller
- **Rate:** Same UART config: `9600 baud`, `SERIAL_8N1`
- **Interval:** ~200ms
- **Packet Length:** 11 bytes
- **Structure:**

<div class="_tableContainer_80l1q_1" id="bkmrk-byte-index-hex-meani-1"><div class="_tableWrapper_80l1q_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)"><thead><tr><th>Byte Index</th><th>Hex</th><th>Meaning</th></tr></thead><tbody><tr><td>0</td><td>FE</td><td>Start byte 1</td></tr><tr><td>1</td><td>EF</td><td>Start byte 2</td></tr><tr><td>2</td><td>0X</td><td>Temperature high nibble (BCD/hex?)</td></tr><tr><td>3</td><td>YY</td><td>Temperature low nibble</td></tr><tr><td>4</td><td>00</td><td>Unknown</td></tr><tr><td>5</td><td>00</td><td>Unknown</td></tr><tr><td>6</td><td>00</td><td>Possibly status byte</td></tr><tr><td>7</td><td>00</td><td>Possibly another status byte</td></tr><tr><td>8</td><td>AA</td><td>Marker</td></tr><tr><td>9</td><td>55</td><td>Marker</td></tr><tr><td>10</td><td>XX</td><td>Checksum or data byte</td></tr></tbody></table>

</div></div>

# V1 Worm Drive Mod

BOM  
  
PWM Motor Board  
[https://www.aliexpress.us/item/3256804512610220.html](https://www.aliexpress.us/item/3256804512610220.html)

[![image.png](https://skywiki.coffee/uploads/images/gallery/2025-10/scaled-1680-/image.png)](https://skywiki.coffee/uploads/images/gallery/2025-10/image.png)

[Worm Drive Motor JGY 28-38 24V 96RPM](https://www.aliexpress.us/item/3256807395122180.html)

[![image.png](https://skywiki.coffee/uploads/images/gallery/2025-12/scaled-1680-/image.png)](https://skywiki.coffee/uploads/images/gallery/2025-12/image.png)

Custom Motor Mount (DXF coming Soon)  
  
[Motor cooling Fan](https://www.aliexpress.us/item/3256809093395037.html)  
  
\*Double check Discord on newest recommendation

[![image.png](https://skywiki.coffee/uploads/images/gallery/2025-12/scaled-1680-/fHwimage.png)](https://skywiki.coffee/uploads/images/gallery/2025-12/fHwimage.png)

  
  
**Optional:**

28mm heat sink and associated 24 fan

[![image.png](https://skywiki.coffee/uploads/images/gallery/2025-12/scaled-1680-/yHximage.png)](https://skywiki.coffee/uploads/images/gallery/2025-12/yHximage.png)