7 comments

  • jrflo 1 hour ago
    Fun idea! The real time interaction with GPIO from the CLI is the most interesting thing here, I could see a general framework for that being useful for early-stage prototyping with new hardware/sensors if you included things like I2C, SPI, and UART.
    • MisterTea 25 minutes ago
      The next level of this is serving the Arduino as files: https://github.com/echoline/NinePea then mounting that on your host OS. A friend wrote his own 9P server while doing embedded work on an ST Arm board by mounting the board under Linux. Files are just nodes to RPC calls that you the user decide so the file server can do anything.

      Your IO points can be individual files so you can 'echo 127 >/n/arduino/pwm0' to set and reading is just as easy 'cat /n/arduino/pwm0' If you want to save all the pin states you 'tar -c /n/arduino | gzip >arduinostate.tgz' then reverse that process to write the values back.

      To change pin config you can create a ctl file which you can use to control and configure things using key=value pairs, e.g. echo 'pinmode pin=3 mode=output' >/n/arduino/ctl. Errors are communicated through the file system so a failed write() will return -1 along with an errstr(2) message to your calling process.

      Want a cli in addition? No problem, just make a file called e.g. con (console) and hang a REPL off it. Now open that file using a console emulator like con(1) on Plan 9: 'con -C /n/arduino/con' and type your heart away.

      I have toyed with the linked library on 9front and tinkered with robotfs and the RNG demos. This is one of the cleanest ways to interact with software IMO.

  • DoctorWhoof 1 hour ago
    Missed opportunity to call it "Unox"
    • tosti 2 minutes ago
      Yes, but only if its rookworst flavoured.
  • zserge 32 minutes ago
    Reminds me of a good old arduino shell, Bitlash - https://github.com/billroy/bitlash/wiki/commands
  • whattheheckheck 7 minutes ago
    Mike stonebraker said the filesystem should be a database in a recent podcast with ryan peterman. Any thoughts on trying that out?
  • dale_glass 57 minutes ago
    Very neat, but why Arduino Uno? It's well past its prime.
    • malicka 33 minutes ago
      Probably because that’s what they had or needed. :^)
  • lpcvoid 46 minutes ago
    >// The descriptive files (i.e., README and QUICKSTART) were written by Claude AI (with minor tweaks). Why? Because if I had done it myself, it would have ended up as a few lines of incoherent gibberish that wouldn't tell you anything.//

    I would have enjoyed your lines of gibberish far more than the slop that Claude spit out.

    But it's a cool project, thank you for sharing.

  • Serhii-Set 2 hours ago
    [dead]