Welcome! Log In Create A New Profile


STM32F1/F4 3d Printer board for Marlin

Posted by victor_pv 
STM32F1/F4 3d Printer board for Marlin
December 21, 2017 01:06PM
This is my first post here, but I have read many threads and found great advices and comments, so I am posting here to get opinions.
In the last couple of months, I decided to write a HAL for Marlin 2.0 to run in STMF1/F4 boards, using the libmaple based stm32duino core.

During that process I started designing my own printer board to fit my needs, and I am wondering if there is any need from other people for a board like this, in which case I'd try to do a kickstarter to get volume production and volume pricing.
These are the current features of this board:
  • Runs Marlin 2.0. May be able to run stm port of smoothiware, but have not tried it in any way. The board has been designed from the ground up for Marlin.
  • MCU. Several options: STM32F1 Cortex M3 at 72Mhz, or STM32F4 Cortex M4 at 168Mhz
  • STM32F103VCT, with 256KB flash, 48KB of RAM. Could use STM32F103VET with 512KB of flash and 64KB of RAM, or STM32F407VET with 512KB of Flash and 192KB of RAM.
  • 6 Pololu format stepper drivers, pins for up to 8, could add a expansion board, or a second version of the board with 8 steppers.
  • 4 ADC inputs
  • 4 endstops inputs (can be used an output too, and pins available for more endstops if needed)
  • Separate heatbed in and out, up to 24V.
  • 12V input for everything else.
  • 2 high power mostets for hotends.
  • 1 PWM controled fan, 2 more 12V outputs for fans or anything else.
  • 64Kbit eeprom on board to save settings, bed level mesh points, etc
  • Laser/Spindle Enable and speed pins.
  • LCD and SDCard connectors for standard displays.1 Hardware SPI port available in LCD connector and a separate hardware SPI port in SDCard connector.
  • SDcard onboard with SDIO interface.
  • ESP-01 connector with hardware serial.
  • Multiple pins in expansion connectors, including hardware SPI and Serial ports.

Other options I have considered, and have planned pins for them, but not built in my current version of this board are:
  • 8 stepper driver Pololu connectors.
  • 4 high port Mosfets for hotends or anything else
  • 2 or more PWM controlled fans.
  • 6 end stops, including support for BLTouch.

I have been using this board now for a couple of weeks to 3D print and laser engrave, and I'm really happy with it. I am using the excellent ESP3D code in an ESP01 to use as a wifi bridge, and printing remotely with Repetier host, and both that and printing from the local SDcard work great.

There are things still to test and improve in the HAL, but I have contributed all the code to the Marlin 2.0 bugfix branch, so anyone can test, contribute, or use it as they wish, so there is no barrier to add support for more commercial boards.

Currently producing this board in quanties the price may be around $60-80 depending on the final options.

So my question is, would there be any interest in a board like this?
If so, what features may I have left out that would be good to have, either from the options list or something else I didn't list?

Update: To be clear, I do not intend to turn this into a closed commercial board and make a living out of it, I am considering kickstarter or some other crowdfunding with the intention to get high volume and low price from that volume, and funding to develop a few more prototypes until the design is nice and sound. So the estimate for the price is for about 100/200 boards, could be lower for larger volumes. But if it was successful I expect to be possibly cloned, so I'd rather open up the design at the end and make sure clones are still sound and cheap.

Edited 3 time(s). Last edit at 12/21/2017 02:23PM by victor_pv.
Re: STM32F1/F4 3d Printer board for Marlin
December 21, 2017 06:31PM
Hi Victor,

... I'm pretty interested in the STM32F4 part - but more in the software, as I'm developing my own "shields" to fit into an already existing driver board, actually running with ArduinoDue and Marlin4Due firmware ...

Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: STM32F1/F4 3d Printer board for Marlin
December 22, 2017 12:28AM
There is an F4 HAL already running with the older bugfix2.0 branch, from Chriss Barr, based on the STM32Generic core.
I tested mine compiles in the F4 with little changes, but I still need to work more of the F4 side, but I have no doubt it will work with little effort.
Another github user, Spawn32, has worked a bit further in Chriss Barr's HAL, but porting it to an F7, and I believe he may have printed with it already.

So what you are wanting to do is switch the DUE/Marlin4Due combination with the F4/Marlin 2.0 combination?
It's kind of a chicken/egg situation with the F1/F4. Since there was no HAL, there were no boards, and since there were no boards, nobody contributes to the HAL. There is one other user that started helping me with the HAL, and contributed the ADC part, and he is printing in a Malyan M200 board.

Edited 1 time(s). Last edit at 12/22/2017 12:31AM by victor_pv.
Re: STM32F1/F4 3d Printer board for Marlin
December 22, 2017 03:34AM
IMHO the stepper drivers would also benefit from running with 24V.
What kind of MCU-boards are required to run your "RAMPS-STM" ? Are they widely available like the arduino boards? How expensive are they?

I'm using the RADDS boards for a while now, which runs on Arduino Due and with RRFirmware. Right now, I don't see a reason to swap it out against yours.
So, please convince me winking smiley
Re: STM32F1/F4 3d Printer board for Marlin
December 22, 2017 05:54AM
... here are some images of my controller-/driver-board-combo with ArduinoDue and 24V, compared to the RADDS board:

The essential part ist the "CPU-shield" with the 40pin-cable, actually populated with an ArduinoDue - have some plans to swap it with other microprocessors or expand/modify it with optional electronics.

Here another image with some BBB-based controllers on the left side, meant for XY-galvoscanner and/or XYZ-CNC-controlling with laser:

Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: STM32F1/F4 3d Printer board for Marlin
December 22, 2017 11:20AM
O_Lampe, the board in the photo uses a cheap MCU board, that cost some $7-10 with F103 or F407 MCUs. They are available in ebay and aliexpress.

I decided to be as modular as possible while developing the board, so I could test different MCUs, replace the MCU if it failed for some reason, or take it off the board and move to the new one when I make a new revision.

If I did a kickstarter to mass produce it I would include the MCU board in the package, or if it's needed to reduce cost, include the MCU in the controller board itself.
I am undecided in that respect because on one hand using a pluggable MCU allows for it to be replaced, either for repair or for upgrade. In the other hand, it adds to the cost, since the MCU board+connectors are more expensive than just including the MCU onboard.
With a pluggable MCU, a user could use a 103VCT today, and later on move to an F407 if the additional speed and FPU were needed. But also the prices of the MCUs are within a few bucks of each other, so with enough volume producing the controller with the MCU included and just using the F4 would be likely cheaper than using the F103 with pluggable MCU.

I think most people wants simplicity, and something that runs right away, so producing and selling the controller without MCU is not something I considered. Either include the MCU in the controller, or include the MCU board with the controller as a package, so a user doesn't have to go shopping twice just to be able to use it.

The advantages I see of using this board over existing solutions:
  • Mega derivatives (Rumba, GT2560, MKS Base): Similar cost, with slower MCU, less ram and less flash which limits features, most of the time less stepper drivers available unless going to more expensive boards.
  • Mega+Ramps: Cheaper than mine, more limited. Fine for runing the normal basic features in a 3d printer with 3 axles + 1 or 2 extruder steppers. If you have to add more steppers, wifi, etc you need to start buying additional parts and putting them all together.
  • Re-Arm+RAMPS: Similar cost or more expensive than mine, depending on the quality of the RAMPS. Similar performance. More stepper drivers available, more Hardware ports available (Hardware spi for sdcard, lcd, and extra one for anything else, multiple USARTs available, dedicated port for ESP01 for wifi bridge, dedicated connectors for Laser/CNC control). As with the mega, adding more things means adding extra boards, extra wires, it can become messing and intimidating for the user, and added cost and time to setup.
  • DUE+RAMPS: Similar to re-arm situation, depending where the user buys the DUE and the RAMPS can cost similar or more than the STM board, and still has less stepper driver..

There are other 32 bit boards, which I think are just for a different target, specifically:
  • DUET Wifi: Similar performance and features in the board, but DUET is all integrated, and mine is modular (steppers can be replaced, MCU could be an option). The cost for the DUET is higher but you get all in one integrated and working together. They run different firmware. I think they are not aimed at the same user.
  • STM's own 3d Printer board: Similar performance if using the F4 in mine. The STM one is all integrated solution, similar to the DUET. More expensive, but you get all at once, want it or not, and currently only runs a custom version of Marlin 1.1. Should be able to run Marlin 2.0 once a HAL for it is available and tested.

So the AIM of my board is for someone that wants ore than 4 stepper drivers, wants to use Marlin as the firmware, and wants to be able to start with say 5 stepper drivers today, add a new one later, or perhaps replace them all. Be able to switch a driver if one is burnt out (not very common, but happens), may want to use the board for CNC/Laser control, or use it in a 3d printer with board a 3d head and a Laser head, and wants a board with enough CPU performance, RAM and Flash, that new features in Marlin can be used together, without either having to disable some or having performance degrade.

Edited 2 time(s). Last edit at 12/22/2017 11:31AM by victor_pv.
Re: STM32F1/F4 3d Printer board for Marlin
December 22, 2017 11:34AM
@VDX, what features are you currently using in those boards? Depending on what, may already be implemented and tested either on my libmaple HAL or on the STM32Generic HAL.
Re: STM32F1/F4 3d Printer board for Marlin
December 22, 2017 12:28PM
support for the Trinamic steppers or general Stepper configuration support (basically just having SPI at the stepper modules) would be something the I would want from a new board.

Also important for me would be USB device Interface as the UART interface. So no external USB to UART chip.

But those are only my requirements.

You might want to take a look at the STM32F466 (Is runs at 180MHz,...) You are aware of the cheap ST-Nucleo boards, right?
Re: STM32F1/F4 3d Printer board for Marlin
December 22, 2017 04:03PM
@JustAnotherOne those are good ideas.

I guess you mean the F446. I am aware of it. It's a good MCU too, but I don't think it adds much over the F407, other than 12Mhz more in top speed, and is more costly, that's why for F4 I have been considering the 407. But there is really nothing preventing me to use that MCU.
About the Nucleo boards, I know them, have a couple of them in fact, and a discovery F7. I thought on the possibility of making a shield for them, but I thought I'd rather use a more compact MCU board, or just have the MCU soldered to the board. But definitely using the Nucleos and developing a shield for them could be an option.

The 64pin MCUs have enough pins for most of what I described above, but not everything. So the nucleo-64 would be a good option for a base board with perhaps up to 5-6 stepper, and some of the extra expansion. I made a table with the pins available and needed for the board, and the 64pin versions were coming short for the top design, but may fit the bill for just 6 steppers with no extra expansion.

About the SPI avaible to steppers, I have been thinking about it, but seems like the trinamic ones in pololu board have the spi pins in a strange position to put a female header on the controller board.
I have been thinking also on adding 2 more pins per row to the Pololu headers, or a few more pins in a bottom row, but that would need a new driver carried board design.
I specifically reserved 1 hardware SPI port and left the pins unused so far just for this possibility, but couldn't find some existing format yet.

This is more or less what I'm talking about if I added an extra row.
Current pololu:
| |
| |
| |

New possible design with row at bottom:
| |
| |
| |
------ <(spi pins)

So if a normal pololu driver is plugged it, it makes no contact to the SPI port pins and no proble, If a driver with those pins is plugged it, it gets SPI connection in that last row.

Are you aware of some pluggable stepper driver with the SPI port pins in a place that can plug in a female header in the controller?

EDIT: Forgot to mention, there is no USB-Serial chip here, it uses the MCU USB peripheral for USB, and still allows extra USART ports to be used for other things, with 1 broken out to an ESP01 connector, 1 available in the LCD connector (used as normal IO, but can be configured as hardware USART), another one in a expansion connector, and I forgot where the rest are.
I am currently using the USB port for a computer connection, and the USART in the ESP port for an ESP01 wifi bridge, and can control the board from either USB, the LCD panel, or Wifi, at any given time.

Edited 1 time(s). Last edit at 12/22/2017 04:08PM by victor_pv.
Re: STM32F1/F4 3d Printer board for Marlin
December 22, 2017 05:59PM
@VDX, what features are you currently using in those boards? Depending on what, may already be implemented and tested either on my libmaple HAL or on the STM32Generic HAL.

... I've selected ArduinoDue+RADDS for my paste-dispenser development mostly for speed, scalability and "familiarity" (knowing the guys, which developed RADDS) - and then (3 years ago) weren't much 32Bit-boards out there winking smiley

The STM32F4 was a test project, based on the comercial multiaxis (up to 32!) CNC-software Editask, which too is developed by a friend.

And with need for laser-marking with an XY-galvoscanner I've found the BBB-based controller from halaser.

My "needs" are mainly - modularity, scalability/expandability and good documentation, if I'll have to modify or change it ...

Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: STM32F1/F4 3d Printer board for Marlin
December 22, 2017 08:20PM
@victor_pv Yes the pololu headers are a limitation regarding spi. I think the Idea of the trinamic modules is to use jumper wires for SPI and have the SPI pins pointing upwards. (Tom did videos on that) Adding more pins is basically inventing a new form factor. I tried that myself: [forums.reprap.org]

I think it would help to have a bigger stepper driver module form factor. The bigger form would make heat dissipation easier, also more pins are easier and one can have adapter boards (a pololu riding on a bigger carrier board). I think one of the problems of my approach was that mounting a bigger board horizontally above the baseboard wastes a lot of board space on the base board. An alternative might be to use PCI-E connectors. Due to their use in PCs they are cheap and you only need a connector on one side. The other side is just a thing of your PCB layout. The juicyboard people use that approach. But my concern with that is stability. With the Stepper motor connector on the board i think that there needs to be some mechanical stabilization. That might be solvable with a (3d printed) case.

Another option would be to place the stepper controllers at the stepper motors. There are some PCBs the size of a stepper motors that can be attached to it and have all the controller IC on them. The problem here could be the different wiring and signal integrity of the Step and Dir signals. (With trinamics also SPI)
Re: STM32F1/F4 3d Printer board for Marlin
December 23, 2017 03:41AM
I have no idea about marlin 2.0, but does it read a config file from sd-card or do we have to reflash the board?
If you want to put the MCU onboard it would only make sense to use the top version. Even if it makes it more expensive, people don't want to buy a board that is "on the edge" with the FW-features currently available.

Re: SPI -driver boards. Would it be possible to design vertical boards ( blades ) that plug in the pololu socket? I don't think there is enough room between the pololu sockets for an aditional SPI header.

Edited 1 time(s). Last edit at 12/23/2017 03:46AM by o_lampe.
Re: STM32F1/F4 3d Printer board for Marlin
December 23, 2017 07:41PM
@JustAnotherOne, I think I saw the posts about your board a while back. Seems like a great design, did you ever move forward in any way with it?
@O_lampe I think you are right about including the top MCU if it is soldered. All in all, it would cost the same to manufacture, as the lower MCU option in a pluggable board, since the MCU is a bit more expensive, but removes multiple through-hole connectors.
Still the F1 is no where near the edge with Marlin. RAM, Flash, and CPU usage are still fairly low.
About the SPI port, I could redesign the board so it could take normal pololu drivers, and have an extra row so a wider or longer driver could be installed instead (but that driver would not be compatible with the normal pololu socket, only with a wider or longer one). That way the board could be compatible with normal drivers, and allow for other drivers with SPI. The only problem I see is that it would be the only board supporting those drivers, may not be a market large enough to get them at a low price.
A vertical driver with a pci-e connector as JustAnotherOne described is probably the best option for a vertical system. Could use a graphic card retainer to hold it in place to some degree.

Edited 1 time(s). Last edit at 12/23/2017 07:44PM by victor_pv.
Re: STM32F1/F4 3d Printer board for Marlin
December 24, 2017 04:25AM
There are many users with pololu-compatible drivers out there just waiting to replace them with SPI configurable ones. So maybe it is worth designing such a driver and sell much more of them as you'd expect.. ( I bought RAPS128 drivers for ~19€ each )
You could use the TMC2660, which is to big to fit in the pololu footprint, but with a vertical design the sky is the limit winking smiley
Re: STM32F1/F4 3d Printer board for Marlin
December 24, 2017 07:47AM
regarding my board:
The first revision had some small (mostly easy to fix) issues. But my impression was that nobody cared for the board. So I did not push for a new revision. If you release the schematic of your board I (and others) could take a look and maybe give some feedback.

