YAP - Yet Another Pendant

  • I ended up ordering the same pendant that a bunch of people ordered over in this thread. Dave created a sketch for an Arduno to allow that pendant to wire into a PanelDue port.

    I decided to take mine in a different direction. I'm going to use an ESP32 so that it can attach via a WiFi network. Let me set an expectation right here:

    Because of variable latency on a network, this is NOT and NEVER WILL BE completely "Smooth".

    Having said that, I have a working prototype, and it is better than I thought... very usable. Also, I intend to have a "wired" option as well as "WiFi".


    • Connect to printer on WiFi. Implies a battery on the pendant.
    • Connect to printer via PanelDue port.
      • Keep PanelDue working when pendant connected via hardwire.
    • Configure with any iOS Phone/Table or Andrioid Phone/Tablet, no app required.
    • Easily reset and re-configure at any point in time.
    • Have a small OLED Display of XYZ coordinates.
    • Auto adapt to RRF2 vs RRF3 firmware.

  • Status as of 22 May 2020.

    • Pendant wheel is working, very solidly, implemented entirely with interrupts.
    • Queuing/accumulation of the wheel (to "elastic buffer" between wireless and wheel) is working.
    • XYZ4 switch is working
    • Wireless connection to a RRF2 printer is working.
    • 1/10/100 switch working.
    • The above allows me to move a print-head around, wirelessly. As mentioned above, works better than I thought it would...
    • E-Stop coming soon.
    • Wired connection is not started (other than, I've kept the pins free).
    • OLED is physically attached, and runs test/demo software. It is pretty far from being integrated with the other code (turns out there are NO libraries for LCD/Oled that work on Esspressif/ESP-IDF platform/framework

    Not (yet) on Github. Probably a few days yet. Ask if you want it sooner.

  • Great stuff! I just finished a CNC build and am very interested in following along as it could help tremendously..

  • It's great that we have 2 alternatives now, so one can choose the one which matches his requirements best!

  • @Danal perfect 😄 I have my 2 joystick + encoder esp32 ready with some super basic code but far from "working", I'll gladly scrap it and use your code that works 😄

  • Status 23 May 2020.

    Bogged down in the Oled.

    ESP32 can be programmed a number of different ways "Arduino" compatible libraries via the Arduino IDE; Arduino libraries via PlatformIO, several Python variants, and its native (from the manufacturer) platform/framework Espressif32/ESP-IDF. For "reasons", I'm pursing that last one, the native set up. However... for years there have been TON of LCD and OLED libraries out there for the Arduino, and these are very quick and easy to lightly refactor for the ESP32 Arduino-ish setups. Therefore, nobody has produced any LCD or OLED libraries for the 'native' ESP-IDF framework.

    Being somewhat hard-headed, I'm in the process of adapting one of the libraries (specifically LovyanGFX) so that it is pure native ESP-IDF. What a meticulous pain in the kiester this is turning out to be...

    So, anyway, summary status: Lots of pieces working, need to be integrated into a whole, and bogged down on the OLED to the point I may push through; or I may change course.

  • @Danal Just curious, were you able to make any progress with this?

  • Moderator

    @dhusolo said in YAP - Yet Another Pendant:

    @Danal Just curious, were you able to make any progress with this?

    Sorry to say that I don't think he has, as he sadly passed away.


  • @Phaedrux Holy crap I didn't know. Thanks for passing this on

Log in to reply