Specification
One Dollar Computer v1.004 R2 — open educational RISC-V computer. Model 1.004 is fixed; R2 is the current board revision.
Platform
The product is a RISC-V platform with a stable logical I/O map — not a specific demo board tied to one MCU package name.
- User layer: board pins 0–19 (PCB silkscreen), Simple Rust (
odc) - Toolchain layer: editor wrap, compile, WebHID flash (automatic)
- Chip layer: private — never exposed in beginner firmware
Processing (R2)
Revision R2 uses a 32-bit RISC-V processor (RV32EC).
| Spec | R2 |
|---|---|
| ISA | RV32EC (32-bit RISC-V) |
| System clock | Up to 48 MHz |
| Program memory | 16 KB flash (user firmware) |
| RAM | 2 KB SRAM |
| Analog input | 10-bit ADC — board pins 8 and 9 |
| Logic level | 3.3 V I/O; 5 V available on pin 18 (USB / VBUS) |
Simple Rust programs are single-threaded: one main() loop, no OS, no heap required.
Typical beginner sketches use a fraction of the 16 KB flash and 2 KB RAM.
Future revisions may ship different silicon while keeping the same platform contract — board pins 0–19, Simple Rust, WebHID flash. The numbers above describe the current published board only.
Hardware
Firmware, the editor, and assistants use board pin numbers only.
| Pin | Role |
|---|---|
| 0–9, 12, 14–15 | GPIO (8–9 analog-capable on R2) |
| 10 | 3.3 V power |
| 11, 17 | Ground |
| 12 | GPIO — also SWIO (using as GPIO disables SWD until reboot) |
| 13 | Button (BUTTON) |
| 16 | Not connected |
| 18 | +5 V / VBUS |
| 19 | Onboard LED (LED) |
board.yaml— canonical pin map- ODC Port — RJ45 cable (see pinout)
Software
Simple Rust — beginner firmware uses use odc::*; and fn main() only.
use odc::*;
fn main() {
pin_output(LED);
loop {
pin_set(LED);
delay(200);
pin_clear(LED);
delay(200);
}
}
API: pin_output, pin_input, pin_set, pin_clear, pin_read, delay, led_on, led_off, read_button.
Constants: LED (19), BUTTON (13).
Flash
Browser editor compiles firmware and flashes over USB WebHID. HID is one of the oldest USB device classes — natively supported on Windows, macOS, and Linux with no separate driver install. Any Chromium-based browser (Chrome, Edge, Brave, …) can program the board.
Revision R2
Current published board revision — see Processing (R2) for compute specs.