Project 3+Pi

3+ Axis motion using Raspberry Pi 3 or similar. Can be used for Cartesian motion or even more. Now with optional closed loop sensing!

Public Chat
Similar projects worth following
3+Pi is a passion project by me whereby a Raspberry Pi "hat" designed to contain Stepper drivers and a rather beefy M4 MCU onboard to help with low level control for said steppers. The RPi therefore acts as the GUI interface which handles the high level interaction needed to command the 3+Pi board to do the necessary tasks.

Currently ongoing. One man army right now (that will be me.) Keen to look for other interested people who might be interested in helping out.

The fundamental concept is rather similar to any ATMega2560 based 3D printer boards. However, instead of using a USB-UART layer, this will be replaced by the use of a direct UART layer from the Pi to the 3+Pi board. Pi being used as High level HID platform leaving the M4 to do all the low level bulk of work.


3+Pi is nothing conceptually new. This is just as any 3D printer based board which talks through UART. Except instead of having a USB to UART layer, this is directly working UART to the Raspberry pi. 

Designed specifically to act as a Raspberry Pi Hat. 3+Pi conceptially means, 3 Axis or more (thus the +) and along mounted onto the Pi.... (umm... Thus the +Pi again.)  

With a ARM Cortex M4 STM32F302CBT6, the 3+Pi will be able to handle all the low level logic and Realtime aspect of driving the motors for whatever purpose you might want to throw at it... Hopefully. Using the TMC2041s dual in one package stepper drivers communicating with the STM through SPI, the option to add 6 Degrees of freedom will not be an issue... Unless maybe when you're driving the stepper coils hard then yeaaaahhhh probably not? 

Optional CAN controller will let you use the 3+Pi for any CAN-able (hehehe) devices in the bus allowing you to directly talk to the STM for stepper feedback and monitoring or stepper driving. With the optional feature to talk to the Pi and ask it nice questions like how is the temperature going and how much resources are you drawing. How are you feeling? It's good to talk...

Finally, with the whole doctrine of USB-C motivation, I have succumbed and made the board support USB-C 100W full usage. I mean it will be able to negotiate a whopping 20V 5A if the supply grants it but will be able to programmed to drop the power draw should there be an issue. If there isn't any 20v or high current supply, the board will work functionally with normal 5V 3A powering only the Pi and prompting the user about low power input thus putting the STM32 to deep sleep until next power up hoping that the power supply is enough to juice it up.

So where can this be used? Possibly for 3D Printers, CNC machines, Laser cutters or virtually any low power demanding 6DoF applications. I have so many outlandish plans for this project such as adding the potential to respond to physical motion feedback on said 6DoF to have a good closed loop control system. I hope this is inspires you to design your own crazy project (please feel free to let me know about it and I'll definitely try to support you with my skills as much as I possibly can) and or feel like oyu want to help out. Because sure enough, you are happy to join this project! :) Thanks for reading...


Here is the previous extract I had for the board originally. I believe in archive and less deletion as it's an important philosophy to show other people and individuals the improvements/non-improvements they make.

{The board consists of the Cortex M4 STM32F401RE chip handling mostly the grunt of the lower level tasks needed to create the signals need for the 4x TMC2100 Stepper driver modules. A bunch of bulk Al caps to smooth out the power supplied and to be rated to handle 24V input. This reduces the need to having thicker current power supplies rated at 12V. [Edit: 18-02-2019 This was the original idea with Prototype V1.0-1.2p]

My power target is to go lower than 96W total....For now. [Edit: 18-02-2019 This was the original idea with Prototype V1.0-1.2p] }

This is rather a rapid prototype for now, so it's been designed rather quickly and will possibly have some bugs/hiccups here and there. I have been working on this after my usual day time work during the weekdays so ... I'd say there isn't much time put into this yet but regardless, I intend to do it no matter how long it takes because of I love doing such projects.

  • 2 × TPS54340DDAR Power Management ICs / Switching Regulators and Controllers
  • 3 × TMC2041-LA-T Dual Stepper Motor Driver
  • 1 × MCP2562T-E/SN Application Specific ICs / Telecom ICs (CAN)
  • 1 × STM32F302CBTx Microcontroller
  • 1 × Raspberry Pi 3 B Single Board Computer

View all 7 components

  • Introducing Spine for 3+Pi

    Tobius Daichi04/21/2019 at 14:03 0 comments

    Hi everyone. 

    I've finally made the Hackaday page for Spine. Here it is: 

    Parallel to working on the 3+Pi, Spine will be an optional unit for closed loop 3D space sensing. Ideally to be used with the 3+Pi, I plan on releasing the designs for anyone anywhere to use it.

    Thanks, have a good day!

  • Minor Updoot 09-04-2019

    Tobius Daichi04/09/2019 at 01:27 0 comments


    I've been busy lately and haven't gotten much time to work on the Spine board yet. I will get to it as soon as I can while I sort some normal day chores out first and get sometime.

    In other news, 3+Pi has entered the 2019 Hackaday competition! woo! So many amazing project entries from others which is really awesome! 

  • Feedback is nice

    Tobius Daichi03/25/2019 at 06:57 0 comments

    Good Evening. 

    So I was thinking about adding some sort Motion feedback from the motion created by the stepper motors allowing a closed feedback loop if the system is going to be used as a 3D space instrument.

    Essentially it will be a plug in board which will be remounted onto a distribution board which will connect two sensors on each side whilst the distribution board contains a different yet similar approach to the other sensors. 

    Hmm, knowing that this will bump the pricing overall up, it will be an optional setting which is why it will be a 'plug in'. 

    Again with the close-no-budget that I have right now they will remain in software phase without any testing done in real-life. I am not sure if a go-fund-me or kickstarter would suffice because I don't know or like marketing exaggeration and my projects are very niche, let alone completely over saturated now times. 

    Oh well, if anyone would be interested in conversing about this, please send me a message/comment and I will hopefully get back to you very soon. 

  • now redirects to this page

    Tobius Daichi03/12/2019 at 01:45 0 comments

    Minor Updoot. now redirects to this very hackaday page. 

    Other than that, no changes or updoots. Still working on other stuff for now. 

  • Updoot 26-02-2019 | Want to beta test?

    Tobius Daichi02/26/2019 at 03:12 0 comments

    Good evening. 

    The last few days have been quiet as I haven't done much. I am still looking for ways to get this funded to be released. I am not really that keen on doing over-the-top advertising and would prefer a small niche market anyway. 

    I'm always open to anyone willing to join the team, unfortunately I am not really a marketing person so I do not have the finances to pay for your time. I ---however--- promise to make it up for it later when something comes out of it and will be as transparent as the air that's between your eyes and the screen that you are using to read these texts... Assuming you're not in a smoggy area...or wearing sunglasses...or... Okay that was a terrible analogy. 

    If you're keen to be a beta tester and are willing to make your project using this board, feel free to contact me here by leaving a comment, sending me a message here or just send me an email over on:

    Thank you for reading, hope you have a good day.

  • V1.3p Prototype designed! [Edited with more info]

    Tobius Daichi02/17/2019 at 07:11 0 comments

    Okay so major changes on the new board. I've changed project image to replicate that. 

    I'll add in the changes after making an actual change list with the project itself and the BOM cost.

    Additional Edit [10-02-2019]

    Good Evening. 

    Version 1.3p (p = prototype) has been designed with some massive considerations and changes whilst still keeping in mind of the the same concept of 3+Pi original idea. The reasoning behind these changes were to reduce the BOM Costs and try to optimise the maximum usage of components available. As you will notice later on the that the Components listing will change to adhere with these potential replacements. 

    They are as follows: 

    STM32F401RE ---> STM32F302CBT6

    This is a 48 pin count lesser 'expensive' variant from ST Electronics. 

    May also make it obvious that this is a personal bias choice of mine because I happen to have a knock-off STLINK from ebay that will let me program with this chip. I would have loved to program with the Microchip's variants which have quite an appealing price. But not only do I not have a ICE board or the ace of all cards: JLink. 

    This drops the price by about $4.00AUD from Digikey listing (individual piece).

    TMC2100 --> TMC2041-LA-T

    This Trinamic chip contains dual Stepper driver modules in one chip. Not only is this great for space factoring but also I happened to have found that they also do use the SPI Ctrl system to drive the motors leaving me to use the SPI control mechanism of the STM listed above. Besides the fact that I limited the current to about .9A per coil, this should be plenty for small applications and less torque demanding applications. I will have to do some serious testing on this platform to make sure it works. 

    MAX17574ATG --> TPS54340DDAR

    TI Chip allows more current to be pumped out without the need of external MOSFET drivers. I chose this for the sake of space and also reducing development timing. I will need to do some testing and see if things work out and if the supply is as regulated as expected and actually am recording the right amount of voltage. Which is why I used to 2.54mm jump headers to measure current draw.

    With those changes made. Here are some new additions to the board:

    Read more »

  • Hmm... Something something USB-Type-C Power...

    Tobius Daichi02/14/2019 at 12:41 0 comments

    Hmmm 100W MAX...

    Negotiable power draw.... 

    Potential reduction of e-waste by using current on the shelf power supplies.

    Yup. I'm working on getting a power delivery mechanism working to allow USB-C Sink whilst taking advantage of that 100-60W power range. Fun fun!

    ... If only I had time :( bah! I'll do it anyway no matter how long it takes!

  • Updoot 09-02-2019

    Tobius Daichi02/08/2019 at 14:38 0 comments

    Hello people of the internet...reading this.... hehe

    Some major changes to the board. It's as if I went totally mental and threw everything from the table and started all over again... Except I did this by copying the folder and making a new prototype. 

    It obviously seemed like the F401RE was too expensive paired with 4x Trinamic individual drivers. This was seriously an issue I overlooked... because well I don't really have much time to work on this that much.

    I've changed the MCU to the F334C6... Drivers to 2041-LA ... PSUs to TPS54340s. And also added a CAN transceiver since that 334 came with it. I've also had to reduce the pin count for the MCU so I can try to squash in as many stuff onto leaving nothing down. 

    Still planning on making it a 4 layer board too.

    Well that's it for now. 

    Weekend sorted! I'll keep you all posted :D

    As always, happy to have anyone who is interested to join and help out! Send me a message.

    Cheers and have a good one!

  • Updoot 02-02-2019

    Tobius Daichi02/02/2019 at 06:43 0 comments

    Hello again, 

    Got the digikey parts in, just now waiting for some parts from RS to come in and the first prototype board should be good! yay. Here is some progress:

  • Boards are here! :D

    Tobius Daichi01/28/2019 at 03:08 0 comments

    The boards are here! 

    Time to order the parts.. :)

    Ordered the parts! ... (sigh) RIP Wallet :( 

View all 12 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