Similar projects worth following
Open-source implementation of popular XHC CNC MPG PENDANT. Can emulate HB03 or HB04 and support software: Mach 3, NCStudio and LinuxCNC. Low cost BOM and easy to assemble to everyone.


  • STM32F10x controller with hardware USB 2.0 FS
  • Rotary encoder ( quadrature output )
  • Rotary switch ( 7 position )
  • Switch button
  • NOKIA 5110 LCD 84x48 [PCD8544]
  • 1.8' TFT 128x160 [ST7735R]
  • EastRising ERC12864-4 COG LCD 128x64 [ST7565R]
  • 20x4 LCD [HD44780]
  • Matrix keyboard ( up to 5x4 )
  • Emulate L(W)HB04 and L(W)HB03 MPG
  • Supports official plugins for Mach 3 and NCStudio
  • Can build firmware with IAR ARM, Keil 5.x, CooCox 2.x, GCC



  • Add more LCD
  • Code clean-up
  • Wireless version
  • Open-source hardware PCB board

  • 1 × STM32F103CB Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × 1.8 TFT ST7735R [OPTIONAL]
  • 1 × NOKIA 5110 LCD
  • 1 × ENCODER any quadrature encoder
  • 1 × Rotary Switch 7 position

View all 8 components

  • Build tools update...

    Moonglow01/13/2015 at 07:58 0 comments

    Now you can build firmware with: IAR ARM 7.2 and upper, CooCox 2.x, Keil 5.x , GCC ( tested with 4.9.3 ARM toolchain )

    p.s: firmware totally tested only with IAR, other build not fully tested, but must works OK

  • Just some updates

    Moonglow07/28/2014 at 06:08 0 comments

    Bitbucket repo was update, some major changes:
    1. Fix negative value representation for *HB03 devices
    2. Add Keil 5.01 project to allow Keil users easily build this project ( i do not test it all but all builds and working OK )
    3. Add handler for USB IDLE request ( it will fix some problems with some host HID drivers )

View all 2 project logs

Enjoy this project?



Jasmine Brackett wrote 08/06/2014 at 21:15 point
Hello Moonglow. Now is the time to spruce up your project details to give it the best chance of going through to the next round of The Hackaday Prize.

By August 20th you must have the following:
- A video introducing your project that's less than 2 minutes long. Put it on YouTube (or Youku), and add a link to it on your project page. This is done by editing your project (edit link is at the top of your project page) and adding it as an "External Link".
- At least 4 Project Logs
- A system design document
- Links to code repositories, and remember to mention any licenses or permissions needed for your project. For example, if you are using software libraries you need to document that information.

You should also try to highlight how your project is 'Connected' and 'Open' in the details and video.

There are a couple of tutorial video's with more info here:

Good luck!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates