SatRod - First Version Released

in #utopian-io5 years ago



SatRod is a project aiming to create a custom Joystick using an Arduino Leonardo. It includes easily customizable software for the Arduino, supporting up to three rotary encoders, momentary buttons and non-momentary switches. In order to make customization as easy as possible, even for people without programming skills, there will be written and/or video tutorials on how to customize the software.


This project will also include Fusion 360 models for 3D printing for one particular Joystick, targeted at certain features of the game Elite Dangerous by Frontier Development (I am in no way affiliated or sponsored by FD).

Everything published as part of this project (be it code, tutorials or other), will be published under a common OpenSource license.

Post Body

The first version of the SatRod has just been released. It includes an Arduino project that can be flashed onto an Arduino Leonardo. It handles all inputs and registers itself with your PC as a regular Joystick. All you need to do is to configure it for the particular buttons and/or analog axis you want to hook up. A list of the needed Arduino libraries can be found in the readme file of the GitHub repository.

Apart from the software there are also 3D models for a particular custom Joystick aimed at the game Elite Dangerous. Models for this include both Fusion 360 files for modification and STL files ready for slicing and 3D printing.

The project is not finished yet though. There are still some future goals I want to achieve with this project.

Firstly I want to make this project easy to use even for people who have never programmed before. I will make video tutorials for the entire software side of the process. Meaning you start with a freshly installed windows PC and I will walk you through everything you need to install, show you how to configure the software project and flash it to your Arduino. There will even be videos on how I assemble and wire up my particular custom Joystick. Tutorials on 3D modelling and 3D printing are not planned at this stage, depending on demand I may do that as well though. Or someone else can help me out with this.

Secondly I want this project to become a general repository for custom Joysticks. If you design your own custom Joystick using this project, it would be amazing if you were to share your config and 3D files with the community. I would love it if this becomes a repository of custom Joysticks where people that are unable to 3D design their own can just choose from a vast repository of existing Joysticks.

Thirdly but not lastly I am sure there is room for improvement on the software side. I have tested the software but you can never be sure you've squashed all the bugs. So there will be bugfixes should anything turn up. Also new features are surely going to come at some point. I want this to be as versatile as possible (concerning Joysticks of course).

If you want to contribute just go over to the GitHub repository and open issues if you have any, open pull-requests if you fixed something or want to add some 3D files. However there will also be a call for contribution after I have prepared the repository some more for contributions, i. e. have added the appropriate templates and so on.

Please let me know what you think! If you are unfamiliar with GitHub you can also comment here if you have any questions/problems or suggestions.


All resources shown have been created by myself.

Series Backlinks


Hello, @targodan!

Thank you for your contribution. This is a nice review of a very interesting project. Your post is informative and comprehensive, and even contains your personal views and goals. Well done!

I must admit that I wish you'd gone into more detail regarding your personal experience of working on this project. I wanted to read more about the time and effort you put into this, the obstacles you were faced with, the reasons that made you decide to start working on this project. This is the kind of editorial content we like to see in blog posts.

That said, there were minor punctuation errors, but not to the level where it hurt the reading experience. Furthermore, I noticed that you copied a few lines from a previous post of yours. Please do keep in mind that this is something you should avoid doing, especially taking into consideration the fact that this is a blog post.

In conclusion, I appreciate the effort and look forward to seeing awesome content from you in the future.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.

Need help? Write a ticket on
Chat with us on Discord.

Thank you for your detailed feedback. I will take it to heart and include the origin story of this project in a future post. Maybe even its own post depending on how entertaining I can write it (in that case it probably wont be a #utopian-io post though, I'll ask around if something like that would be eligible).

Thank you for your review, @lordneroo! Keep up the good work!

Hey, @targodan!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support!
Simply set as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord

Vote for Utopian Witness!

Hi @targodan!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Congratulations @targodan! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 50 as payout for your posts. Your next target is to reach a total payout of 100

Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!