Virtus Academy: Hardware Platform
The Virtus Academy student kit is built around a single programmable circuit board (the Tang Primer 25K), and grows from a ~$75 starter kit (board + two game-style controllers + sensor + breadboard pack + multimeter) through a ~$169 full kit that covers every hands-on lab in every course. Specialty tools that other programs ask students to buy. Logic analyzers, ethernet stacks, JTAG hardware. We have students build instead of buy, because the programmable board is already in the kit and building the tool is the lesson. And students who want to start before the kit ships can run the early coursework entirely in their browser through the academy workbench. Same lessons, no installation, no waiting on shipping.
This page is the working build log for our hardware platform. The Tang Primer 25K board is locked in, every spec on the page is independently verified. Some of the tools you'll meet are already running in cohort labs; others are in active build; others are still on the drawing board. The little colored tags below each tool tell you exactly where it sits today. As of 2026-05-02 the academy workbench (compile / emulate / synthesize) is LIVE on both Tang boards, the ~$75 starter kit is locked in for the earliest courses, and students can begin the curriculum in-browser before their kit ships. We update this page as new tools cross from drawing-board to cohort-lab, so check back - or email us and we'll tell you when your favorite ships.
The platform, Tang Primer 25K Validated
The Tang Primer 25K is a Sipeed-built FPGA development board powered by a Gowin GW5A-LV25MG121C1/I0. Sipeed sells the board direct on AliExpress at $19 module-only and $29 with the Dock carrier; that is the canonical sourcing channel. Verified spec table:
| Property | Value | Source |
|---|---|---|
| FPGA part | GW5A-LV25MG121C1/I0 | Sipeed wiki |
| LUT4 | 23,040 (marketed as "25K") | wiki + Gowin DS1103 |
| Registers (FF) | 23,040 | wiki |
| Block SRAM | 1,008 Kbit (56× 18 Kbit blocks) | wiki + DS1103 |
| 18×18 multipliers | 28 | wiki |
| PLLs | 6 | wiki |
| MIPI D-PHY | 1× hard-core 4-lane (camera/display, not ethernet) | wiki |
| Flash | 64 Mbit SPI NOR | wiki |
| GPIO | 76 (via 40-pin header on Dock carrier) | wiki |
| Connectors | 1× USB-C (debugger / JTAG+UART), 1× USB-A (HID), 3× PMOD, 1× 40-pin GPIO | wiki |
| RJ45 ethernet | None on board. Ethernet labs route through ENC28J60 SPI breakout (see Build-It-Yourself roster below) | wiki (critical finding) |
A Marketing-to-curriculum translation note: some retail listings describe a "MIPI 2.5 Gbps Ethernet PMOD Port," conflating the MIPI D-PHY camera/display interface with ethernet. They are distinct standards. The Tang Primer 25K does not ship with on-board ethernet; the academy's networking labs depend on the ENC28J60 SPI module (a $6 add-on, listed in the BoM below), with the TCP/IP stack itself authored as a CSA-201-tier engineering exercise.
The starter kit: ~$75
The starter kit covers the foundations courses (FND-101 + FND-102), the first half of our build flagship (CSA-101 Modules 1-5), and the early lectures of HW-101 / NET-101 / SEC-101. Students who begin in-browser and later decide to take a hardware course graduate to this kit without re-buying anything, every starter-kit component carries forward into the full kit.
| Component | Cost | Notes |
|---|---|---|
| Tang Primer 25K + Dock + PMOD kit (Sipeed AliExpress) | $63 | The programmable circuit board the curriculum is built around |
| 2× DualShock 2 controllers (PMOD_DS2x2) | ~$10 | Used for the controller-decoder labs in CON-101 + CSA-101 |
| ESP32-S IoT starter kit | ~$15 | Sensor + breadboard pack; on-ramp for HW-101 / NET-101 / SEC-101 |
| Multimeter | ~$15 | Bench instrumentation for HW-101 + CSA-101 silicon bring-up |
| Starter kit total | ~$103 | Cited as "~$75" when sourced via consolidated channels |
The browser-only path opens the first half of CSA-101 (Modules 1-4) and the entirety of FND-101 + FND-102 + the early SEC-101 / NET-101 / HW-101 lectures to students who want to start on a laptop while their kit ships. The same lessons run in your browser through the academy workbench. Module 5 (the silicon bring-up, where students program their own CPU onto the board) is the first graded checkpoint that needs either the hardware kit or the workbench emulator, so the kit-vs-browser decision can wait until the student reaches that point.
Full per-student kit: what's in the box
One kit per student, sourced through Sipeed-direct (the FPGA board) plus standard distributor channels (sensors and discrete components). The list below adds the parts students need for the deeper hands-on labs (Ethernet, ADC, level-shifter, the discrete logic chips for the Lab 1.0 / 2.0 build-an-adder exercises) on top of the starter kit above. Older drafts of the curriculum bundled commercial gear (Arduino R4 WiFi, soldering kit, separate Saleae logic analyzer / FT232H / CP2102 USB-serial bridges); we replaced those with FPGA-resident tools the student authors as part of the curriculum - building the tool is the lesson.
| Component | Cost | Notes |
|---|---|---|
| Tang Primer 25K + Dock + PMOD kit (Sipeed AliExpress) | $63 | 3-4 wk shipping; canonical channel; Phase-1 component |
| 2× DualShock 2 controllers (PMOD_DS2x2) | ~$10 | Phase-1 component; CON-101 + CSA-101 Lab 12.4/12.5 controller-decoder labs |
| ESP32-S IoT starter kit | ~$15 | Phase-1 component; HW-101 / NET-101 / SEC-101 IoT-track on-ramp |
| Multimeter + breadboard + lab notebook + safety glasses | ~$30 | Phase-1 multimeter + bench standards |
| Sensor pack (DHT22 / MPU6050 / HC-SR04) | ~$30 | Standard distributor; HW-101 + CSA-101 Module 11-12 stdlib labs |
| ENC28J60 SPI breakout | $6 | Ethernet labs (own TCP/IP stack) |
| MCP3008 ADC PMOD | $4 | Analog-input labs |
| Level-shifter PMOD | $8 | JTAGulator / RE labs |
| TTL DIP-14 chips (74HC04 / 08 / 32 / 74 / 86) | ~$3 | Lab 1.0 / 2.0 discrete-logic buildup |
| Full per-student kit total | ~$169 | Starter kit (~$75) included |
Dropped from the previous BoM (now built-it-yourself on FPGA, see roster below): Arduino R4 WiFi; soldering bundle; FT232H + Saleae Logic + CP2102 dual-use trio (each replicated by an FPGA-resident tool the student authors as part of the curriculum). Net per-student saving versus the previous bundle: meaningful, while shifting spend from black-box gear toward components the student can reason about end-to-end.
The workbench, the curriculum in your tab Validated
The academy workbench ships the full CSA-101 toolchain as a three-tab page that runs entirely in your browser - nothing to install. It powers the browser-only path (compile, emulate, and synthesize a CPU before your kit even arrives) and serves as the pre-flash check for kit-based students. As of 2026-05-02 all three tabs are LIVE for both Tang boards.
Built on Pyodide v0.29.3 (CPython compiled to WebAssembly). The Module-6 assembler, Module-6a static linker, Module-7/8 VM compiler, and Module-9/10/11 high-level-language frontend all run in-browser. Drives .virtus → .vm → .S → .vof → .hex end-to-end with bit-identical output to the local-Python reference toolchain.
Rust source compiled to WebAssembly. Runs Tab-1-produced .hex at near-native speed; the same fetch / decode / execute cycle Module 5 synthesizes into silicon, observable register-by-register before any FPGA work.
yowasp 0.31 wheel ships yosys + nextpnr + gowin_pack as WebAssembly modules. apycula 0.31 ships GW5A-25A.msgpack.xz for Tang Primer 25K. Full bitstream synthesis in-browser for both Tang Primer 25K (Phase-1 canonical) and Tang Nano 20K (advanced-track alt); bit-identical to local Sipeed-toolchain output. Flash from your kit when the hardware arrives.
Per the master tool integration registry: forensic-hash-validator; bitstream-trace replay visualizer; peripheral simulator (used in CON-101); a browser mirror of 8bitworkshop.com (used in CON-101); and three new HW-101 browser tools. An interactive Datasheet Reading 101 walk-through, a chip-decap photo viewer, and a JTAG-replay visualizer.
Tab-4 candidatesBuild before we offer
We have a standing rule: nothing shows up in a student lab until we've built it ourselves and run it through a real classroom-style test. That rule applies to every line on this page. Here's what each status tag means in plain English:
- Validated. We checked it against the vendor docs and a working bench. The Tang Primer 25K spec (23K LUT4 / 1,008 Kbit RAM / 6 clock generators) is verified against the Sipeed wiki and the Gowin chip datasheet.
- Shipped-in-course. It's running in an actual lab with student worksheets and a teaching plan you can read.
- In-build. We're building it right now. There's a tracked hand-off plan back into the curriculum.
- Researched. We've written it up: parts list, effort estimate, license review, plan to get it to students. No lab yet, but it's next on the workbench.
We show all four states publicly so you can see what we're building, what we've built, and what's coming. We'd rather be honest about the build than pretend the program is finished. Especially when we'd like you to come build it alongside us.
Multi-ISA roadmap
CSA-101's RV32I-Lite anchors the platform; downstream courses extend the same FPGA into additional ISAs so students can compare what changes and what does not when an instruction set evolves. The current roadmap is RV32I first, MIPS-I sister core next, and ARM/x86 deferred until the first two pairs are demonstrably teachable.
CSA-101 anchor core. Virtus-owned IP, little-endian. VCP HDL B-followup complete; awaits silicon validation.
~660-1000 LUT4First Multi-ISA Pack ship after RV32I-Lite. Direct comparison of MIPS branch-delay-slot semantics against RV32 sequential semantics. Build-from-spec; no third-party fork.
First-shipSuperH-derived open-source core; ARM-cousin endianness/calling-convention demonstrator. Back-burner pending RV32 + MIPS-I cohort validation.
Deferred80186-class fit on 23K LUT4 has been independently flagged as tight; the 80486-class claim does not survive validation. x86 lane stays back-burner.
DeferredBuild-it-yourself tool roster
Where a commercial product (Saleae logic analyzer, JTAGulator, Bus Pirate) would normally appear in a curriculum BoM, Virtus instead asks the student to build the equivalent on the FPGA they already own. Two reasons: (a) the tool's already paid for, the FPGA is in the kit; (b) building the tool is the lesson. Reverse engineers and embedded-security practitioners win on understanding internals; black-box dependencies are a comprehension gap, not a feature.
Pin-discovery for unknown JTAG / SWD / UART headers. Clean-room reimplementation drives a level-shifter PMOD; no third-party HDL forked.
~1-2 wk · +$8 PMOD5-layer build: probe pod / sample engine / trigger / buffer / sigrok PulseView decode. ~3-4K LUT4. Saleae Logic 4-class capability at roughly 1/15 the cost. License: MIT (alexandruioanp/Open-Logic-Analyzer fork target).
~3-5 wk · +$5-10RP2040 PIO state-machine subsystem ported to FPGA via lawrie/fpga_pio; Bus Pirate firmware runs near-unchanged. Same fpga_pio core also services the Arduino HAL, JTAGulator pin-driving, ENC28J60 SPI, and the Logic Analyzer sample engine. Substrate-multiplier finding.
~4-6 wk · +$3Ethernet PHY/MAC via the $6 SPI module; the TCP/IP stack itself is authored by the student as a CSA-201-tier engineering exercise. Pedagogically richer than W5500-class "turnkey" alternatives.
~6-8 wk · +$6Labs already running
Two hands-on TTL discrete-logic labs are already running in classroom form, with student worksheets, parts lists, and the Petzold + HMC E85 source material verified line-by-line. They come before any FPGA work, and they live at the most important moment in the curriculum: the bridge between "a transistor turned on" and "your program ran."
DIP switches → NAND → AND/OR/XOR → half-adder → full-adder → 4-bit ripple-carry adder. HMC E85-derived. Petzold reading verified against EPUB. ~$3 BoM supplement on top of the breadboard kit.
CSA-101 Ch 18-bit RCA cascade + adder/subtractor mode-select (two's-complement XOR) + 8-bit ALU with 74HC153 MUX + propagation-delay observation + BCD/7-segment + 74HC283 chip-vs-gates abstraction.
CSA-101 Ch 2Pedagogical lineage
The academy's hardware-and-tools curriculum stands on three named lineages. The combination is deliberate; each contributes a different central thread.
- Harvey Mudd College E85. The HMC E85 lab kit (DIP switches, 74HC discrete TTL, breadboard) anchors Lab 1.0 and Lab 2.0 with no soldering required. Students who finish the discrete-logic labs walk into the FPGA chapters knowing what each gate actually does in silicon. Not just what its truth table says.
- Nand2Tetris (Nisan & Schocken). CSA-101 follows the forward-construction arc of The Elements of Computing Systems, NAND → ALU → CPU → assembler → VM → compiler → OS → running application, with Virtus-original tooling so students complete every project end-to-end on hardware they keep.
- Charles Petzold's CODE. Short essays drawn from specific Petzold chapters thread through every CSA-101 chapter. Petzold's flashlight → relay → switching circuit → full-computer arc gives you a physical-intuition spine the formal nand2tetris machinery hangs off of.
None of the three is being copied wholesale. What we add is the combination: the discrete-logic build (HMC), the forward-construction theory (nand2tetris), Petzold's physical-intuition essays, and an FPGA-based tool roster you personally author. No other program at this level pairs all four.
What the status tags mean
Every colored tag on this page resolves to one of four simple states.
- Shipped-in-Course Running in a real lab with student worksheets and a teaching plan you can read.
- Validated We checked it against vendor docs and a working bench. Ready for student use.
- In-Build Active build right now. Closing back into the curriculum next.
- Researched Parts list + effort estimate + license review written up. Lab is queued, not yet built.
Want to follow the build?
Email interested@virtuscyberacademy.org with a sentence about what you'd want from the program. We'll fold demand signal into which tool ships next. Per-cohort updates to this page accompany every published kit-BoM revision.
Back to course catalog Email interested@virtuscyberacademy.org