Potential All-in-One Single Board Computers
03 Jun 2022 13:01 - 03 Jun 2022 19:51 #244519
by Bari
Potential All-in-One Single Board Computers was created by Bari
I thought that I would start a new section on potential all-in-one single board computers for LCNC that have all the controllers integrated vs requiring an external stepgen. They include a cpu core for running a preempt_rt thread as well as cores for non real time, a GPU that supports a HD res display at at least 30 fps and an integrated microcontroller for step generation.
Some of these will require some work to get the integrated microcontroller to generate steps like the Allwinner H3 and similar for the Orange Pi project. Others will require even more work such as a good RT kernel and a good u-boot image. They will all require some IO protection and level shifting. Who knows what we might have to turn to with all the current supply shortages.
Banana Pi BPI-CM4
forum.banana-pi.org/t/being-designed-ban...-amlogic-a311d/13390
dl.khadas.com/Hardware/VIM3/Datasheet/A3...asheet_01_Wesion.pdf
Amlogic A311D
4x Arm Cortex-A73 (up to 2.0 GHz)
2x Arm Cortex-A53 (up to 3GHz)
"Build-in Cortex-M4 core" (stepgen),
Arm Mali-G52 MP4 (6EE) GPU
RZBoard V2L
www.avnet.com/wps/portal/us/products/avn...amilies/rzboard-v2l/
www.renesas.com/us/en/products/microcont...or-drp-ai-12ghz-dual
Renesas RZ/V2L
2x Arm Cortex A55 cores (1.2 GHz)
1x Arm Cortex M33 real-time core (200 MHz) (stepgen)
Arm MALI G31 3D-GPU (500MHz)
ROCK Pi 4
wiki.radxa.com/Rockpi4
opensource.rock-chips.com/wiki_RK3399
RK3399
Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
Cortex M0 Dual Core (stepgen)
Mali-T864 GPU
Some of these will require some work to get the integrated microcontroller to generate steps like the Allwinner H3 and similar for the Orange Pi project. Others will require even more work such as a good RT kernel and a good u-boot image. They will all require some IO protection and level shifting. Who knows what we might have to turn to with all the current supply shortages.
Banana Pi BPI-CM4
forum.banana-pi.org/t/being-designed-ban...-amlogic-a311d/13390
dl.khadas.com/Hardware/VIM3/Datasheet/A3...asheet_01_Wesion.pdf
Amlogic A311D
4x Arm Cortex-A73 (up to 2.0 GHz)
2x Arm Cortex-A53 (up to 3GHz)
"Build-in Cortex-M4 core" (stepgen),
Arm Mali-G52 MP4 (6EE) GPU
RZBoard V2L
www.avnet.com/wps/portal/us/products/avn...amilies/rzboard-v2l/
www.renesas.com/us/en/products/microcont...or-drp-ai-12ghz-dual
Renesas RZ/V2L
2x Arm Cortex A55 cores (1.2 GHz)
1x Arm Cortex M33 real-time core (200 MHz) (stepgen)
Arm MALI G31 3D-GPU (500MHz)
ROCK Pi 4
wiki.radxa.com/Rockpi4
opensource.rock-chips.com/wiki_RK3399
RK3399
Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
Cortex M0 Dual Core (stepgen)
Mali-T864 GPU
Last edit: 03 Jun 2022 19:51 by Bari.
The following user(s) said Thank You: Dimitrios, seuchato, tjtr33, tommylight, tivoi, robertspark, silopolis, pevlabs, hairy, rdtsc
Please Log in or Create an account to join the conversation.
- CarterKraft
- Offline
- Senior Member
Less
More
- Posts: 46
- Thank you received: 7
03 Jun 2022 18:34 #244530
by CarterKraft
Replied by CarterKraft on topic Potential All-in-One Single Board Computers
I am looking into these SBC for a plasmaC build, do you know that these three units will work or are you suggesting they might?
Please Log in or Create an account to join the conversation.
03 Jun 2022 18:44 - 03 Jun 2022 18:55 #244531
by Bari
Replied by Bari on topic Potential All-in-One Single Board Computers
This is a list of boards for those interested in LCNC development. NONE of these boards will output realtime steps currently from their internal microcontrollers (PRU's) until someone develops the necessary code for them to do so.
What makes these boards different from other SBC's is that they have all the required controllers integrated or on-board to support stand alone step generation for high speed synchronized motion and possibly even encoder feedback for closed loop operation as well as a GPU with enough power to run a 30 fps HD GUI.
What makes these boards different from other SBC's is that they have all the required controllers integrated or on-board to support stand alone step generation for high speed synchronized motion and possibly even encoder feedback for closed loop operation as well as a GPU with enough power to run a 30 fps HD GUI.
Last edit: 03 Jun 2022 18:55 by Bari.
The following user(s) said Thank You: tjtr33, CarterKraft
Please Log in or Create an account to join the conversation.
03 Jun 2022 20:03 - 03 Jun 2022 20:54 #244534
by Bari
Replied by Bari on topic Potential All-in-One Single Board Computers
Orange Pi 4B
www.orangepi.org/html/hardWare/computerA...ls/orange-pi-4B.html
opensource.rock-chips.com/wiki_RK3399
Rockchip RK3399
Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
Cortex M0 Dual Core (stepgen)
Mali-T864 GPU
RockPro64
www.pine64.org/rockpro64/
Rockchip RK3399
ROCK Pi 4
rockpi.org/rockpi4
Rockchip RK3399
Rock960
www.96boards.org/product/rock960/
Rockchip RK3399
Firefly-RK3399
en.t-firefly.com/product/rk3399.html
Rockchip RK3399
www.orangepi.org/html/hardWare/computerA...ls/orange-pi-4B.html
opensource.rock-chips.com/wiki_RK3399
Rockchip RK3399
Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
Cortex M0 Dual Core (stepgen)
Mali-T864 GPU
RockPro64
www.pine64.org/rockpro64/
Rockchip RK3399
ROCK Pi 4
rockpi.org/rockpi4
Rockchip RK3399
Rock960
www.96boards.org/product/rock960/
Rockchip RK3399
Firefly-RK3399
en.t-firefly.com/product/rk3399.html
Rockchip RK3399
Last edit: 03 Jun 2022 20:54 by Bari.
The following user(s) said Thank You: tjtr33
Please Log in or Create an account to join the conversation.
03 Jun 2022 20:10 - 03 Jun 2022 22:11 #244535
by Bari
Replied by Bari on topic Potential All-in-One Single Board Computers
RICO-3399
www.aaeon.com/en/p/pico-itx-boards-rico-3399
Rockchip RK3399
The OrangePi CNC project worked mostly with the Allwinner H3 boards but the A31, H5 and H6 ARM SOC's also use the integrated ARISC microcontrollers. linux-sunxi.org/AR100
A list of Allwinner A31, H3, H5 and H6 boards are here: linux-sunxi.org/Table_of_Allwinner_based_boards
Boards with 1GB of RAM just about work, but boards offering 2GB of RAM or more are better. The backplots suffer the most from limited RAM.
www.aaeon.com/en/p/pico-itx-boards-rico-3399
Rockchip RK3399
The OrangePi CNC project worked mostly with the Allwinner H3 boards but the A31, H5 and H6 ARM SOC's also use the integrated ARISC microcontrollers. linux-sunxi.org/AR100
A list of Allwinner A31, H3, H5 and H6 boards are here: linux-sunxi.org/Table_of_Allwinner_based_boards
Boards with 1GB of RAM just about work, but boards offering 2GB of RAM or more are better. The backplots suffer the most from limited RAM.
Last edit: 03 Jun 2022 22:11 by Bari.
Please Log in or Create an account to join the conversation.
04 Jun 2022 04:50 - 04 Jun 2022 04:53 #244554
by Bari
Replied by Bari on topic Potential All-in-One Single Board Computers
QuartzPro64 SBC
www.pine64.org/2022/03/15/march-update-i...ing-the-quartzpro64/
www.cnx-software.com/pdf/Rockchip%C2%A0R...%A0V0.1-20210727.pdf
Rockchip RK3588
Quad-core ARM Cortex-A76 MPCore processor and quad-core ARM Cortex-A55 MPCore
processor,
3x Cortex-M0 MCUs inside (stepgen)
ARM Mali-G610 MP4
Banana Pi with Rockchip RK3588
forum.banana-pi.org/t/banana-pi-with-roc...32g-emmc-flash/13123
Rock 5 Model B
linuxgizmos.com/rock-5-sbc-features-octa...and-triple-displays/
www.pine64.org/2022/03/15/march-update-i...ing-the-quartzpro64/
www.cnx-software.com/pdf/Rockchip%C2%A0R...%A0V0.1-20210727.pdf
Rockchip RK3588
Quad-core ARM Cortex-A76 MPCore processor and quad-core ARM Cortex-A55 MPCore
processor,
3x Cortex-M0 MCUs inside (stepgen)
ARM Mali-G610 MP4
Banana Pi with Rockchip RK3588
forum.banana-pi.org/t/banana-pi-with-roc...32g-emmc-flash/13123
Rock 5 Model B
linuxgizmos.com/rock-5-sbc-features-octa...and-triple-displays/
Last edit: 04 Jun 2022 04:53 by Bari.
The following user(s) said Thank You: seuchato
Please Log in or Create an account to join the conversation.
04 Jun 2022 05:08 - 04 Jun 2022 05:11 #244555
by Bari
Replied by Bari on topic Potential All-in-One Single Board Computers
Two more Rockchip devices were also recently announced. Rockchip RK3566 and RK3568.
The block diagrams include MCU's but the data sheets do not yet describe them.
mega.nz/file/qgpG3JJS#NhdL7HNBhKkcA83RjC...Lm0WIcY9CkKqgUP1flDQ
mega.nz/file/7xwCgRYA#NZGPukbzp2f095xSF6...5WyoFBgo11wdeYjvsZVg
www.cnx-software.com/2020/12/16/rockchip...features-comparison/
The block diagrams include MCU's but the data sheets do not yet describe them.
mega.nz/file/qgpG3JJS#NhdL7HNBhKkcA83RjC...Lm0WIcY9CkKqgUP1flDQ
mega.nz/file/7xwCgRYA#NZGPukbzp2f095xSF6...5WyoFBgo11wdeYjvsZVg
www.cnx-software.com/2020/12/16/rockchip...features-comparison/
Last edit: 04 Jun 2022 05:11 by Bari.
The following user(s) said Thank You: seuchato
Please Log in or Create an account to join the conversation.
15 Jun 2022 21:33 #245232
by Bari
Replied by Bari on topic Potential All-in-One Single Board Computers
i.MX 8 boards are another option but they tend to be a bit pricey like the Rockchip 3588's
www.nxp.com/products/processors-and-micr...o-voice-video:i.MX8M
Quad Arm Cortex-A53
Cortex-M4F (stepgen)
Vivante GPU
www.solid-run.com/embedded-industrial-io...mily/hummingboard-m/
www.avnet.com/shop/us/products/avnet-eng...3074457345642080716/
linuxgizmos.com/wandboard-imx8m-plus-sbc...enabled-i-mx8m-plus/
linuxgizmos.com/linux-driven-modules-and...x8-i-mx8m-and-imx8x/
www.nxp.com/products/processors-and-micr...o-voice-video:i.MX8M
Quad Arm Cortex-A53
Cortex-M4F (stepgen)
Vivante GPU
www.solid-run.com/embedded-industrial-io...mily/hummingboard-m/
www.avnet.com/shop/us/products/avnet-eng...3074457345642080716/
linuxgizmos.com/wandboard-imx8m-plus-sbc...enabled-i-mx8m-plus/
linuxgizmos.com/linux-driven-modules-and...x8-i-mx8m-and-imx8x/
The following user(s) said Thank You: seuchato
Please Log in or Create an account to join the conversation.
13 Jul 2022 09:19 #247217
by Vector
Replied by Vector on topic Potential All-in-One Single Board Computers
Thanks for this list.
I've gotten a Libre Computer Le Potato upgraded to Bookworm, with a 4.xx RT kernel, and downloaded LinuxCNC from the Distro, so it's aaaalmost there.
It's an Amlogic S905X chip.
But you can's use "loadrt hal_pi_gpio" in your .hal file because that driver (Written by Andy Pugh, thank you) is specific to the Broadcom chip on the RasPi board.
I think I'm understanding that the methods in hal_pi_gpio are passing / accepting pointers in and out of the hal subsystem (my apologies for not getting the vocabulary right, I'm still reading the HAL documentation).
If this understanding is correct, then that means we can't use these boards manufacturer's "preferred method" for addressing these pins which is to use gpiod: while gpiod does have a C handling library libgpiod ( housed at linux' git.kernel.org ) , the EMC code of LinuxCNC would need to be modified to use that it instead of the direct addressing which I'm guessing it does instead. This probably is not only a big programming job but probably introduces latency. I believe the philosophy of the real-time thread is not to need anything from outside the thread and that libgpiod might already go outside and if not today might be modded later.
My initial hope was that libgpiod would have a way to return the pointers, but I didn't see that up-front -- keep in mind my skills in this area are pretty weak.
If anyone has a better set of ideas for pushing this further, I'd love to exchange thoughts.
Right now I'm thinking I need to either:
1: Develop something like "hal_amlogic_gpio" which means:
1a) figure out the memory mapping scheme for the amlogic chip, possibly using the source files from libgpiod
1b) write a piece of code that gets the requisite pointers, probably using hal_pi_gpio as a template
1c) compile said code, learning where to put the resulting driver file so that I can...
1d) do halcompile to make the new amlogic_gpio module available to hal.
1e) debug all the previous steps and incorporate the new amlogic_gpio into a .hal file and proceed with integrating a working machine.
OR
2: Get a Raspi 4, and proceed directly to step 'e'
OR
3: Use a full-sized PC.
I'm going on vacation next week, and will probably try to get a RasPi during that time.
Nonetheless, I'm very interested in this SBC world.
It seems there should be some utility out there that would allow generally getting those pointers and therefore it should be possible to create a golden hal_gp_gpio component.
I've gotten a Libre Computer Le Potato upgraded to Bookworm, with a 4.xx RT kernel, and downloaded LinuxCNC from the Distro, so it's aaaalmost there.
It's an Amlogic S905X chip.
But you can's use "loadrt hal_pi_gpio" in your .hal file because that driver (Written by Andy Pugh, thank you) is specific to the Broadcom chip on the RasPi board.
I think I'm understanding that the methods in hal_pi_gpio are passing / accepting pointers in and out of the hal subsystem (my apologies for not getting the vocabulary right, I'm still reading the HAL documentation).
If this understanding is correct, then that means we can't use these boards manufacturer's "preferred method" for addressing these pins which is to use gpiod: while gpiod does have a C handling library libgpiod ( housed at linux' git.kernel.org ) , the EMC code of LinuxCNC would need to be modified to use that it instead of the direct addressing which I'm guessing it does instead. This probably is not only a big programming job but probably introduces latency. I believe the philosophy of the real-time thread is not to need anything from outside the thread and that libgpiod might already go outside and if not today might be modded later.
My initial hope was that libgpiod would have a way to return the pointers, but I didn't see that up-front -- keep in mind my skills in this area are pretty weak.
If anyone has a better set of ideas for pushing this further, I'd love to exchange thoughts.
Right now I'm thinking I need to either:
1: Develop something like "hal_amlogic_gpio" which means:
1a) figure out the memory mapping scheme for the amlogic chip, possibly using the source files from libgpiod
1b) write a piece of code that gets the requisite pointers, probably using hal_pi_gpio as a template
1c) compile said code, learning where to put the resulting driver file so that I can...
1d) do halcompile to make the new amlogic_gpio module available to hal.
1e) debug all the previous steps and incorporate the new amlogic_gpio into a .hal file and proceed with integrating a working machine.
OR
2: Get a Raspi 4, and proceed directly to step 'e'
OR
3: Use a full-sized PC.
I'm going on vacation next week, and will probably try to get a RasPi during that time.
Nonetheless, I'm very interested in this SBC world.
It seems there should be some utility out there that would allow generally getting those pointers and therefore it should be possible to create a golden hal_gp_gpio component.
Please Log in or Create an account to join the conversation.
13 Jul 2022 17:08 #247242
by Bari
Replied by Bari on topic Potential All-in-One Single Board Computers
AML-S905X-CC
libre.computer/products/s905x/
S905 Datasheet. Revision 1.1.4
dn.odroid.com/S905/DataSheet/S905_Public_Datasheet_V1.1.4.pdf
4x ARM Cortex-A53 CPU up to 2.0GHz
5x ARM Mali-450 GPU
I don't see any microcontrollers integrated into the SOC. The RPI4 is capable of maybe 5 to 10 KHz software step rates depending on kernel and what else it is doing. I don't see how the Amlogic S905X would do much better without the aid of an external FPGA or microcontroller.
Have you been able to run a latency test on this board yet to see the jitter?
libre.computer/products/s905x/
S905 Datasheet. Revision 1.1.4
dn.odroid.com/S905/DataSheet/S905_Public_Datasheet_V1.1.4.pdf
4x ARM Cortex-A53 CPU up to 2.0GHz
5x ARM Mali-450 GPU
I don't see any microcontrollers integrated into the SOC. The RPI4 is capable of maybe 5 to 10 KHz software step rates depending on kernel and what else it is doing. I don't see how the Amlogic S905X would do much better without the aid of an external FPGA or microcontroller.
Have you been able to run a latency test on this board yet to see the jitter?
The following user(s) said Thank You: seuchato
Please Log in or Create an account to join the conversation.
Time to create page: 0.230 seconds