I had STM32 die on me (probably EMI issues), also in other projects. And most reprap users seem to not care too much over static discharge and stuff like that. I would therefore suggest to add some protection. ST provides an application node specifying what they have tested. I'm too much on the firmware side to be able to give recommendations regarding diodes, caps or serial resistor to be of any use.

I'm still working on the pacemaker firmware. If your board turns out to be very good (I sure hope so) I might try to port pacemaker to it.

regarding stepper driver modules:
@o_lampe the problem with a new driver format is that you can only sell to the people that also bought the new board. No SPI enabled module will ever fit into and work with a RAMPS. Who currently uses a RAMPS can either use the trinamic stepsticks and use jumper wires to wire up the SPI. Or they need to buy a new board.

If one goes forr a new form factor I think there need to be enough good reasons for that new format to get people to switch. Other than that the only thing that could help IMHO is an adapter. A small PCB that fits into the pci-e connector and has a socket for a pololu would probably be cheap to make and would allow people to migrate easier. (Buy only the board and the cheap adapters and reuse the old stepper drivers, then maybe update the X and Y to new steppers. Once convinced that they are much better also replace the other drivers)

But then you said at the beginning that you don't want to get rich with this and that you hope that Chinese clones appear. Why do you care then if nobody else will adapt to your new driver format?

My only recommendation is that you go with what you prefer. It is your board. People will criticize you for all the design decisions. So in the end you need to be happy with your design decisions. You can never make everybody happy. In the end I think it is better if you end up having a board that has all the features you want it to have and nobody else likes the board, than to have a board with all the features that random people on the Internet requested that also nobody wants. And people like things that their designer is passionate about.
Re: STM32F1/F4 3d Printer board for Marlin
December 24, 2017 01:59PM
I have ESD protection to the endstop pins, ADC pins, and USB pins. Not to the steppers, and other expansion pins, too many pins, and hopefully those cover most pins people would connect/disconnect with the board powered up. Should probably do the same to the Laser/CNC control pins.
I think there is a chance someone may plug/unplug a stepper with the board powered up, but should be very rare, while endstops and ADC are likely much more common to get plugged/unplugged and a user may forget to powerdown the board.

About the schematic, my plan is to open it at the end when it's final, but I may consider sharing it with a few people for feedback before that, I'll think about it. I don't want clones around until the design is final. The situation with RAMPS-FD and the cloners selling the initial revisions, and some times even labelling them as newer revions without being true is something I would like to avoid.

I care about the new stepper format being uncommon and so expensive for people that get the board. Perhaps is time for a whole new carrier board, but I think unless it gets traction, people may end up with the boards and no steppers to plug in. Imagine a year from now people need more steppers or to replace failed ones, and the only option is for me to run short productions, they would be expensive. I don't want people buy a board and then feel they are stuck with expensive replacements. That's why I'm thinking perhaps a format that allows both pololu steppers and new SPI steppers. Like you said perhaps a carrier board. I couldn't be happier if cloners actually embraced a new stepper format with SPI control, but they'll only do it there is volume and low cost.
Re: STM32F1/F4 3d Printer board for Marlin
December 24, 2017 03:44PM
... I've wired some "pololu-cables" to feed the needed signals from the socket to external high quality stepper drivers (3-phase 2NM-stepers with 1000 fulsteps per rev. and 325V DC drivers) -- so there are some ways to create alternatives winking smiley

Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: STM32F1/F4 3d Printer board for Marlin
December 25, 2017 11:05AM
One way to go would be to sell the boards including the pololu adopters. You or others could then sell other stepper drivers on modules. This way people owning the board can always go back to pololu.

SPI is only one issue of the pololu format. The small physical size makes it also hard to dissipate the heat or to support higher currents. With vertically mounted modules the modules could grow in size without becoming incompatible.

If the main board is placed flat on the ground then the vertical stepper modules could use the chimney effect. This would help cooling even the normal pololu drivers. So no electronics fan anymore.

Is your board 2 or 4 layers? A 4 layer main board probably makes sense to get high density and therefore small size even with all the pins coming out of the MCU. The stepper modules, especially pololu adopters would then still be 2 layers. As you need 4-8 stepper board that are small and 2 layers. the price for those will be pretty cheap. People could also etch or mill their own boards. depending on the size of the connector you might even save money if the main board can be smaller.

The pci-e sockets are not tiny so you probably need to have two stepper modules on one socket to save board space.

I do not know the details of the RAMPS-FD -Cloning events. But did they release the schematics or also the board layout? I have seen some Chinese stm32boards that seem to be a Chinese layout but also Chinese schematic. I thought that they would only clone projects that release the layout data. They did not clone my design even though I released the layout. Maybe it had something to do with the name? I think they produce a lot of RAMPS boards. Maybe they cloned it because they thought of it as being the new version of RAMPS. As you want your board cloned maybe you should name it RAMPS-something ;-)
Re: STM32F1/F4 3d Printer board for Marlin
December 26, 2017 03:14AM

The pci-e sockets are not tiny so you probably need to have two stepper modules on one socket to save board space.

Wouldn't it be possible to use angled header pins to adopt the vertical board to the pololu socket?
Just made a napkin sketch to show two different ways to route the pins to different locations on the blade by using long legged header pins and place the blade offcenter. On the left side the long leg goes into the pololu socket, on the other side it goes into the blade-pcb.

Edited 1 time(s). Last edit at 12/26/2017 03:26AM by o_lampe.
Re: STM32F1/F4 3d Printer board for Marlin
December 26, 2017 05:50AM
... 'did something similar with a wrong scale WiFi-board:

Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: STM32F1/F4 3d Printer board for Marlin
December 30, 2017 12:19AM
@victor_pv: your board looks something similar with Cohesion 3D ReMix but that is based on LPC1768 micro controller. In both boards Polulu stepper drivers are used and the same number of stepper drivers are available. I understand you are not willing to compete with other high end boards like DUET Wifi or Smoothiware v1 which have integrated stepper drivers.

I am also designing a shield for my Delta printer based on Arduino Due. Polulu drivers are the most common types that are used in diy 3d printers. Beside the calculation power that brings an ARM 32 bit board I had in my mind another improvement for the shield: low noise stepper drivers. Low noise drivers that are available would be A5984 from Allegro or Trinamic TMC2100 and TMC2130. My understanding is that TMC2100 needs some diodes for protection, but TMC2130 would work better from this point of view. You could connect it by disabling SPI communication or with SPI communication.

I thought about the following way to connect standard polulu and TMC2130 stepper driver from watterott: every polulu driver has MS1 - MS3 to be connected by jumpers in order to select the microstep setting. These jumpers are two wires that can be open or closed. To allow using TMC2130 the 2 wire jumper should be replaced by a 3 wire jumper with two possible contacts 1-2 or 2-3. In case of MS1 signal the jumper would look like this:

5V ---------|   |   |------------ SDI signal
            1   |2  3 
                |---------------- MS1 pin on polulu driver

In position 1-2 of the jumper a standard polulu driver is used, in position 2-3 the driver used is TMC2130. See below the schematic that I explained above.

You could check if you could use the same idea in your design.
Re: STM32F1/F4 3d Printer board for Marlin
December 31, 2017 01:53PM
Xebbmw, that seems like a good compromise.
Have you produced any driver board like that yet? if so, how did it all work?
Re: STM32F1/F4 3d Printer board for Marlin
January 01, 2018 07:52AM
@victor_pv: I designed my shield with 5 steppers on a 10 x 10 cm board. Initially I planned to use it with Repetier firmware but is compatible of course with Marlin and RRF.

But lately I found this online silent TMC2130 and I thought I should include it in the design. Even better that is already supported by Marlin firmware.

Actually this was already discussed in this topic here.

Edited 2 time(s). Last edit at 01/01/2018 12:37PM by xebbmw.
Re: STM32F1/F4 3d Printer board for Marlin
January 18, 2018 10:19PM
RAMPS is hard to beat in terms of flexibility and it's natural to want to imitate a successful design. Until few days ago I also considered desiging a plugin driver board similar to RAMPS. However, after giving it some more thought I think individual plug in drivers are not the best way to go and even two driver modules are too limiting.

Overall, I think boards with four driver ICs have the most optimal driver count. Four drivers is a minimum for 3d printer, one driver too many for CNC. Put two of such boards together and you can drive three motor z-axis and three color extruder. If you consider the cost of extra connectors, connector holes and labor of individual driver boards they probably add up to the cost of one driver IC (so you get one driver free on a quad board!). Another positive for multiple driver boards is better heat dissipation and power distribution (less crowding, one, quality power connector).
Re: STM32F1/F4 3d Printer board for Marlin
February 26, 2018 05:57AM
Hello Victor_pv.
Sorry for Google English.
Your project is very interesting. There are several questions.
1. Why did you start using the Marlin 2.0 firmware? It has a lot of restrictions for 8 bits. Why not use more advanced firmware RepRap- firmware, or Clipper? (they do not use the Brazenham algorithm) I believe that using Marlin is to step on the raker and return to Atmega.
2. What do you think about the Aprinter and Smoothieware firmware?
3. Use STM32F4 / F7 (F7 gives more features and better performance, especially compared to F1) Using F7 does not make the project much more expensive. (STM32F767VIT6 LQFP100, STM32F767ZIT6 LQFP144)
4. A very interesting board with 8 stepper driver Pololu connectors. (2X, 2Y, 2Z and 2 of the Extruder). It would be nice to be able to flexibly change the assignment of the axis-extruder drivers. (hardware and software) Support for TFT touch screen, + USB, LAN, Wifi on board.
5. How can I find out more about your project? (we are interested in switching and connection schemes for boards of 6 and 8 drivers, as well as tests of work and printing)
Thank you!

I am looking for an expensive, but functional 32bit card. (with 8 drivers it would be the most it !!!)
I considered the options on the boards - Selena PRO, BBB + Replicape, BBB + CAMPS, Cohesion3D Remix, STEVAL-3DP001, DUET WIFI (LAN). All these options are quite expensive. While the choice goes to Lerdge S. (By the ratio of price / functionality this board is still on the first place)

Edited 2 time(s). Last edit at 02/26/2018 06:05AM by Tomcat NN.
Re: STM32F1/F4 3d Printer board for Marlin
April 08, 2018 10:16PM

I like what you are doing with this design! I hope to see it continue and reach the level of success (measured by being cloned with general success like the RAMPS 1.4 board has been).

A thought about the issue with Pololu style carriers and SPI pins for smart drivers - I have thought about something similar to the design you describe in a Dec. 22 post:


This is more or less what I'm talking about if I added an extra row.
Current pololu:
| |
| |
| |

New possible design with row at bottom:
| |
| |
| |
------ <(spi pins)

But here would be the big difference: make the SPI pins at the end male pins rather than the female headers of the rest of the pololu socket. Why? Because there are already carriers with 4 SPI pins broken out on top, designed to plug via a short cable into 4 male pinis on the main board. Thus the proposed design would accommodate 3 alternatives - traditional pololu style (just leave the spi pins at the end empty); currently available modified pololu style (connect spi pins via cable to the pins at the end of each pololu socket); and a new-style pololu+ carrier that is longer than the standard, which has a female header to plug the spi pins in addition to the standard male pins to go into the pololu connections. (This would also have the advantage of making it no longer possible to plug a pololu+ in backwards!) With the proposed design on your board, someone could still use widely available drivers without having to depend on a short run of special boards ... but there would also be a potential of creating the market for the special pololu+ boards.

Personally, I like the idea of being able to plug in different MCU's. Yes, I know it raises the price a bit, and perhaps not entirely practical. But then again, I truly do not need a 3d printer, so I have already discarded practicality! What has made the RAMPS design so successful is the fact that it is so configurable. Think about how the Apple II succeeded against the many other early computers; what was the key difference? The ability to plug in cards, some of which actually turned the 6502-based Apple II into a Z80 based CP/M machine!! Think about the success of the IBM PC design - again, the ability to plug in cards, to extend its capabilities in ways the original designers never dreamed of. As someone who is attracted to building my own 3d printer, I *like* that kind of flexibility! And this is why I like the idea of Marlin 2.0 as well. For those who like an all-in-one solution that does not require tinkering, there are other good solutions available (Smoothie, Duet, etc.); for those of us who like to tinker ... something like your design, plus Marlin, would be perfect!
Re: STM32F1/F4 3d Printer board for Marlin
April 08, 2018 10:35PM
I forgot to add my wish list! You have already just about exactly described what I would love to see, but I'll add a couple of thoughts:

