Close
0%
0%

HoverPod

Open Source components to turn a Hoverboard into a mobility device.

Public Chat
Similar projects worth following
The HoverPod is a collection of modular mechanical, electrical and software components that can be used to turn a Hoverboard into an Assistive Mobility Device. Add a seat, a PVC frame and some casters. Fire up the Joystick and GO!

This project evolved from my previous Hoverboards for Assistive Devices project.  

Note: This is a project summary, rather than a project history.


My Philosophy

I believe that you can create just about any mobile device if you have reliable drive components that are easy to use and configure.  My goal has been to design custom mechanical, electronic and software components that can be combined with a commercial hoverboard to provide this capability.

  • My firmware can be loaded into a specific model hoverboard to enable it to be remote controlled.
  • My laser cut hardware components enable that hoverboard to be firmly attached to another assistive device.
  • I provide a custom PCB and 3D Printed data-port to allow a standard network jumper cable to be plugged into the Hoverboard.
  • I provide a custom PCB and software to allow an analog or digital joystick to be customized to the end-user.
  • I provide several 3D printed Joystick housings as a starting point for further adaption.

Design information is grouped into the following categories:

  • Joystick Controls
    • Mechanical
      • Analog Joystick
      • Digital Joystick
    • Electrical
      • Printed Circuit Board
    • Software
      • ESP32 Software

  • Joystick Hardware

    Phil Malone09/02/2021 at 03:02 1 comment

    Typical Joysticks some in two different types:

    Analog (or proportional).  These types of joysticks allow the operator to request smooth adjustable movements that can vary from slow to fast.  Because these joysticks are capable of a wide range of motion, they require more dexterity to operate correctly.  An analog Joystick can certainly be controlled by coarse movements, but the corresponding device movement will be equally coarse.  The simplest Analog Joystick is implemented with two potentiometers that act as a voltage divider.

    Digital (or discrete).  These type of joysticks provide a basic on/off movement output.  Since there is only one GO position, these are usually only suitable for slow motions.  The addition of software smoothing can "simulate" an analog joystick, but still only for short motions.  The simplest Digital Joysticks is implemented with 4 buttons or switches.  Two for Fwd/Rev, and two for Left/Right.

    I have created several 3D printed housings for both analog and digital joysticks.  These are only examples of what could be built, depending on the needs of the user.  Both types of Joysticks can be adapted to the physical mobility device.  Below you can see several joysticks that have been created to fit in the cup-holder of a child's car seat.

    In this example, the orange piece is 3D printed with a flexible spiral element.  A threaded brass insert is added to the center of the spiral to attach a lever/knob.  The underside of the led engages with 4 tactile switches on a PCB.

    Here the same design is printed in Black, with a 3D Printed knob attached with a bolt.

    Here the final assembly is seen with the RJ45 connector that is used to connect it to the HoverPod Port.

    Here it is seen mounted on the cup holder of a HoverPod.

    Here is a similar cup-holder mount, fitted with an Analog Joystick.

    A similar PCB is attached to the underside with a small spacer.

    The 3D Printed elements of these same Joysticks could be redesigned to suit almost any needed configuration.

  • Hoverboard Firmware

    Phil Malone09/01/2021 at 23:08 0 comments

    My goal has always been to reprogram a commercial Hoverboard to allow it to be used as a generic motor drive for assistive devices.   

    My initial work on the HOVER-1 Hoverboard started out by adding a smaller control processor (ESP32) inside the hoverboard to coordinate the primary and secondary (left and right) motor controllers independently.  

    Eventually I decided that it would be easier to just have an external joystick communicate directly with the Primary controller, and let the Primary manage the Secondary controller.  

    In hindsight, this should have been an obvious approach... but sometimes you don't see the trees....

    This approach is also compatible with "single motor-controller" hoverboards.

    The current setup runs identical code on both controllers.  If either side receives a dual-motion command via its coms debugging port, it will extract the data it needs, and then  pass the unused portion on to the other controller.

    My motor controller code implements several modes:  Open Loop Power mode, Closed Loop Velocity mode & Smooth Stepper Mode.  There is also a hybrid mode that switches between Stepper and Velocity modes based on the current speed. 

    The HUGS (Hoverboard Universal Gateway System) protocol is used for inter-controller communications as well as external Joystick commands.

    To learn more about how the Hover-Pod firmware came about, I suggest you read the logs from my Hoverboards For Assistive Devices project.  The best place to start is probably  Log #2 

  • External Joystick Port Interface

    Phil Malone09/01/2021 at 19:54 0 comments

    After toying with a wireless joystick interface, and several wired joysticks, I decided that I needed to provide a standardized plug-in joystick port on the Hoverboard.

    My final decision was to convert one of the existing decorative LED housings (that just lit up) into a Joystick port that uses an RJ45 connector to provide 5V power, Serial data and a remote on/off switch.

    The LED display has a small PCB and a plastic housing that conformed to the shape of the Hoverboard.  

    After much measuring and guesswork regarding curved surfaces, I created a 3D model using OnShape, and was able to print a replacement plastic piece that bolted to the Hoverboard's internal mounting points.

    I designed a small PCB that allowed me to add a a 40-5V converter, and the RJ45 Socket.  This board connects to the Hoverboard controller in three places.  It plugs into two existing connectors and is also wired to an unused COMM debug port (soldering required) .

    The Voltage converter used on this interface is a low cost Buck Converter, able to convert the 40V Battery Voltage to anywhere from 1.5 to 35V.  I adjusted the output to 5.0V.  I chose this voltage because most of the processors I might choose to use on a joystick are able to operate at 5V, with their own 5-3.3V regulators.

    Since the RJ45 connector was mounted flush on the PCB, it was important to choose a connector that had the clip/release on the top of the connector (less common), so it could be manually released.

     The PCB was manufactured by PCBWay, my favorite PCB supplier.

    Note the series diode that is in-line with the 40V input.  There is nothing worse than accidentally connecting a power supply input and getting the polarity reversed by mistake.  The buck converter PCB warns against it, so I assume it will let the Magic Blue Smoke out.  This 10c component will save me from a LOT of potential grief.

    The two wires that would normally go to the Hoverboard power button just get passed through to the Joystick.   Closing this circuit momentarily will power up the Hoverboard and cause 5V to be sent to the Joystick circuitry.   Another momentary press will tell the Hoverboard to shut down, and power off the Joystick.

  • Mounting Plates

    Phil Malone09/01/2021 at 19:28 0 comments

    After trying to attach a hoverboard to a frame using straps, I realized that all the slick curved surfaces were working against me, so I sought out a way to add several hard mounting points.

    I ended up developing a system were I could attach four 1/4-20 threaded inserts to the die-cast hoverboard frame to provide a rock solid attachment for a wide range of applications.

    I created four aluminum disks that each have a 1/4"-20 rivet nut attached, and these are bolted to the Hoverboard frame, using existing threaded holes.  I also created a spacer plate with matching holes that can be used a drilling template, and to spread the load to the chassis.

View all 4 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

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