element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Project Videos
  • Challenges & Projects
  • element14 presents
  • Project Videos
  • More
  • Cancel
Project Videos
Documents DIY Single Board Computer with ESP32 and Raspberry Pi Pico -- Episode-659
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Project Videos to participate - click to join for free!
Related
Recommended
Engagement
  • Author Author: cstanton
  • Date Created: 25 Jul 2024 2:49 PM Date Created
  • Last Updated Last Updated: 2 Aug 2024 2:43 PM
  • Views 7400 views
  • Likes 9 likes
  • Comments 5 comments

DIY Single Board Computer with ESP32 and Raspberry Pi Pico -- Episode-659

After flashing Linux to an ESP32-S3 and turning a Raspberry Pi Pico into a GPU, Clem takes the next logical step in his twisted journey and creates a cursed DIY single-board computer (SBC). Dubbed the "Sudosom SRSLY," this contraption isn't just bizarre for its own sake; it also lets you connect a Raspberry Pi to create a single-board computer on your single-board computer. Clem's project pushes the boundaries of weirdness and functionality, integrating multiple computers, enabling text mode displays, and overcoming design mishaps, all while inviting you to contribute your insights for even stranger future developments.

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

For every maker, there is usually that one elusive project that they might one day tackle. That day came for clem when he tried to make a single board computer (SBC), and to be truly on brand, it must be a weird one. Not just an unusual computer but one with a very niche purpose and an uncommon shape.

image

If you have not seen it yet, check out Clem’s previous episode where he shows how to run Linux on an ESP-32, using that project, and combining it with turning a Raspberry Pi Pico into a GPU Clem turns the weirdness factor up to eleven.

There are a few modes on with Clems SBC, which he aptly named the “Sudosom SRSLY” (that unfortunately includes a fitting typo in his name on the PCB):

  1. The ESp32s3 on the board runs “normal" real-time microcontroller (MCU) code, written with ESP-IDF / Arduino and it can directly interact via I2C to a Raspberry Pi (RPI) Pico (also freely programable).
    1. Full access to RPI style GPIO with two USB ports that make it a fully-fledged MCU platform with added DVI output.
  2. The ESp32s3 runs the Linux kernel, and it could theoretically talk to the Pico over I2C, but the implementation in the currently flashed Linux port is not capable (yet).
  3. One can add another computer into the mix (so many computers). The GPIO headers allow you to connect an additional SBC to the board.
    1. Clem uses an RPI 3A+ and an RPI 4 in the video trying to push data to the Pico and the ESP.
  4. The whole monstrosity can plug into a host PC motherboard via the onboard PCIe connector exposing all devices in the mix on the SMBUS. (At least theoretically).

Clem put the SBC through its paces by testing the functionality on a LattePanda Delta, running vanilla Ubuntu 22.04 LTS. In doing so, Clem discovered that the devices do not show up correctly in I2C detection. This is likely due to not reacting to system calls that ask for device/vendor identification during boot.

image

image

image

If this is truly the case, Clem would like input from the Community, as perhaps someone has experience with enumeration on SMBUS to resolve this and can comment with guidance.

In its production, Clem must work around a few mishaps in the design of the board. Designing and populating the PCB with the wrong type of SATA power connector did not help, either. The solution to this is hacky but functional. USB cables sling around the board that connect USB-A to USB micro-B and type C ports to provide data lines and power to all devices.

image

Now the data can flow via USB/UART.

Clem adapts the code to allow for serial messages to be directly pushed in text mode to the screen and after a lot of fiddling around with code, and setup, he manages to push messages pipelined into a very simple USB / GPU driver script onto a secondary screen. This also works over SSH, and even with pipelining program output directly into the usb / GPU driver, showing the content of files onto a little DVI monitor.

image

In a fortunate turn of events, the way that this is set up appears beneficial for further development. When utilizing the pico-GPU board as a simple module to add video output to projects. Clem also ponders the possibility of using a real PCIe interface chip to circumvent the need to learn about any required Linux kernel shenanigans to get everything working, which gives him the enjoyment of potentially building a much more integrated and weirder SBC. Only time will tell.

image

Bill of Materials

Product Name Manufacturer Quantity Buy Kit
Raspberry pi pico Raspberry pi 1 Buy Now
Raspberry pi 4 Raspberry pi 1 Buy Now
MCP1825s microchip 2 Buy Now
FT230X USB uart bridge FTDI 1 Buy Now
Raspberry pi 5 Raspberry pi 1 Buy Now
Raspberry pi 3A+ Raspberry pi 1 Buy Now
Lattepanda delta Dfrobot 1 Buy Now
Product Name Manufacturer Quantity
Esp32s3
DVI/hdmi screen
 

Downloads and Links

  •  Episode 623: How to Run Linux on an ESP32 

  •  Turning a Raspberry Pi Pico into a GPU! -- Episode-644 

  • Sudoflash - tool to flash Linux onto ESP32s3
  • pico GPU - Raspberry Pi Pico as a crude GPU
  •  Episode 659 Resources - Code and firmware for this project 

element14 presents

element14 presents  |  About Clem  |  Project Videos

  • ESP32 Linux tutorial
  • USB/GPU driver script
  • DIY single board computer
  • Homemade computer integration
  • Connecting Raspberry Pi to SBC
  • Building a single board computer
  • Custom SBC project
  • Serial message display
  • Arduino and ESP-IDF coding
  • Raspberry Pi Pico GPU
  • Custom PCB design challenges
  • DIY computer projects
  • I2C device detection issues
  • Microcontroller platform
  • friday_release
  • SBC development community
  • e14p_CMM
  • Share
  • History
  • More
  • Cancel
Actions
  • Share
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • DAB
    DAB over 1 year ago +1
    Very interesting project Clem. I can see a lot of uses for a system like this. My skills are no longer up to helping you, but I will encourage you to continue and will avidly await your next update…
  • userHarpreet
    userHarpreet over 1 year ago +1
    Great work Clem. I'll test out your code this week and help you develop the code as much as i can.
  • userHarpreet
    userHarpreet over 1 year ago

    Great work Clem. I'll test out your code this week and help you develop the code as much as i can.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mayermakes
    mayermakes over 1 year ago in reply to DAB

    thank you, Iḿ sure your skills will be again needed direly in my projects!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 1 year ago

    Very interesting project Clem.

    I can see a lot of uses for a system like this.

    My skills are no longer up to helping you, but I will encourage you to continue and will avidly await your next update.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mayermakes
    mayermakes over 1 year ago in reply to dougw

    it was indeed a wild ride. i see quite a few good uses for parts of it and the whole thing..once I have uncursed it.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dougw
    dougw over 1 year ago

    Wow. This is wild. But I2C to HDMI could be a useful function.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube