This project is now archived, due to Raptor Engineering Releases Kestrel, The “First Open-HDL/Open Firmware BMC”, which I read on 2021 Feb 09. I cannot risk legal action from Raptor Engineering, especially considering how much our respective projects overlap. — Samuel A. Falvo II, 2021 Feb 09

  • No back doors. No hardware locks or encryption. Open hardware means you can completely understand the hardware.
  • No memberships in expensive special interest groups or trade organizations required to contribute peripherals.
  • No fear of bricking your computer trying to install the OS of your choice. Bootstrap process is fully disclosed.
  • Designed to empower and encourage the owner to learn about and even tweak the software and the hardware for their own benefit.
  • No mass storage or operating system? Hack around in the built-in, ROM-resident programming language environment.
  • Built on 64-bit RISC-V-compatible processor technology.
  • Compatible with Digilent Nexys-2 FPGA development board.

The Kestrel project is all about freedom of computing and the freedom of learning using a completely open hardware and software design.

Also check out the other Kestrel blog, at

Latest Posts

(ATOM Feed)

01 Feb 2018
On ELF, Part 2
29 Jan 2018
On ELF, Part 1
22 Nov 2017
Thawing Kestrels: Rebooting the Dream
07 Mar 2017
Winter for Kestrels: Shutting Down a Dream
31 Jan 2017
Kestrel-3 leans towards mainframes, I/O channels
28 Dec 2016
Discovering Memory Address Windows Without Device Trees
06 Dec 2016
Modular Firmware
16 Jun 2016
CGIA Update: Video Serialization
11 May 2016
Instead of CGIA, Go With a Super-VDP Instead?
01 Apr 2016
Announcing Kestrel-4
29 Mar 2016
VIBE 2.2
09 Feb 2016
EDOS: Event Driven Operating System
13 Dec 2015
Lessons Learned #4: Flat Namespaces
10 Dec 2015
Lessons Learned #3: Garbage Collection
09 Dec 2015
Lessons Learned #2: Records
08 Dec 2015
Lessons Learned #1: Syntax Matters
11 Oct 2015
Event-Driven Kernel for Kestrel-3
15 Sep 2015
The BSPL Compiler
13 Aug 2015
How PatientIO Came To Be
12 Aug 2015
Some History and a GUI Code Walkthrough
04 Aug 2015
On Object Hierarchies
04 Aug 2015
Bring Back GCOM?
27 Jul 2015
Towards a performant, scalable, and consistent I/O subsystem for the Kestrel-3
07 Jul 2015
RapidIO, RetroForth, and RISC-V Update
14 Jun 2015
Stepwise Refinement of an Event-Driven Forth Interpreter Part 3: Multiplication
20 May 2015
Stepwise Refinement of an Event-Driven Forth Interpreter Part 2: Basic Correctness Checks
17 May 2015
Stepwise Refinement of an Event-Driven Forth Interpreter
19 Apr 2015
Kestrel-3 User's Guide Available Now
18 Apr 2015
Event-Driven Forth and its Implications
11 Mar 2015
Why Not Machine Forth for the RISC-V Platform?
24 Feb 2015
STS V2: Evented or Not?
14 Feb 2015
Using the One-Pass RISC-V Assembler
04 Jan 2015
I'm So Very Sorry
31 Dec 2014
Prototype 2-Pass Assembler Works!
25 Dec 2014
Kestrel Update: Emulators, Fake UARTs, and Memory Maps
07 Oct 2014
Kestrel Adopts RISC-V Instruction Set Architecture
06 Oct 2014
Kestrel Progress Report
08 Dec 2013
Programming Without Lambdas
19 Nov 2013
Of Shoulders and Giants --- Inspiration Behind Kestrel

Kestrel-3 User's Guide Available Now

With the recent progress made on the Kestrel-3 emulator, I've decided to start to maintain the Kestrel documentation as an integral part of the development process. Happily, the very first results of this is now available for viewing. Click here to review the user's guide on LeanPub now!



With each passing day, technically capable consumers of computing technology increasingly lose their rights with computer hardware. The successful deployment of UEFI in the market, with Microsoft controlling which operating systems receive a key that permits it to be booted, poses a potential threat to system- and application-software and hardware development freedom. While some look to prominent Linux suppliers as an escape from the Intel/Microsoft/Hollywood oligarchy, I have taken a different route -- I decided to build my own computer completely from scratch. My computer architecture is fully open; anyone can review the source, learn from, and hack it to suit their needs.

Featured: Towards a performant, scalable, and consistent I/O subsystem for the Kestrel-3

Today, I presented a tech-talk on what I'm currently thinking the Kestrel-3's I/O architecture should be. I'm calling the I/O implementation "PatientIO", as a pun on "RapidIO." For the purposes of this talk, PatientIO and RapidIO can be thought of identically. PatientIO differs from RapidIO only in how device enumeration happens, and on supported interconnect media; however, these topics are not covered.


Featured: Shoulders of Giants

The list below summarizes some of the most interesting ideas from each market or specific computer. Over time, as the Kestrel hardware and software evolves, you might see one or two of the ideas listed below shine through. Or, you might see something else all-together. This list cannot be considered exhaustive. Read more...