Friday, November 12, 2021

Turn your Raspberry Pi Pico into a MS-DOS-like computer #PiDay #RaspberryPiPico #CircuitPython @RetiredWizardUS @Raspberry_Pi

Image via Brian Welsby https://twitter.com/TheFlyingKipper/status/1453036011626323988

All the functionality of the 1981 IBM PC on a PI Pico? Close…

PyDOS is a MicroPython/CircuitPython DOS-like shell for microcontroller boards.

It has several familiar commands:

  • edit.py – line editor inspired by DOS edlin. Intial program structure of line editor by Joesph Long https://github.com/j-osephlong/Python-Text-Editor
  • fsedit.py – shell to load full screen editor from https://github.com/robert-hh/Micropython-Editor
  • fileview.py – scrollable text file viewer
  • sdmount.py (MicroPython only) – mounts an sd card to the file system
  • sdumount.py (MicroPython only) – dismounts an sd card from the file system
  • setdate.py (MicroPython only) – initializes the RP2040 real time clock to an entered date
  • settime.py (MicroPython only) – initializes the RP2040 real time clock to an entered time
  • diff.py – performs a file comparison
  • sound.py – outputs a sound to a speaker circuit connected to GPIO 19
  • lcdprint.py – displays text on an I2C LCD display
  • PyBasic.py – a Basic interpreter from https://github.com/richpl/PyBasic. Tweaked and modified to run on MicroPython. basicparser.py, basictoken.py, flowsignal.py, lexer.py, program.py, basicdata.py
  • runasthread.py (MicroPython only) – This program will attempt to launch a python program on the second RP2040 core. Threading is experimental on MicroPython so it’s not difficult to crash the microcontroller using this program. I have not found a way to kill a thread started on the second core so be sure any threads you launch will shutdown on their own or monitor a global variable or thread.lock to respond to a shutdown request (see the badblink.py for an example).

See the video below and more on GitHub.

No comments:

Post a Comment