New Year's Sprint

Hi all. Just starting a thread for the work I plan to do this week on Kinograph so we can all follow along. I have the whole week off and my only goal is to push Kinograph as far as I can with 6 full days of work. I’ll be posting daily updates here and will likely need your feedback and expertise as I go so please comment and share!

Where I’m at:

Tension hubs: I tried going with one tension hub on the feed side and it works, but would require some tweaking. I’ve decided to go back to using two tension hubs, one at each reel, since we know that works. We can optimize later if necessary, but right now there’s no pressing need to.

Once that’s up and working I want to get the hubs working together to make the film absolutely still. That will require some kind of feedback from the film path on the direction and speed of travel. I’m thinking a rotary encoder will work for this. I can salvage what I did with the capstan motor design to implement this on any of the 3D rollers I have along the film path. The perf sensor could give us speed of travel, but not direction, so I think a rotary encoder is better for this and it can also serve as a backup to the perf sensor in the case of damaged film.

With a rock steady film transport system, I can move on to the sensor. I’ll quickly test the few that I have laying around, and choose one to implement (all tests will be posted for your review).

The gate had a re-design recently but it has some flaws so I’ll need to CAD an update and print a new one for testing.

And, if we’re lucky, we can take a swing at lighting. But that’s optimistic, I think.

Wish me luck!

I know you’re trying to get stuff done quickly, but in terms of simplicity and cost savings, it might be worth looking into using a motor with an integrated encoder. They’re not much more expensive than an open loop motor, but you get so much more information.

We’re using some Schneider M-Drive steppers on the Sasquatch scanner for the camera and lens positioning system. These are a bit expensive new, but readily available on the used market. I think I paid less than $75 for a pair of them on ebay. What’s nice is that they have integrated drivers, and you can glean speed and direction from these without having to set up a separate sensor or encoder for that, so the wiring and coding is a lot simpler.

Similarly, the Teknic servo motors we went with for the feed, takeup and capstan drive are all closed-loop with self-contained drivers, with encoders you can use for various purposes, like positioning.


Totally valid and I appreciate the suggestion, @friolator. For now, I’m adopting a “don’t fix it if it ain’t broke” approach, or, to use an old software saying, “premature optimization is the root of all evil.”

I agree that your motor solution is probably better. However, the current setup will give us everything we need and I hope that someone will try out the motors you suggest (perhaps you!) on a Kinograph and report back that it is far superior and we should adopt it at once!

Put simply, if I keep trying every possibility, v2 will never see the light of day. I’d rather release something that works and has room for improvement than spin my wheels searching for the “right” solution to every design opportunity.

It’s a really good idea and I hope we get to try it out soon!


I re-added the 2nd tension hub connections to the Arduino shield. I cut it out on the Bantam Tools PCB mill and soldered the parts and then realized that the I2C pins I was using aren’t the default ones that are used by 3rd party libraries. So I moved those connections to the other side of the board (pins 20/21) and cut out a new one before I went to bed.

This morning I’ll solder the components to the new board and then today attempt to get the startup routine working and PID tension adjustment working for both hubs/motors.

PS, current Arduino code is here (temporary repository until all documentation is consolidated for v2):


Yesterday went well. The PCB took a couple more revisions to get right but eventually worked out great and has a better layout.

I made a new pinned post on the forums that helps give a better high-level introduction to the project, and added a very minimal camera page to the wiki so I don’t have to keep searching for the exact model I bought every time someone asks.

Today I’m working on the startup routine for the motors and PID loops hoping to get them steady. Then I’ll try to get the adjustable speed working. Onward!

OH, and this happened. :expressionless:

1 Like


Yesterday was awful. It seemed like everything broke and I spent the whole day troubleshooting. It was one of those days (and there have been many these) where I feel like I’m the last person who should be working on this and that from here on it will be a slow slide to failure.

But this happens on almost every project. I walked away, worked on something else, and can start fresh again today. Hopefully I’ll have a better report tomorrow.

A short summary of what I was up to:

  • troubleshooting PWM problems (turns out you can burn out the PWM functionality on Due pins)
  • testing PID loops and alternatives to them
  • a motor burned out and when I went to order a replacement, I found none. Now I"m thinking @friolator’s approach of sourcing components from a real company (vs. generic chinese parts on Amazon) might be a better approach. Will research more on that today.


Keep going Matthew. Small businesses must continue to thrive. 2021 should be the year of the individual.

Happy New Year!


1 Like


I was able to find a supplier for motors. The motors have very similar specs to the ones I was using and we can now count on them being available and the shipping is only 2 days (in the USA). Hopefully we can together find a source for a similar motor for other continents.

I was able to also make some progress on the PID loop (tension hub coding stuff) using the one motor I have that is still working. Still plenty I can do without motors :slight_smile:

Before the next summary I hope to have the PID working as expected and if I have time, break out the sensors for detecting perf holes and make a testing rig.


I took most of New Year’s Day off to go on a hike and drive around a bit. I did spend a little more time on the PID code and think I have it in a good place but will wait to do full tests when the motors arrive early this coming week.

I also built a quick test rig for the perforation sensors. As soon as I got it up, I realized that it would be beneficial to test with the actual gate design so I get a sense of how the gate affects the flatness of the film. Below is a pic of the basic test rig and a screenshot of the new gate re-model (3D model here).

I’m fabricating the parts for the gate today and will also order some plastic for CNC’ing the curved gate piece.

That will pretty much wrap up the sprint! It went by fast and, as usual, I didn’t make it quite as far as I would have liked but the outcomes are looking good:

  1. Improved hub design
  2. Improved code (now public here)
  3. Found a new source for motors
  4. Completely newly redesigned Arduino shield PCB, confirmed working
  5. Learned about the limitations of the Due (burning out PWM pins)
  6. New, simplified gate design
  7. Solid additions to the forums (new pinned post on high-level Kinograph) and YouTube channel (basic outline of what components and design decisions go into making up a Kinograph).

All in all, not bad. I look forward to keeping up the momentum as I strive to reach my goal of a working v2 prototype by Spring of this year.

Thanks for all the support and suggestions.

OH, and one more thing. I have a request! If you have warped film, I’d love to have it for some tests. Please email me if you have some you don’t mind sending to me (and not getting back):


1 Like