I would love to see the endstop inputs set up with diodes and available 12v as well as 5v power - so that they could be used for regular mechanical endstops (NC to ground), or for an inductive probe, or whatever else - along with pull up resistors (enabled in the MCU? or added to the board?) to the 3.3v needed by the MCU. The diode would block the high voltage from the MCU pins, so they would instead see the pull-up to 3.3v, but when the endstop connects to ground, the diode would allow the endstop / probe to pull the pin down to read low. This is one of the major things that would be so easy to do on the main board, but so much more aggravating to do as an add-on to something like the existing RAMPS 1.4.

I would love to see at least a couple of additional low current pwm-controlled MOSFETs already on the board to accommodate additional fans. Is there a lower power version of the AO4818 that would put 2 MOSFETS on a single 8-SOIC chip? But if there were an easily accessible set of pins, ready for a small shield, that would be cheap and easy to add as needed.

I really like that you are proposing two different power channels, with a separate channel for the heated bed, but I would also like to see the rest of the board have the ability to run at 24 volts, including the steppers - with dc/dc conversion to get 12, 5, 3.3v as needed for other components. Again, flexibility - I like being able to choose between using one power source for everything by tying together the power channels, or separate power sources to maximize ability of heat bed.

I think you are already describing this, but not sure: it would be nice to have the interfaces both for existing low-end (and low cost) LCD + rotary encoder + SD card such as the RRD Full Graphics Smart Controller as well as options for higher end displays -- but again I would also be happy if some or even all of those options were implemented with various add-on shields as is currently done for RAMPS.

Edited 1 time(s). Last edit at 04/08/2018 10:45PM by awake.
Re: STM32F1/F4 3d Printer board for Marlin
June 27, 2018 08:39AM

have you gotten anywhere further with your board? I've bought myself a STM32F407 discovery board today, planning to build a RAMPS-like board for it. Seeing how you clearly know more than me, plus you already have a real board... Is there any other news, a schematic perhaps? What STM board did you plan to plug into it? Looking at the 3 sets of pin headers, Discovery boards don't fit in it. On the subject of SPI to stepper drivers, Penucatt has already made different format stepsticks wich they call "Bigfoot", and their AZTEEG boards have pin headers for both old and new stepper driver formats. Something to consider, I'd say.

Anyway, I'd like to help to get somewhere with this instead of unnecessarily duplicating effort. Can't help with programming but I can assist with design of the board, ideas, opinions, etc.
Re: STM32F1/F4 3d Printer board for Marlin
June 27, 2018 01:15PM
This bigfoot: bigfoot details does not have SPI. This format also wastes a lot of board space below the module. I don't see a real benefit in that format.

It might make sense to put the stepper motor connector on the stepper driver pcb. This way these four signals do not need to be routed to the base board.

For me the main problem is still the connector and a mechanically stable solution.
Re: STM32F1/F4 3d Printer board for Marlin
June 27, 2018 08:22PM
Yeah, I saw that after I posted. Panucatt isn't really forthcoming with the details, and what little is there needs digging. I was under the impression they introduced Bigfoot format to improve cooling, and it does "solve" that. Well, "improve" is a better word. These small drivers need to be cooled from below, through the substrate, and Bigfoot being bigger provides more copper surface on the board, so that's a plus. Having motor connection pins doubled in the top row also improves things, maybe not for a 3D printer running 1A, but for a CNC mill or something with 3A every little bit helps. But on the rest (standardized footprint for all drivers, SPI included) - they failed. Or maybe didn't care about it, whatever.

What problem with connector and mechanical stability are you talking about?
Sorry, only registered users may post in this forum.

Click here to login