Teensy 4.1 Cortex-M7 Board Gets Marlin Firmware and OpenPnP Breakout Board

Teensy 4.0 and Teensy 4.1 are some of the most powerful microcontroller-class boards you’ll find on the market thanks to NXP i.MX RT1062 Arm Cortex-M7 crossover processor clocked at up to 600 MHz, and there won’t break the bank are PJRC sells those for $20 and up on their own store or Amazon.

If you’re into 3D printers, CNC, or pick-and-place machines, you’ll be glad to learn Teensy 4.1 board is the first Arm Cortex-M7 board to support Marlin 2.0 firmware, and a person nicknamed CrazzyFrenchDud is developing PeeNaPle breakout board for Teensy 4.1 to work with OpenPnP open-source software.

The initial commit to Marlin firmware was made on September 10 for both Teensy 4.0 and 4.1 boards, but the title was changed to Teensy 4.1 only since Teensy 4.0 is not supported at this time, and may not be suitable for many 3D printers due to a lack of pins.

Teensy 4.1 is much faster than existing boards support by Marlin firmware including EZBoard Lite with NXP LPC1769 Arm Cortex-M3 running at 120MHz and BigTreeTech SKR mini E3 control board based on STM32F407 ARM Cortex M4 running at 168 MHz. It’s unclear to me how the faster board may benefit 3D printer, but the extra performance may lead to more advanced robots powered by Marlin firmware.

PeeNaPle OpenPnP board for Teensy 4.1
PeeNaPle Rev 1.1

PeeNaPle board is open-source hardware with all design files released on Gitlab including KiCad schematics and GerBer files. While the board is mainly designed for pick-and-place machines using OpenPnP software, it could also be useful for 3D Printing, CNC and other Cartesian machines, and yes run Marlin firmware.

The 6-layer board includes 8x stepper outputs, 4x end_stops, an UEXT port, a USB hist port, an Ethernet port and a CAN FD bus. An adapter is being developed to let people use TMC2208/09 motor drivers, as well as a driver with closed loop capable of handling 10A. The board has a tolerance of up to 35V max power in and offers 12V, 5V/3A DCDC and 3.3V/1A.

The PeeNaPle breakout board will be available at the end of the year as a customisable kit with regular stepper motor driver adapters, high current stepper motor drivers with loop control, expansion boards etc… Crazzyfrenchdude also plans to organize a 10 boards giveaway on his Instagram account.

Thanks to Andreas for the tip.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

ROCK Pi 4C Plus

22 Replies to “Teensy 4.1 Cortex-M7 Board Gets Marlin Firmware and OpenPnP Breakout Board”

  1. Shame you could not use a friendlyelec NanoPi Duo2 for such projects if speed and computing power is needed. Allwinner H3, Quad-core Cortex-A7 Up to 1.2GHz , got to help.

      1. >I think you need a microcontroller for precise I/O timing
        >for this kind of application.

        You need to be able to meet deadlines to make this work. I.e. if your “tool” is moving at X rate you need to be able to collect, process and correct within that time. It certainly isn’t impossible to do with a normal CPU running Linux but it’s a lot harder.

        Linux CNC manages to do it: http://linuxcnc.org/

        1. Also much easier to do if using closed looped stepping motors (stepping motor with closed loop feedback system) instead of open looped stepping motors and then the microcontroller controlling the stepping driver comes with the stepping motor itself. Here is a good video explaining the benifits for 3D-printers https://www.youtube.com/watch?v=eM8zSG8fEkk

    1. CPU performance is not the same as MCU performance. The mentioned system require dedicated microprocessors and fast general processors.

    2. The Duo2 is fine for this if it isn’t running Linux. At 1.2GHz and 4 ARM cores it can easily handle interupts as well or better than the Cortex M. It could also run FreeRTOS or the Real-Time Linux kernel. After all, these devices were designed to handle all the timing required by cell towers and VOIP with video. (And I’m pretty sure some people have compiled Marlin for these M4/M7 processors before this.)

      1. NanoPi Duo2 has ARM Cortex-A7 CPU cores and no ARM Cortex-A series CPU core is supported by upstream Marlin Firmware yet in any case as different instruction set, however maybe you are thinking about the Klipper firmware for 3D-printers instead?


        Klipper does support running on normal ARM “application processor” like Cortex-A series CPU cores which then does most of the heavy lifting but Klipper still relies on you having a micro-controller to do the real-time work, however since the heavy lifting is done by the CPU you can use a much slower MCU.
        Klipper firmware is more flexible but also a more complexed solution which is likley to also get more expensive depending if count your time to work with it.

  2. Great news, i have been waiting for teensy 4.1 support in marlin, this board also looks nice, but a bit over the top for reprap, i guess il just make a simple breakout board.

  3. I like to see a simpler controller board for 3D-printers, with standard onboard stepper motor slots and mosfets, similar to BigTreeTech SKR boards, so no further breakout boards or RAMPS board is needed

      1. Depending on how you see it I do not really want it to differ that much from the SKR v1.3 or v1.4 boards, I only like to see a BigTreeTech board with a powerful ARM Cortex-M7 SoC. That would really make it future proof in my mind.

        So lets just say I would like to see a BTT SKR v1.4 controller board with the same NXP i.MX RT1062 ARM Cortex-M7 SoC as the Teensy 4.x boards.

        It would also be very nice to have an onboard wired Ethernet port as Teensy 4.1 can have. Yes you can easily add Wi-Fi with ESP8266 or ESP32 but I would prefer an onboard wired Ethernet port over an optional WiFi adapter.


        I think these type of board designs that are almost all-in-one boards with the exception if stepper drivers can fit most 3D-printers and most 3D-printer users as you only need to plugin your prefered stepper drivers and away you go, and having integrated stepper driver ports makes upgrading stepper drivers later easy.

        IMHO, the only thing missing then to make them more flexable is to have a Raspberry Pi plug-in port so that you make a very nice solution with OctoPrint or similar on the Raspberry Pi yet have everything hidden away inside the 3D-printer enclosure.

        1. That would be a lot of over capacity. Given that 16MHz 8 bit micros mostly can handle things, a ~100MHz 32 bit processor is already quite a bit of overkill. Cranking that up 7x more seems unnecessary.

          Considering that the movement in the hobbiest 3d printing space is to move to programs like klipper where all of the advanced gcode parsing and mevement command generation is done on a general purpose processor (laptop, PC, SBC) and the microcontroller in the printer only handles the low level timing tasks, stuffing more processing into the printer seems unwise. I’ve moved a few of my printers to 32 bit boards (SKR v1.3 and v1.4), but that’s likely only to be useful until I transition to klipper. At that point, I might as well have left the 8 bit controllers in. By way of comparison, Marlin on AVR chips (16MHz 8 bit) generally have a step/second limit of 10K. With klipper, that goes up to 175K/s. Common 32 bit chips used on printer control boards can do upwards of 500K/s. That’s well beyond the needs of a 3 axis printer.

          1. Regardless it is not a huge difference in total BOM cost per considering that budget for i.MX RT series MCU SoCs running at 600MHz is something like $5 so great for marketing. You only have to pay a few bucks for are get a 7 times faster 3D printer controller board 😉

            If people see two practially identical 3D printer controller boards for sale and one board cost $40 and have a 100MHz MCU and the other one has a 600MHz MCU and only cost 10% (~$5) more I think many would go with the one that is marketed as having a 600% faster MCU 😛

            Plus technically these MCUs could also have native support for a camera, Ethernet PHY, and a high-resolution graphics display, so that adds overhead too.

          2. You’re over estimating the price of these controllers. The SKR v1.3 goes for under $20. Add in a $5 micro and the normal markup and you’ve bumped up the price by 50% for zero performance increase. I’ll say it again, the current 80-100MHz Cortex-M4 cores in these processors are already overkill for the job.

          3. I tend to think that’s sufficient as well. One use case that requires a high frequency is laser raster mode where you sweep over the piece to be engraved by sending up to 1600 PWM pulses per second. This also means you need to parse and process 1600 command pairs made of “XxxxSsss\\n” each second. The 16MHz 328P on my board supports about 1/4 to 1/3 of that, but there is some lag that results in noticeable offsets between left->right and right->left moves (about half a pixel at 400px/s, or about 1.25 millisecond lag). This lag is unavoidable and is in fact half of this in each direction. I worked around this by implementing an LR-only mode. I think that a 100 MHz 32-bit version could be sufficient to address this, however if a higher frequency CPU can result in an even better alignment, that’s always better!

          4. The move from 16 MHz 8 bit to 70-100MHz 32 bit his huge–especially for parsing of commands. It’s more than the clock speed increase would imply. But, yes, I can see why that application would benefit from high speed processing. I’d also think that it would benefit greatly from a dedicated firmware made just for that kind of application. Is that what they do or do they just use Marlin?

    1. Hi @Andrea, if anyone could provide me with a fanout footprint of the NXP i.MX RT1062 ARM Cortex-M7 I can design such board, might not be very cheap at first considering the number of layers needed but this could be a great project to collab on! We could fund it then release it!!! If anyone is interested please let me know! CFD

  4. FYI, kursatu on GitHub is designing a Teensy 4.1 shield so it can be used with RAMPS boards

    That shield will basically act as a converter adapter making it have same form-factor and pins as a Arduino Mega 2560


    This is a RAMPS boards are usually designed as shields for Arduino Mega 2560 so will fit RAMPS 1.x

    RAMPS 1.6 (or RAMPS 1.5 for BIQU/BigTreeTech

    RAMPS 1.4 RepRap open source hardware design

  5. Hello guys CFD here,
    First I would like to thank JEAN-LUC AUFRANC (CNXSOFT) for this article on the PeeNaPle 1.1b which is now 1.4b Rev and almost good for the crowd, and also you guys for all the interest and love shown over the past months! I wanted to announce a new and cheaper board the PeeNaPl_Xtd to build as DIY based on the famous Teensy 4.1! As a Kit you will have the choice of 3D printing or Open PnP! The main board will be the common and basics needed for both worlds with the 5 main axis and stepper drivers on board this time, and the Xtended board will be what suites you! With or without 3 other axis, by example a second Z plus 2 other E’s, vacuum sensors input, actuators outputs for PnP’s, and bed, Temps, fan etc for 3d! This makes it easy to switch from one machine to an other by just uploading the correct firmware! I will soon receive the prototypes for endurance and other hard testing before releasing the schematics. I have also chosen 0603 smd’s so they can be soldered by hand! I am also working on a High End design with the latest STM32, and willing to collaborate with some Marlinfirmware or gberHAL guru’s! So make sure to stay tune to my Instagram channel @crazzyfrenchdude! Since I am a one band man I have to do everything by my own so things move a little slow, for now! I will also launch a Patreon for those willing to help with the prototyping and sure you will get free early birds releases based on your contribution! Website and store normally online at the end of the year, so stay connected! CFD

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC