Skip to content

Using an ESP32 to build a desktop operating system

Notifications You must be signed in to change notification settings

renamedquery/esp32-pc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

esp32-pc

This repo is currently a work in progress. I am currently working on the ESP32's command line.

bad-apple-test-7.mp4

Yes, it does run Bad Apple! (Make sure to run net stop before using readimgseq). A some recent updates have sped up the playback speed monumentally, and the device is now capable of ~16fps playback!

Currently, the master device will now allow up to 8 slave devices to sync to it over WiFi. It can also read from an SD card filesystem.

One of the latest updates included the ability to take screenshots. The screenshot algorithm will be improved later to use run length encoding, which should speed it up significantly.

I call it, "The Signal Integrity House of Horrors".

Specs:

  • 520KB RAM
  • 448KB ROM
  • 240MHz processor clock speed
  • 3 bit VGA colors (RGB)
  • 640x350 output resolution
  • 6 physical ESP32 devices

Parts:

  • 6x ESP32-S2 Dev Kit
  • 1x Digital PmodSD

Commands:

  • fbmem
  • fbinfo
  • hwinfo
  • lsdev
  • net <command_args>
  • df
  • sd <command_args>
  • mkdir <absolute_path>
  • ls
  • touch <absolute_path>
  • cd <absolute_path>
  • readimgseq <absolute_path>
  • cls
  • screenshot <absolute_path>

Use the help command to list all of the commands and their usage. You can comment out text by writing nop <string>.

Why am I doing this?

I have quite a bit of experience programming on high end desktop computers, and thought that it would be useful to learn how to program on a system with much tighter tolerances and lower specs.

About

Using an ESP32 to build a desktop operating system

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published