A while ago, I had an idea for a fully open source laptop (what would that take?). Here, I’ve limited the scope. (visit /chip/ for the page.)

PECS host system

15” laptop with an aluminum frame, solar panel on the back, e-ink display and a keyboard, with one micro-usb-c/3 connector. Nothing else externally.

Existing Requirements

  • [ ] 1ghz 64bit (word?) 2 core lowrisc risc-v chip
  • [ ] 1gb ram (dunno what this is, but link)
  • [ ] BIOS chip (boot to ssd - fastboot? try to go without grub)
  • [ ] 4gb ssd (open source controllers? link)
  • [ ] keyboard (~59 keys)
    • [ ] interupt controller
  • [ ] usb-c in 3.2 mode
    • [ ] charging
    • [ ] LAN adapter
    • [ ] micro-sd adapter
    • [ ] hdd spin-power capable (5v?)
  • [ ] e-ink display
    • [ ] controller, if needed
  • [ ] clock battery/capacitor
  • [ ] solar panel (might be able to charge off with such a low power usage)
  • [ ] lithium ion battery
    • [ ] controller, if needed tesla

Removed Requirements

  • extra arm / fpga chips
  • extra/dedicated RAM and journal SSDs
  • cell / wifi chips
  • LAN / HDMI connectors
  • OLED display / touchpad / touchscreen
  • microphone / camera / speakers

PECS limitations

With this setup in mind, it’ll probably be helpful to have the software in order, and it’s a bit of a limited setup, which is nice.

  • [ ] compute
    • [ ] CPU
      • [ ] 2-core usage
      • [ ] no built in speedups (RSA, etc)
    • [ ] RAM
      • [ ] page files
      • [ ] DB/FS-ram storage
    • [ ] SSD (4gb)
      • [ ] swap files
      • [ ] DB/FS-ssd storage
  • [ ] display frame (text mode / simple 2d graphics)
    • [ ] scrolling TTY with alerts / autocomplete (better battery life)
  • [ ] connections (usb-c-3-iface)
    • [ ] LAN
    • [ ] SD / SSD / HDD interfacing
  • [ ] hardware
    • [ ] solar panel control software
    • [ ] battery control software
    • [ ] usb-c-3 charge
    • [ ] keyboard interup software

Existing Software

the feature checklist is elsewhere. sorry.

  • [ ] thermite (message passing, full OS build)
  • [ ] muon (runtime, scheduler)
    • [ ] smpc, namespaces, hypervisor…
  • [ ] malform (db, fs)
    • [ ] sql, kv, graph…
    • [ ] journaling, partitioning, RAID, erasure codes…
  • [ ] geiger (network, sync)
    • [ ] onion networks, peer dns, torrenting…
  • [ ] ternary (rust compiler, CI)
    • [ ] memory safety, unit tests…
  • [ ] orange (tty)
    • [ ] REPL, suggestions…
  • [ ] impact (webpage - mvc)
    • [ ] not a requirement but, essentially the TTY display at this point.