Giter Site home page Giter Site logo

ft-vac-control's Introduction

Use a Festool Bluetooth remote control with any vacuum

Use the Festool Bluetooth remote with vacuum extractors from other manufactures.

Video Demo

The project contains the Schematics and PCB layout designed using KiCad 7, and the firmware (written in C) for the Raspberry Pi Pico to interface with a Festool No. 202097 Bluetooth Remote Control add-on

Assembled project

Festool sell an upgrade for their CT26/36/48 vacuum extractors to give remote control using Bluetooth, CT-F I/M-Set. I has two parts, the "CT-F I/M" installs in the extractor and the "CT-F I" is the button that attaches to the end of the vacuum hose. The button then starts and stops extractor. Paired cordless tools with their bluetooth enabled batteries can also control the extractor.

Festool's bluetooth kit

But I don't have a CT26/36/48 extractor from Festool, so I wanted to create an adaptor that uses the module and controls a standard power socket to control any device attached. With a custom PCB, a Raspberry Pi Pico, some firmware, a Solid State Relay, and an enclosure I had a working solution. Along the way I had to reverse engineer the nonstandard serial protocol and try to make sense of the bytes sent.

Inside the box

Features

  • Allow connecting any vacuum extractor that has a physical switch capable of being always on. A vacuum with an NVR will not work.
  • Works with an unmodified Festool No. 202097 receiver. It's Plug and Play. At a later date if I ever get a CT extractor I wanted to be able to use this module again.
  • Had software safety features; Automatically turns off if left on for an extended period. Uses the RP2040's hardware watchdog to shut off the power if the software stops for any reason.
  • Should work with Festool cordless tools with their Bluetooth batteries (untested).

How it works

The Festool module has three electrical connections to the host vacuum, two for power and one is data. The data line is serial, probably bidirectional, and uses a form of Manchester encoding. For more details on the serial stream and commands within see the description of the traces captured with a logic analyzer.

Decoded serial steam

The serial data from the receiver feeds the Raspberry Pi Pico via a BSS138 MOSFET as a level shifter. The Pico decodes the Manchester encoded stream. When the Start/Stop commands are seen the software switches a Solid State Relay controlling mains AC supply to the output socket.

Wanting an excuse to learn KiCad, I designed a custom PCB to host the Pi Pico and a 4 pin 3.96 mm header to plug the CT-F I/M bluetooth module into. The board contains a 240V switch mode regulator providing 5V DC power to both the Pico and the CT-F I/M.

Circuit schematics diagram

License

The software, schematic designs and PCB layout contained in this repository are released under the MIT license.

Credits

I got the pinout for the Bluetooth receiver from YouTube channel "My Project Box". His video "Festool Bluetooth Hack / Mod works with any dust extractor!" shows a very neat solution with a different approach; avoiding any software.

On Github, user gilbertf published libft capable of both sending and receiving. It's not used by this project but his encoder appears to send the same bytes my decoder expects, this gave me some confidence that the implementation here is somewhat interoperable.

I used the Pi Pico KiCAD symbol and footprint from ncarandini/KiCad-RP-Pico

ft-vac-control's People

Contributors

tjob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ft-vac-control's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.