• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Phi: Open-source, Wi-Fi + Ethernet, RRF 3D Printer Controller

Scheduled Pinned Locked Moved
Other control boards
7
24
1.7k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    likhalabs
    last edited by 23 Sept 2021, 05:21

    Hi all,

    I'd like to introduce Phi, an open-source 3D printer controller with built-in Wi-Fi and Ethernet and runs RepRapFirmware v3.3. I've been working on this for the past few months, planning to eventually launch a crowdfunding campaign. The pre-launch page is already up at https://www.crowdsupply.com/likhalabs/phi-mainboard-5lc. More details about the board can be found on the pre-launch page.

    Just to clarify, this has no affiliation with Duet3D, hence posting here on the Other control boards category. This is simply a controller that uses RepRapFirmware, which some members might find interesting. If you do find it interesting, please do subscribe to updates on the pre-launch page to not miss the launch announcement and other information drop.

    undefined undefined 2 Replies Last reply 23 Sept 2021, 05:57 Reply Quote 4
    • undefined
      zapta @likhalabs
      last edited by 23 Sept 2021, 05:57

      @likhalabs, is it open source or is it going to be open source one day?

      I couldn't find anything on github

      https://github.com/orgs/LikhaLabs/repositories

      undefined 1 Reply Last reply 23 Sept 2021, 05:59 Reply Quote 0
      • undefined
        likhalabs @zapta
        last edited by 23 Sept 2021, 05:59

        @zapta Yup, it will be open-source. I'm planning to release all related files (schematic + PCB layout + source) shortly after delivery.

        1 Reply Last reply Reply Quote 0
        • undefined
          o_lampe @likhalabs
          last edited by 23 Sept 2021, 06:46

          @likhalabs
          Will there be a benefit from the dual processors? Will this board support all the foreseeable features of RRF (like input shaping, multi-stream gcode)
          Is it possible to run daemon.g from the ESP flash (more frequently)?
          Do the expansion ports have unique pins or do they share some pins and put us users in an either/or conflict? (eg. using an LCD on port x, blocks extension y)

          Last not least, I couldn't find information about likhalabs. Who are you, where is your headquarter?

          undefined 1 Reply Last reply 24 Sept 2021, 02:26 Reply Quote 0
          • undefined
            likhalabs @o_lampe
            last edited by 24 Sept 2021, 02:26

            @o_lampe

            Will there be a benefit from the dual processors?

            To preface this, in a typical Duet board, networking, GUI, kinematics, stepping, etc. are normally done in a single microcontroller. In Phi, these tasks are split across two microcontrollers.
            Networking, GUI, and other stuff not related to sensing/driving something in the machine runs on the ESP32, the rest runs on the SAME51. The benefit is that less tasks share processing resources in each microcontroller. This also means more room to grow for each part. For example, the networking and display stuff running on the ESP32 has more RAM, processing power at its disposal. I can allocate more RAM to network buffers, for example, to speed up network transfers without worrying about choking the kinematics/stepper driving part because the latter are in another microcontroller, the SAME51.

            Will this board support all the foreseeable features of RRF (like input shaping, multi-stream gcode)

            I was actually tracking official RepRapFirmware development since last year, when it was still 3.1.1. You can see my previous progress here: https://github.com/likha3d/Duet3D-RepRapFirmware. I'm now on 3.3. I've been merging new features from newer versions without much problem so far, as I ensure changes I make have little conflict with the official RepRapFirmware development as much as possible. So I'm confident in merging new developments from the official RepRapFirmware branch going forward.

            Is it possible to run daemon.g from the ESP flash (more frequently)?

            Behavior related to running daemon.g is unchanged from official RepRapFirmware.

            Do the expansion ports have unique pins or do they share some pins and put us users in an either/or conflict? (eg. using an LCD on port x, blocks extension y)

            EXP1/EXP2 ports share pins with PanelDue 10-pin/4-pin port. This means that you cannot use EXP1/EXP2 and PanelDue at the same time. However, as far as I know, using multiple types of displays is not even supported in firmware, so this pin sharing should not matter.

            All other pins are unique pins, as far as regular end-users are concerned (a couple of debug pins are shared, should only matter to developers). I'll share a pin diagram closer to launch.

            Last not least, I couldn't find information about likhalabs. Who are you, where is your headquarter?

            Fair point. Finding information about Likha Labs is going to be difficult, since I just started (as a full-time commitment) and I'm basically a one-person-team at the moment. I'm an embedded software engineer from the Philippines. I used to work for Espressif, as a developer on ESP-IDF (renzbagaporo).. I decided to try my hand at integrating an ESP32 on a 3D printer controller to assume the same functions an SBC would, as nobody was doing it.

            undefined 1 Reply Last reply 24 Sept 2021, 09:08 Reply Quote 1
            • undefined
              droftarts administrators @likhalabs
              last edited by 24 Sept 2021, 09:08

              @likhalabs said in Phi: Open-source, Wi-Fi + Ethernet, RRF 3D Printer Controller:

              I decided to try my hand at integrating an ESP32 on a 3D printer controller to assume the same functions an SBC would, as nobody was doing it.

              Interesting work! Does the ESP32 run your own custom firmware, or is it running a form of dsf (like a Raspberry Pi does)?

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              undefined 1 Reply Last reply 24 Sept 2021, 09:24 Reply Quote 0
              • undefined
                likhalabs @droftarts
                last edited by 24 Sept 2021, 09:24

                @droftarts Its a partial port of RepRapFirmware to run on top of ESP-IDF, actually. I've mentioned that the ESP32 is in charge of networking, sd card, displays, usb, etc. so I've ported only the relevant parts to these functions and disabled or excluded from build others.

                undefined 1 Reply Last reply 25 Sept 2021, 00:35 Reply Quote 0
                • undefined
                  zapta @likhalabs
                  last edited by 25 Sept 2021, 00:35

                  @likhalabs, can it use the Duet Mini5 binaries or will you release your own binaries for RRF and Klipper?

                  undefined 1 Reply Last reply 25 Sept 2021, 02:30 Reply Quote 1
                  • undefined
                    likhalabs @zapta
                    last edited by 25 Sept 2021, 02:30

                    @zapta No, it can't use Duet 3 Mini 5+ binaries, so I will be releasing Phi's own RRF binaries.

                    RepRapFirmware will be the 'official' firmware, so I will not be maintaining a Klipper port and releasing Klipper binaries. However, there is nothing preventing members of the community from porting other firmware like Marlin or Klipper to Phi, as like I've mentioned, full schematic + PCB layout will be released.

                    undefined 1 Reply Last reply 24 Nov 2021, 21:14 Reply Quote 0
                    • undefined
                      likhalabs @likhalabs
                      last edited by likhalabs 24 Nov 2021, 21:14

                      The campaign is live! Please check it out if you're interested.

                      1 Reply Last reply Reply Quote 1
                      • undefined
                        likhalabs
                        last edited by 26 Nov 2021, 15:17

                        I've been trying to improve upload speed for Phi. Finally broke the 1MiB/s barrier!

                        upload.gif

                        There's still some room for improvement, though.

                        undefined undefined 2 Replies Last reply 26 Nov 2021, 16:23 Reply Quote 1
                        • undefined
                          oliof @likhalabs
                          last edited by 26 Nov 2021, 16:23

                          @likhalabs is that on Ethernet or Wifi?

                          <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                          undefined 1 Reply Last reply 26 Nov 2021, 22:52 Reply Quote 0
                          • undefined
                            jay_s_uk @likhalabs
                            last edited by 26 Nov 2021, 18:48

                            @likhalabs the STM port gets 1.6Mib/s with an ESP32

                            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                            undefined 1 Reply Last reply 26 Nov 2021, 22:50 Reply Quote 1
                            • botundefined
                              bot
                              last edited by 26 Nov 2021, 19:47

                              When can we have one with 6 steppers? 🙂

                              *not actually a robot

                              undefined 1 Reply Last reply 26 Nov 2021, 22:54 Reply Quote 0
                              • undefined
                                likhalabs @jay_s_uk
                                last edited by 26 Nov 2021, 22:50

                                @jay_s_uk Usually, small 'b' denotes bits and big 'B' denotes bytes. Just to clarify, is it bits or bytes in the case of the STM32 port?

                                undefined 1 Reply Last reply 26 Nov 2021, 23:10 Reply Quote 0
                                • undefined
                                  likhalabs @oliof
                                  last edited by likhalabs 26 Nov 2021, 22:52

                                  @oliof Hi oliof, this is on Wi-Fi. Ethernet is a little slower, around 900 KiB/s - 1 MiB/s so far. Ethernet is slower because it's not native (ESP32-S3 does not have an Ethernet peripheral, is using a W5500 Ethernet <-> SPI chip).

                                  1 Reply Last reply Reply Quote 0
                                  • undefined
                                    likhalabs @bot
                                    last edited by likhalabs 26 Nov 2021, 22:54

                                    @bot Unfortunately since I'm a one-man team, it will be after the current board gets off the ground. Though it's possible to add https://duet3d.dozuki.com/Wiki/Duet_3_Expansion_Mini_2plus for a total of 7 steppers (like the Duet 3 Mini 5+).

                                    botundefined 1 Reply Last reply 26 Nov 2021, 23:32 Reply Quote 0
                                    • undefined
                                      jay_s_uk @likhalabs
                                      last edited by 26 Nov 2021, 23:10

                                      @likhalabs sorry. B not b.
                                      So 1.6MiB/s

                                      Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                                      undefined 1 Reply Last reply 26 Nov 2021, 23:18 Reply Quote 0
                                      • undefined
                                        likhalabs @jay_s_uk
                                        last edited by likhalabs 26 Nov 2021, 23:18

                                        @jay_s_uk Thanks for the clarification! Looks like I have a new benchmark. (There still some room for improvement, like I said). I have an SKR pro and lots of ESP32's lying around to test and see how its achieving that speeds.

                                        In theory at least, I should be able to achieve faster speeds since the data does not have to travel between microcontrollers through an SPI link (same theory why ethernet is slower as mentioned in the reply to @oliof).

                                        1 Reply Last reply Reply Quote 0
                                        • botundefined
                                          bot @likhalabs
                                          last edited by 26 Nov 2021, 23:32

                                          @likhalabs fair enough. I love the path you're on so I'm excited to see you progress.

                                          *not actually a robot

                                          undefined 1 Reply Last reply 27 Nov 2021, 07:32 Reply Quote 0
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA