Goniometron the Flexinator

As you bend, so bends the board. The board bends in many fields, and with it bends the truth. The truth passes through the air.

Public Chat
Similar projects worth following
My mom lives on a farm. A few years ago she hurt her finger doing farm stuff, and the injury is still causing her pain and interfering with her active life.

After her injury, her doctor gave her a finger splint and told her to move it as little as possible for six weeks. After that, her physical therapist gave her a set of finger flexion exercises and told her do do 10 reps of each one five times a day.

Why six months? During those six months, how much movement is acceptable? Why those particular exercises? Why that particular static regiment? There are handful of clinical trials out there, but they all require the participants to return to a clinic for evaluation. In order to make informed decisions, doctors need INFORMATION.

The most important information seems to be range of motion, amount of movement, and pain. Goniomitron will measure finger flexion using inertial sensors and make that data accessible via BT/ESB. Pain could be queried via a companion app.

Goniometron the Flexinator is a wireless wearable capable of measuring amount of finger movement and range of motion (over 1 hour and 1 day epochs).

Shame on you for thinking this would be way cooler if it were a data glove for playing games and stuff. That's the failure of the technological utopia talking, don't listen to it.

To quantify finger movement and measure range of motion, Goniometron will use three integrated accelerometer/magnetometer pairs. The first inertial sensor pair will be a reference sensor located on the back of the hand, and the other two will be located on the first segment of the index and middle fingers. To estimate joint angles, Goniometron will estimate the orientation of each sensor and then estimate the orientation of the two finger sensors relative to the one on the back of the hand.

Since the sensors need to be able to move relative to one another, they will be mounted on a flex PCB. I am not sure that this is going to work the way that I want. It seems likely that it would make more sense to use the separate PCBs with cables running between them, but if it does work then it simplifies the design significantly. 

The three sensors will be controlled by an nRF52 (an arm-cortex m4 with an integrated 2.4gHz radio developed by Nordic Semiconductors). Another advantage of the flex-PCB is that it will probably be much easier to isolate the antenna for the radio from the ground plane.

To keep things simple, Goniometron will be powered by a non-rechargable coin cell battery. the microcontroller has internal voltage regulators, so we can power it straight from the coin cell battery. It should even be able to tell us when the battery voltage is running low.

  • 1 × nRF52832 A cortex-m4 microcontroller with an integrated 2.4gHz radio
  • 3 × FXOS8700CQ A six-axis inertial sensor with an accelerometer and a magnetometer

  • PCB layout

    justinbrowe04/15/2019 at 23:26 0 comments

    The angles made the a particularly tricky board to lay out because of the angles. To route the traces on the angled flanges, I measured the angle in fusion360 and rotated the entire board to align the angled flanges with the x-axis. Eagle had a bit of roundoff error that would create design rule violations when I rotated the board back after routing the traces, so I had to micro-adjust the traces (or more often the board dimensions) to correct them.

    I suspect that bending the antenna might change its behavior - I will have to test that once I have the boards - I should probably add in a U.FL connector to make testing a bit easier.

    normally for a 2 layer board I would stitch the top and bottom ground planes together with vias along the edges, but 1) I didn't have a lot of space for that, 2) the weird angles made it difficult to get even spacing, and 3) I was worried that putting a bunch of vias right next to the edges that I was going to be bending might cause the board to tear instead of bending. Instead of stitching the ground pours together around the edges, I just stitched them together in a grid.

  • Designing the schematic

    justinbrowe04/15/2019 at 23:05 0 comments

    As alluded to (but not explicitly stated) in the previous log, I am layout out the board in Eagle.

    In keeping with the goal of simplicity, I just used the design block for the nrf52 published by nordic semiconductors. The nRF52 has two internal regulators, an LDO regulator and an optional buck regulator. The buck regulator requires a few extra components, but it can save power in some circumstances. I wasn't hurting for space, and I expected that I would need all of the power savings I could get, so I decided to use the design with the extra components for the internal buck regulator. 

    for the accelerometer/magnetometers, I got the eagle library files from adafruit. Thanks adafruit. Thadafruit.

    I decided to experiment with building the battery contacts into the flex PCB. we will see how well that works.

  • Defininf the outline of the flex pcb using sheetmetal tools in fusion 360

    justinbrowe04/13/2019 at 20:27 0 comments

    Normally for a project like this I would start by designing the PCB, but for this particular project, form factor is very important. The PCB needs to fit onto the back of the hand and the sensors placed over the fingers need to have the freedom to bend with the fingers.

    I will be using a flex-PCB for this project, and since the value of flex-PCBs comes from their ability to confirm to 3 dimensional structures, it makes sense to design the outline of the board using a 3d cad tool instead of a normal 2 dimensional PCB cad tool.

    The sheetmetal tools in fusion 360 are perfect for designing 3 dimensional structures that need to be able to unfold into 2 dimensional designs. I sarted by making a quick sketch for the back of the palm and then extended flanges out for each finger.

    I added serpentine cuts into the finger flanges to try to give the board more freedom to bend laterally, but I am not sure they are going to work well enough. If they don't, then the flex PCB will probably tear when the wearers fan out their fingers.

    Between the two fingers, I extended out two more sections for the battery and the antenna. Unfortunately, I had to put the flange for the antenna very close to the flange for the battery. It would have been better to put it off to one of the sides, but that would have doubled the overall size of the design. For now I think it makes more sense to see whether putting the antenna near the battery causes serious problems.

    Once all the key features were in place, I used the "unfold" command in fusion 360 to create a flat pattern for the design, which I exported as a .dxf file.

    Because fusion 360 and Eagle are both owned by autodesk, it is very simple to import a dxf file generated by fusion 360 into Eagle. Oh, wait, no. It actually doesn't work at all. I had to open the .dxf file in inkscape and re-save it before importing it into eagle using the import-dxf.ulp. I also had to replace all of the curved segments with straight segments. After doing that though I was able to import the outline I made in fusion 360 into the dimension layer in eagle.

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

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