Skip to the content
4 layers143 × 162.5 mmVERA MODULE RBL, the printed circuit board in 3D

[WORK IN PROGRESS - NOT WORKING] VERA video/audio module for ATARI XL/XE (PBI / cartridge, ESP32-S3 + iCE40)

Size
143 × 162.5 mm
Copper layers
4
Thickness
1.6 mm
Parts
219
Nets
245
Pads
916
Tracks, vias
2,709, 572
Pours
1,350
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
28 Jul 2025
Updated
4 Nov 2026

Overview

VERA MODULE RBL is an open-source printed circuit board by gianlucarenzi, from the gianlucarenzi/Vera-Module-RBL-XE repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 143 × 162.5 mm with 219 parts on 245 nets, routed with 2,709 tracks and 572 vias.

It is built around the ESP32-S3FN8, ICE40UP5K-SG48ITR50 and W25Q16JVSNIQ, with the WM8524CGEDT, MAX40200AUK and SN74LVC00AD among its other parts. Its parts include 77 resistors, 69 capacitors, 22 ICs, 7 connectors and 3 transistors. It belongs with the retro computing and games and audio and music boards and the ESP32 and FPGA and CPLD boards of this library.

Main components

12

README

README.md

VERA Module RBL-XE

License: GPL v3 KiCad Status: Work in progress [blocked] ATARI XL/XE ESP32

🌐 English | 🌐 Italiano

[!WARNING] WORK IN PROGRESS — NOT WORKING. This project is under development and does not work yet. The board has not been built or tested; firmware (ESP32, FPGA) and documentation have only been checked in simulation or on paper and may contain errors. Do not manufacture the PCB or rely on this design yet.



🔍 Overview

The VERA Module RBL-XE is a sophisticated FPGA-based audio and video expansion card designed specifically for ATARI XE computers. This module brings modern graphics and audio capabilities to classic ATARI systems through the PBI (Parallel Bus Interface) protocol connectors.

What is VERA?

VERA (Video Enhanced Retro Adapter) is originally designed for the Commander X16 computer but has been adapted for ATARI systems. It provides:

  • Advanced Graphics: Multiple video layers, sprites, and high-resolution modes
  • Enhanced Audio: Multi-channel digital audio with PCM and PSG capabilities
  • Modern Connectivity: VGA output, SD card storage, and USB programming
  • Retro Compatibility: Integration with ATARI software with simple drivers

✨ Features

🎨 Graphics Capabilities

Video Output
  • VGA Output: 640x480 @ 60Hz with analog RGB signals
  • Multiple Layers: Background, foreground, and sprite layers
  • Color Depth: 256 colors from a palette of 4096
  • Sprites: Hardware-accelerated sprite engine
  • Scrolling: Smooth horizontal and vertical scrolling
Audio Features
  • Digital Audio: High-quality PCM audio output
  • Multi-channel: Stereo audio
  • Audio Codec: WM8524 for professional audio quality
  • 3.5mm Jack: Standard audio output connector

🔗 System Integration

ATARI Compatibility
  • PBI Interface: Direct connection to ATARI XE systems
  • Memory Mapping: $D1XX-$DFXX address space
  • Bus Decoder: Full software address decoding in ESP32 — A0–A15 sampled every PHI2 cycle, no external hardware decoder required
  • Power Management: Efficient 5V to 3.3V/1.2V conversion
Storage & Programming
  • SD Card Slot: Micro SD for data storage and ROM loading
  • SPI Flash: 16Mbit W25Q16 for FPGA configuration
  • USB Programming: CH340 USB-to-serial for easy updates
  • SPI: Direct FPGA programming interface

⚙️ Technical Specifications

Core Specifications

ComponentSpecification
FPGALattice ICE40UP5K-SG48ITR
MicrocontrollerESP32-S3FN8
Flash MemoryW25Q16JVSNIQ (16Mbit)
Audio CodecWM8524CGEDT
USB InterfaceCH340T
Power RegulatorsAMS1117-3.3V, AMS1117-1.2V, L7805
Crystal (VERA board)25 MHz ECS-2033-250-BN (ICE40UP5K reference clock)
Crystal (ESP32-S3)40 MHz external — required; XTAL_P (QFN56 pin 54) / XTAL_N (pin 53)
PCB Layers4-layer (Signal/Power/GND/Signal)
Board SizeTBD mm x TBD mm

Electrical Characteristics

ParameterMinTypMaxUnit
Supply Voltage4.55.05.5V
Current Consumption-8001200mA
Operating Temperature-102570°C
VGA Output Impedance-75-Ω
Audio Output Level-2.0-Vrms

🔧 Hardware Components

Main Processing Units

FPGA - ICE40UP5K
  • Logic Elements: 5,280 LUTs
  • Memory: 120 Kbit BRAM, 1 Mbit SPRAM
  • I/O Pins: 39 user I/O
  • Package: QFN-48 (7x7mm)
  • Programming: SPI configuration
ESP32-S3FN8
  • CPU: Dual-core Xtensa LX7 @ 240 MHz
  • Memory: 8 MB in-package Quad SPI flash, 512 KB SRAM
  • Connectivity: Wi-Fi 802.11 b/g/n, Bluetooth 5 LE
  • GPIO: 45 total (38 usable), all bidirectional
  • Package: QFN-56 (7×7 mm)
  • Crystal: requires an external 40 MHz crystal on dedicated analog pins XTAL_P (QFN56 pin 54) and XTAL_N (pin 53) — mandatory for PLL startup; see PIN-MAPPING.md § 5
  • Role: Full software 6502-bus controller — reads A0–A15, PHI2, R/W every cycle and drives EXTSEL_N, DEV_SEL_N, MPD in real time; handles PBI ($D1xx) and CCTL ($D5xx) in a single unified firmware
  • Timing: hot loop on Core 0 at max FreeRTOS priority (Core 1 only prints the log on Serial), table-driven page decode; control signals asserted via Dedicated GPIO Xtensa TIE instructions (ee.get_gpio_in / ee.wr_mask_gpio_out, 1 CPU cycle) within the 279 ns PHI2-high window of the 1.79 MHz 6502 clock

Interface Components

Audio System
  • Codec: WM8524CGEDT (24-bit, 192kHz)
  • Interface: From FPGA digital audio bus
  • Output: 3.5mm stereo jack
  • SNR: >100dB
Video System
  • Output: 15-pin VGA connector
  • Resolution: 640x480 @ 60Hz
  • Colors: 8-bit RGB (256 colors)
  • Sync: Separate H/V sync signals

🖼️ Board Preview

3D Renderings

Top View

VERA Module Top Top side showing main components and connectors

Bottom View

VERA Module Bottom Bottom side with additional components

Cartridge Adapter

VERA Cartridge Adapter Optional cartridge interface adapter

Board Dimensions

  • Length: TBD mm
  • Width: TBD mm
  • Thickness: 1.6mm (4-layer PCB)
  • Mounting: Compatible with ATARI XE CART + ECI slots
  • Connectors: Flat for space efficiency. It needs a custom 3D printed case

📐 PCB Layers

Layer Stack-up

Layer 1 - Top Copper (F.Cu)

Top Copper Layer Component placement and signal routing

Layer 2 - Power Plane (POWER)

Power Layer 5V, 3.3V, and 1.2V power distribution

Layer 3 - Ground Plane (GND)

Ground Layer Solid ground plane for signal integrity

Layer 4 - Bottom Copper (B.Cu)

Bottom Copper Layer Additional signal routing and components


🔌 Connectors & Interfaces

External Connections

ATARI XE Interface
  • Cartridge Connector: Classic Cartridge Edge Connector 30 pin
  • ECI Slot: Enhanced Cartridge Interface 14 pin
  • Address Range: $D1XX-$DFXX
  • Signals: Data bus, address bus, control signals
Video Output (J2)
PinSignalDescription
1-3RGBRed, Green, Blue analog signals
13-14H/V SyncHorizontal/Vertical sync
6-10GNDGround connections
11-12Audio L/RStereo audio output
Storage Interfaces
  • SD Card Slot (J3): Micro SD card interface
  • SPI Flash: On-board 16Mbit storage
  • USB Port (J4): Programming and data transfer

⚠ Program the board only when it is unplugged from the Atari. The board 5 V rail is tied to the Atari +5 V (cartridge pin 13, ECI pin 7) without a diode: with the USB cable (J4) or the DC jack (J5) connected while the board is in the Atari, the board would power a switched-off Atari or run in parallel with its supply. The same applies to the serial monitor: inside the Atari use a USB adapter without VBUS. See VERA-ATARI-HW-REQUIREMENTS.md §2.11.

Programming Interfaces

ICEPROG Connector (J6)
PinSignalFunction
15VPower supply
2FPGA_CDONE/PULL-UPFPGA Programmed
3FPGA_RESETFPGA Reset
4MISOSPI data in
5MOSISPI data out
6SCKSPI clock
7SSSPI select
8GNDGround
Reset & Control
  • Reset Button (SW1): ESP32 system reset
  • DIP Switch (SW2): Configuration options
  • Status LEDs: Power, programming, activity indicators

⚡ Power Requirements

Power Distribution

Power Rails
RailVoltageCurrentComponents
5V5.0V ± 5%200mAInput from ATARI, USB
3.3V3.3V ± 3%400mAESP32, logic, interfaces
1.2V1.2V ± 3%300mAFPGA core voltage
Power Sources
  1. ATARI PBI: Primary 5V supply from computer
  2. USB: Alternative 5V for programming/testing
  3. External: Optional external 5V supply (J5)
Power Protection
  • Schottky Diodes: Reverse polarity protection
  • Ferrite Beads: EMI filtering
  • Decoupling: Extensive capacitor network
  • Current Limiting: Overcurrent protection

🔨 Assembly Instructions

Component Assembly

Assembly Order
  1. SMD Components: Start with smallest components (0603, 0805)
  2. ICs: Place all integrated circuits
  3. Connectors: Install all external connectors
  4. Through-hole: Add any remaining THT components
  5. Testing: Verify power rails before first power-on
Special Considerations
  • FPGA: Use proper ESD precautions
  • BGA Components: Requires professional assembly
  • Thermal Management: Ensure adequate cooling
  • Impedance Control: Maintain 50Ω for high-speed signals

Testing & Validation

Power-On Tests
  1. Visual Inspection: Check for shorts, proper orientation
  2. Power Rails: Verify all voltages within tolerance
  3. Clock Signals: Confirm oscillator operation
  4. Communication: Test SPI, I2C, UART interfaces
Functional Tests
  1. FPGA Programming: Load test bitstream
  2. Video Output: Verify VGA signal generation
  3. Audio Output: Test audio codec functionality
  4. ATARI Interface: Confirm PBI communication protocol

📦 Bill of Materials

Component Categories

Major Components
  • 1x ICE40UP5K-SG48ITR FPGA
  • 1x ESP32-S3FN8 Microcontroller
  • 1x W25Q16JVSNIQ SPI Flash
  • 1x WM8524CGEDT Audio Codec
  • 1x CH340T USB Interface
Passive Components
  • 23x 1µF Capacitors (1206)
  • 20x 100nF Capacitors (1206)
  • 6x 10µF Capacitors (1206)
  • Various Resistors (0805/1206)
  • 1x 25 MHz Crystal Oscillator (VERA board — ICE40UP5K reference clock)
  • 1x 40 MHz Crystal + 2×10 pF load capacitors (ESP32-S3 — mandatory)
Connectors
  • 1x 15-pin VGA Connector
  • 1x Micro SD Card Slot
  • 1x USB Type-C Connector
  • 1x 3.5mm Audio Jack
  • 1x 8-pin Programming Header

Cost Analysis

CategoryEstimated CostPercentage
FPGA$15-2035%
ESP32$8-1220%
Connectors$5-815%
Passives$3-510%
PCB$8-1220%
Total$39-57100%

Costs are estimates for small quantity production


💻 Programming & Configuration

FPGA Programming

Programming Methods
  1. USB/Serial: Using FTDI 232H adapter interface with iceprog
  2. SPI Direct: Direct SPI flash programming
Programming Steps
bash
# Install icestorm toolchain
sudo apt install fpga-icestorm

# Program FPGA via USB (The FPGA bitstream is not provided!)
iceprog vera_module.bin

# Verify programming
iceprog -c
Development Tools
  • IceStorm: Open-source FPGA toolchain
  • Yosys: Verilog synthesis
  • NextPNR: Place and route
  • KiCad: PCB design and layout

ESP32 Configuration

ESP32 Firmware

The ESP32-S3FN8 (Core 0 hot loop, Core 1 serial log) handles:

  • Startup sync: ARESET and CRESET asserted LOW immediately in setup() (before Serial.begin). MonitorTask releases CRESET, polls CDONE until the ICE40UP5K bitstream is loaded (< 100 ms typical, 5 s timeout), then releases ARESET — Atari starts with bus and FPGA already ready
  • Bus Decoding: Full software decode of A0–A15 sampled on every PHI2 rising edge — no page ambiguity
  • Dedicated GPIO: Control signals (EXTSEL_N, DEV_SEL_N, MPD) asserted in a single Xtensa TIE instruction (ee.wr_mask_gpio_out, 1 CPU cycle) within the 279 ns PHI2-high window
  • Data Bus Drive (PBI mode only): D0–D7 driven via GPIO.out for ROM ($D800–$DFFF) and RAM ($D600–$D7FF) reads; FPGA drives the bus in CCTL mode
  • Debugging: UART0 on GPIO43 (TX) / GPIO44 (RX), 115200 baud

The operating mode is selected at compile time via VERA_BOARD_IS_PBI in main.cpp:

VERA_BOARD_IS_PBIModeActive rangesSelection latch
1 (default)PBI$D100–$D1FF, $D600–$D7FF, $D800–$DFFFwrite 0x80 to $D1FF
0CCTL$D500–$D5FFwrite 0x80 to $D5FF

The RAMbo 256 KB emulator is always compiled in and enabled at runtime via GPIO 3 (PIN_RAMBO_EN, QFN56 pin 8) — no recompilation needed:

GPIO 3 at bootEffect
Pull-up 10 kΩ → VCC (HIGH)RAMbo enabled — 256 KB bank-switched at $4000–$7FFF; PORTB ($D301) bit 4 selects active/inactive
Pull-down 10 kΩ → GND (LOW)RAMbo disabled — $4000–$7FFF not intercepted

Works in both PBI and CCTL mode. The hot loop snoops both PBCTL ($D303) and PORTB ($D301): writes to $D301 update the bank-selection register only when PBCTL bit 2 = 1 (output register selected). When bit 2 = 0, $D301 addresses the PIA 6520 DDR and the write is ignored for bank-switching purposes. PORTB initialises to 0xFF (RAME = 1, RAMbo inactive); PBCTL to 0x00 (bit 2 = 0, DDR exposed).

Passive snooping vs. active driving — no conflict with the physical 6520. The real 6520 PIA chip remains fully active on the Atari motherboard and responds to $D301/$D303 normally. The ESP32 does not replace the 6520 — it only snoops those bus cycles (observes without driving). It only actively drives the data bus and asserts EXTSEL_N for the $4000–$7FFF window, where the 6520 is not mapped. PBCTL tracking is necessary precisely because the snooping is passive: from the bus, a DDR write and an Output Register write to $D301 are indistinguishable — PBCTL state is the only way to tell them apart.

Programming ESP32

The firmware is built with PlatformIO (install via pip install platformio):

bash
# Build firmware (edit VERA_BOARD_IS_PBI in main.cpp before building)
pio run -e esp32s3fn8

# Flash firmware — connect UART adapter to GPIO43/44
pio run -e esp32s3fn8 --target upload

Note: USB CDC is disabled because GPIO 19 (USB D−) and GPIO 20 (USB D+) are reused as address lines A7 and A8. Use an external UART adapter on GPIO 43/44.


📁 Project Structure

The design workflow, from the schematic to the JLCPCB order (stock check, library update, ERC, netlist, PCB and net classes, DRC, output_job.sh, files to send), is described in WORKFLOW.md (in Italian, also as PDF).

Repository Organization

text
Vera-Module-RBL-XE/
├── 📄 README.md                    # This documentation
├── 📄 WORKFLOW.md                  # Design workflow, schematic to JLCPCB order
├── 📄 PIN-MAPPING.md               # ESP32-S3 / level-shifter pin mapping
├── 📄 VERA-ATARI-HW-REQUIREMENTS.md # Hardware requirements & bring-up plan (from driver/emulator work)
├── 📄 LICENSE                      # GPL v3 license
├── ⚙️ VERA-MODULE-RBL.pro         # KiCad project file
├── 📄 VERA-MODULE-RBL.sch         # Main schematic
├── 🔧 VERA-MODULE-RBL.kicad_pcb   # PCB layout
├── 📄 VERA-MODULE-RBL.csv         # Bill of materials
├── 🐍 jlcpcb-check-bom.py        # BOM processing script
├── 📁 images/                      # Board images and renders
│   ├── 🖼️ VERA-MODULE-RBL-TOP.png
│   ├── 🖼️ VERA-MODULE-RBL-BOTTOM.png
│   ├── 🖼️ F.Cu-L1.png            # PCB layer images
│   ├── 🖼️ POWER-L2.png
│   ├── 🖼️ GND-L3.png
│   └── 🖼️ B.Cu-L4.png
├── 📁 production/                  # Manufacturing files
│   ├── 📄 *.gbl, *.gtl            # Gerber files
│   ├── 📄 *.drl                   # Drill files
│   └── 📄 *.gbrjob                # Job files
├── 📁 ibom/                       # Interactive BOM
│   └── 🌐 ibom.html

Hardware notes (read before bring-up)

  • VERA-ATARI-HW-REQUIREMENTS.md — what the VERA FPGA requires from the bus, open points on this board (U19 output enable, WR hold time, push-pull IRQ), the gating logic for the data-bus transceiver output enable, reset/configuration sequence and the bring-up test plan.

Design Files

KiCad Files
  • Schematic: Multi-sheet hierarchical design
  • PCB Layout: 4-layer board with controlled impedance
  • 3D Models: Custom component models
  • Footprints: Custom connector footprints
Manufacturing Files
  • Gerber Files: Industry-standard PCB fabrication
  • Drill Files: NC drill and via specifications
  • Pick & Place: SMT assembly coordinates
  • BOM: Component specifications with LCSC part numbers

🤝 Contributing

Development Guidelines

Contributing Process
  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request
Contribution Areas
  • Hardware Design: PCB layout improvements
  • Firmware: ESP32 and FPGA code
  • Documentation: User guides and tutorials
  • Testing: Validation and verification
  • Software: Host applications and tools
Design Goals
  • Compatibility: Maintain ATARI XE compatibility
  • Performance: Optimize for speed and efficiency
  • Reliability: Ensure robust operation
  • Manufacturability: Design for production
  • Cost: Balance features with affordability

📄 License

This project is licensed under the GNU General Public License v3.0.

License Details

Permissions
  • ✅ Commercial use
  • ✅ Modification
  • ✅ Distribution
  • ✅ Patent use
  • ✅ Private use
Limitations
  • ❌ Liability
  • ❌ Warranty
Conditions
  • 📄 License and copyright notice
  • 📄 State changes
  • 📄 Disclose source
  • 📄 Same license

For the complete license text, see the LICENSE file.


💙 Support the Project

If you find this project useful, please consider:

🌟 Starring the repository
🐛 Reporting issues
🔧 Contributing improvements
📢 Sharing with the community


Made with ❤️ by RetroBit Lab

Bringing modern capabilities to classic computers


VERA Module RBL-XE (Italiano)

🌐 English | 🌐 Italiano

[!WARNING] LAVORO IN CORSO — NON FUNZIONANTE. Il progetto è in fase di sviluppo e non funziona ancora. La scheda non è stata realizzata né provata; firmware (ESP32, FPGA) e documentazione sono stati verificati solo in simulazione o sulla carta e possono contenere errori. Non produrre il PCB e non fare affidamento su questo progetto.



🔍 Panoramica

Il VERA Module RBL-XE è una sofisticata scheda di espansione audio e video basata su FPGA, progettata specificamente per i computer ATARI XE. Questo modulo porta capacità grafiche e audio moderne ai sistemi ATARI classici attraverso i connettori cartuccia ed ECI per il supporto del protocollo PBI (Parallel Bus Interface).

Cos'è VERA?

VERA (Video Enhanced Retro Adapter) è originariamente progettato per il computer Commander X16 ma è stato adattato per i sistemi ATARI. Fornisce:

  • Grafica Avanzata: Livelli video multipli, sprite e modalità ad alta risoluzione
  • Audio Migliorato: Audio digitale multicanale con capacità PCM e PSG
  • Connettività Moderna: Uscita VGA, storage su scheda SD e programmazione USB
  • Compatibilità Retro: Integrazione con il software ATARI classico tramite semplici drivers

✨ Caratteristiche

🎨 Capacità Grafiche

Uscita Video
  • Uscita VGA: 640x480 @ 60Hz con segnali RGB analogici
  • Livelli Multipli: Livelli di sfondo, primo piano e sprite
  • Profondità Colore: 256 colori da una palette di 4096
  • Sprite: Motore sprite accelerato hardware
  • Scrolling: Scorrimento orizzontale e verticale fluido
Caratteristiche Audio
  • Audio Digitale: Uscita audio PCM di alta qualità
  • Multicanale: Audio stereo
  • Codec Audio: WM8524 per qualità audio professionale
  • Jack 3.5mm: Connettore uscita audio standard

🔗 Integrazione Sistema

Compatibilità ATARI
  • Interfaccia PBI: Connessione diretta ai sistemi ATARI XE/XL
  • Mappatura Memoria: Spazio indirizzi $D1XX-$DFXX
  • Decodificatore Bus: Decodifica software completa degli indirizzi nell'ESP32 — A0–A15 campionati ad ogni ciclo PHI2, nessun hardware decoder esterno richiesto
  • Gestione Alimentazione: Conversione efficiente da 5V a 3.3V/1.2V
Storage e Programmazione
  • Slot Scheda SD: Micro SD per storage dati e caricamento ROM
  • Flash SPI: 16Mbit W25Q16 per configurazione FPGA
  • Programmazione USB: CH340 USB-to-serial per aggiornamenti facili
  • SPI: Interfaccia programmazione FPGA diretta

⚙️ Specifiche Tecniche

Specifiche Principali

ComponenteSpecifica
FPGALattice ICE40UP5K-SG48ITR
MicrocontrolloreESP32-S3FN8
Memoria FlashW25Q16JVSNIQ (16Mbit)
Codec AudioWM8524CGEDT
Interfaccia USBCH340T
Regolatori AlimentazioneAMS1117-3.3V, AMS1117-1.2V, L7805
Cristallo (scheda VERA)25 MHz ECS-2033-250-BN (clock di riferimento ICE40UP5K)
Cristallo (ESP32-S3)40 MHz esterno — obbligatorio; XTAL_P (QFN56 pin 54) / XTAL_N (pin 53)
Layer PCB4 layer (Segnale/Alimentazione/GND/Segnale)
Dimensioni SchedaTBD mm x TBD mm

Caratteristiche Elettriche

ParametroMinTipMaxUnità
Tensione Alimentazione4.55.05.5V
Consumo Corrente-8001200mA
Temperatura Operativa-102570°C
Impedenza Uscita VGA-75-Ω
Livello Uscita Audio-2.0-Vrms

🔧 Componenti Hardware

Unità di Elaborazione Principali

FPGA - ICE40UP5K
  • Elementi Logici: 5,280 LUT
  • Memoria: 120 Kbit BRAM, 1 Mbit SPRAM
  • Pin I/O: 39 I/O utente
  • Package: QFN-48 (7x7mm)
  • Programmazione: Configurazione SPI
ESP32-S3FN8
  • CPU: Dual-core Xtensa LX7 @ 240 MHz
  • Memoria: 8 MB flash Quad SPI integrata, 512 KB SRAM
  • Connettività: Wi-Fi 802.11 b/g/n, Bluetooth 5 LE
  • GPIO: 45 totali (38 usabili), tutti bidirezionali
  • Package: QFN-56 (7×7 mm)
  • Quarzo: richiede un quarzo esterno 40 MHz sui pin analogici dedicati XTAL_P (QFN56 pin 54) e XTAL_N (pin 53) — obbligatorio per il PLL di avvio; vedere PIN-MAPPING.md § 5
  • Ruolo: Controllore bus 6502 completamente software — campiona A0–A15, PHI2, R/W ad ogni ciclo e pilota EXTSEL_N, DEV_SEL_N, MPD tramite istruzioni Dedicated GPIO Xtensa TIE (1 ciclo CPU) nella finestra PHI2-high di 279 ns; gestisce PBI ($D1xx) e CCTL ($D5xx) con un unico firmware unificato

Componenti Interfaccia

Sistema Audio
  • Codec: WM8524CGEDT (24-bit, 192kHz)
  • Interfaccia: Audio digitale dalla FPGA con bus dedicato
  • Uscita: Jack stereo 3.5mm
  • SNR: >100dB
Sistema Video
  • Uscita: Connettore VGA 15-pin
  • Risoluzione: 640x480 @ 60Hz
  • Colori: RGB 8-bit (256 colori)
  • Sync: Segnali H/V sync separati

🖼️ Anteprima Scheda

Rendering 3D

Vista Superiore

VERA Module Top Lato superiore mostrando componenti principali e connettori

Vista Inferiore

VERA Module Bottom Lato inferiore con componenti aggiuntivi

Adattatore Cartuccia

VERA Cartridge Adapter Adattatore interfaccia cartuccia opzionale

Dimensioni Scheda

  • Lunghezza: TBD mm
  • Larghezza: TBD mm
  • Spessore: 1.6mm (PCB 4-layer)
  • Montaggio: Compatibile con slot ATARI XE CART + ECI
  • Connettori: Piatti per efficienza spazio. Necessita di case stampato in 3D

📐 Layer PCB

Stack-up Layer

Layer 1 - Rame Superiore (F.Cu)

Top Copper Layer Posizionamento componenti e routing segnali

Layer 2 - Piano Alimentazione (POWER)

Power Layer Distribuzione alimentazione 5V, 3.3V e 1.2V

Layer 3 - Piano Massa (GND)

Ground Layer Piano massa solido per integrità segnale

Layer 4 - Rame Inferiore (B.Cu)

Bottom Copper Layer Routing segnali aggiuntivo e componenti


🔌 Connettori e Interfacce

Connessioni Esterne

Interfaccia ATARI
  • Connettore PBI: Connettore edge 50-pin
  • Slot ECI: Enhanced Cartridge Interface
  • Range Indirizzi: $D1XX-$DFXX
  • Segnali: Bus dati, bus indirizzi, segnali controllo
Uscita Video (J2)
PinSegnaleDescrizione
1-3RGBSegnali analogici Rosso, Verde, Blu
13-14H/V SyncSync orizzontale/verticale
6-10GNDConnessioni massa
11-12Audio L/RUscita audio stereo
Interfacce Storage
  • Slot Scheda SD (J3): Interfaccia scheda Micro SD
  • Flash SPI: Storage on-board 16Mbit
  • Porta USB (J4): Programmazione e trasferimento dati

Interfacce Programmazione

Connettore ICEPROG (J6)
PinSegnaleFunzione
15VAlimentazione
2FPGA_CDONE/PULL-UPFPGA Programmata
3FPGA_RESETFPGA Reset
4MISODati SPI in ingresso
5MOSIDati SPI in uscita
6SCKClock SPI
7SSSelezione SPI
8GNDGround
Reset e Controllo
  • Pulsante Reset (SW1): Reset sistema ESP32
  • DIP Switch (SW2): Opzioni configurazione
  • LED di Stato: Indicatori alimentazione, programmazione, attività

⚡ Requisiti di Alimentazione

Distribuzione Alimentazione

Rail Alimentazione
RailTensioneCorrenteComponenti
5V5.0V ± 5%200mAIngresso da ATARI, USB
3.3V3.3V ± 3%400mAESP32, logica, interfacce
1.2V1.2V ± 3%300mATensione core FPGA
Sorgenti Alimentazione
  1. PBI ATARI: Alimentazione 5V primaria dal computer
  2. USB: 5V alternativo per programmazione/test
  3. Esterno: Alimentazione 5V esterna opzionale (J5)
Protezione Alimentazione
  • Diodi Schottky: Protezione polarità inversa
  • Perle di Ferrite: Filtraggio EMI
  • Disaccoppiamento: Rete estesa di condensatori
  • Limitazione Corrente: Protezione sovracorrente

🔨 Istruzioni di Assemblaggio

Assemblaggio Componenti

Ordine Assemblaggio
  1. Componenti SMD: Iniziare con componenti più piccoli (0603, 0805)
  2. IC: Posizionare tutti i circuiti integrati
  3. Connettori: Installare tutti i connettori esterni
  4. Through-hole: Aggiungere eventuali componenti THT rimanenti
  5. Test: Verificare rail alimentazione prima della prima accensione
Considerazioni Speciali
  • FPGA: Usare precauzioni ESD appropriate
  • Componenti BGA: Richiede assemblaggio professionale
  • Gestione Termica: Assicurare raffreddamento adeguato
  • Controllo Impedenza: Mantenere 50Ω per segnali alta velocità

Test e Validazione

Test Accensione
  1. Ispezione Visiva: Controllare cortocircuiti, orientamento corretto
  2. Rail Alimentazione: Verificare tutte le tensioni entro tolleranza
  3. Segnali Clock: Confermare funzionamento oscillatore
  4. Comunicazione: Testare interfacce SPI, I2C, UART
Test Funzionali
  1. Programmazione FPGA: Caricare bitstream di test
  2. Uscita Video: Verificare generazione segnale VGA
  3. Uscita Audio: Testare funzionalità codec audio
  4. Interfaccia ATARI: Confermare comunicazione con protocollo PBI

📦 Distinta Materiali

Categorie Componenti

Componenti Principali
  • 1x ICE40UP5K-SG48ITR FPGA
  • 1x ESP32-S3FN8 Microcontrollore
  • 1x W25Q16JVSNIQ Flash SPI
  • 1x WM8524CGEDT Codec Audio
  • 1x CH340T Interfaccia USB
Componenti Passivi
  • 23x Condensatori 1µF (1206)
  • 20x Condensatori 100nF (1206)
  • 6x Condensatori 10µF (1206)
  • Vari Resistori (0805/1206)
  • 1x Oscillatore Cristallo 25 MHz (scheda VERA — clock di riferimento ICE40UP5K)
  • 1x Quarzo 40 MHz + 2×10 pF condensatori di carico (ESP32-S3 — obbligatorio)
Connettori
  • 1x Connettore VGA 15-pin
  • 1x Slot Scheda Micro SD
  • 1x Connettore USB Type-C
  • 1x Jack Audio 3.5mm
  • 1x Header Programmazione 8-pin

Analisi Costi

CategoriaCosto StimatoPercentuale
FPGA$15-2035%
ESP32$8-1220%
Connettori$5-815%
Passivi$3-510%
PCB$8-1220%
Totale$39-57100%

I costi sono stime per produzione piccole quantità


💻 Programmazione e Configurazione

Programmazione FPGA

Metodi Programmazione
  1. USB/Seriale: Usando interfaccia FTDI 232H per SPI USB con iceprog
  2. SPI Diretto: Programmazione flash SPI diretta
Passi Programmazione
bash
# Installare toolchain icestorm
sudo apt install fpga-icestorm

# Programmare FPGA via USB (Il bitstream FPGA non e' fornito!)
iceprog vera_module.bin

# Verificare programmazione
iceprog -c
Strumenti Sviluppo
  • IceStorm: Toolchain FPGA open-source
  • Yosys: Sintesi Verilog
  • NextPNR: Place and route
  • KiCad: Design e layout PCB

Configurazione ESP32

Firmware ESP32

L'ESP32-S3FN8 (hot loop sul Core 0, log seriale sul Core 1) gestisce:

  • Sincronizzazione startup: ARESET e CRESET abbassati subito in setup() (prima di Serial.begin). MonitorTask rilascia CRESET, attende CDONE = HIGH (bitstream ICE40UP5K caricato, tipicamente < 100 ms, timeout 5 s), poi rilascia ARESET — l'Atari parte con bus e FPGA già operativi
  • Decodifica Bus: Decodifica software completa di A0–A15 campionati ad ogni fronte di salita di PHI2 — nessuna ambiguità di pagina, nessun hardware decoder esterno
  • Dedicated GPIO: I segnali di controllo (EXTSEL_N, DEV_SEL_N, MPD) vengono affermati in una singola istruzione Xtensa TIE (ee.wr_mask_gpio_out, 1 ciclo CPU) nella finestra PHI2-high di 279 ns
  • Bus Dati (solo modalità PBI): D0–D7 pilotati via GPIO.out per letture ROM ($D800–$DFFF) e RAM ($D600–$D7FF); in modalità CCTL è la FPGA a guidare il bus
  • Debug: UART0 su GPIO43 (TX) / GPIO44 (RX), 115200 baud

La modalità operativa è scelta a tempo di compilazione tramite VERA_BOARD_IS_PBI in main.cpp:

VERA_BOARD_IS_PBIModalitàRange attiviLatch selezione
1 (default)PBI$D100–$D1FF, $D600–$D7FF, $D800–$DFFFwrite 0x80 su $D1FF
0CCTL$D500–$D5FFwrite 0x80 su $D5FF

L'emulatore RAMbo 256 KB è sempre compilato nel firmware e abilitato a runtime tramite GPIO 3 (PIN_RAMBO_EN, QFN56 pin 8) — nessuna ricompilazione necessaria:

GPIO 3 al bootEffetto
Pull-up 10 kΩ → VCC (HIGH)RAMbo abilitato — 256 KB bank-switched a $4000–$7FFF; bit 4 di PORTB ($D301) seleziona attivo/inattivo
Pull-down 10 kΩ → GND (LOW)RAMbo disabilitato — $4000–$7FFF non intercettato

Funziona in entrambe le modalità PBI e CCTL. Il hot loop snoopa sia PBCTL ($D303) sia PORTB ($D301): le write a $D301 aggiornano il registro di selezione banco solo se PBCTL bit 2 = 1 (Output Register selezionato). Quando bit 2 = 0, $D301 indirizza il DDR della PIA 6520 e la write viene ignorata. PORTB si inizializza a 0xFF (RAME = 1, RAMbo inattivo); PBCTL a 0x00 (bit 2 = 0, DDR esposto).

Snooping passivo vs. pilotaggio attivo — nessun conflitto col 6520 fisico. Il chip 6520 PIA rimane pienamente attivo sulla scheda madre dell'Atari e risponde a $D301/$D303 normalmente. L'ESP32 non sostituisce il 6520: osserva passivamente quei cicli bus senza mai pilotare il bus dati per quegli indirizzi. Pilota attivamente D0–D7 e asserisce EXTSEL_N solo per la finestra $4000–$7FFF, dove il 6520 non è mappato. Il tracciamento di PBCTL è necessario proprio perché lo snooping è passivo: dal bus, una write al DDR e una write all'Output Register su $D301 sono indistinguibili — lo stato di PBCTL è l'unico modo per differenziarle.

Programmazione ESP32

Il firmware viene compilato con PlatformIO (installare con pip install platformio):

bash
# Compila firmware (modificare VERA_BOARD_IS_PBI in main.cpp prima di compilare)
pio run -e esp32s3fn8

# Carica firmware — adattatore UART su GPIO43/44
pio run -e esp32s3fn8 --target upload

Nota: USB CDC è disabilitato perché GPIO 19 (USB D−) e GPIO 20 (USB D+) sono riutilizzati come linee indirizzo A7 e A8. Usare un adattatore UART esterno su GPIO 43/44.


📁 Struttura Progetto

Il workflow di progetto, dallo schematico all'ordine JLCPCB (disponibilità dei componenti, aggiornamento della libreria, ERC, netlist, PCB e netclass, DRC, output_job.sh, file da consegnare), è descritto in WORKFLOW.md (anche in PDF).

Organizzazione Repository

text
Vera-Module-RBL-XE/
├── 📄 README.md                    # Questa documentazione
├── 📄 WORKFLOW.md                  # Workflow di progetto, dallo schema all'ordine JLCPCB
├── 📄 LICENSE                      # Licenza GPL v3
├── ⚙️ VERA-MODULE-RBL.pro         # File progetto KiCad
├── 📄 VERA-MODULE-RBL.sch         # Schema principale
├── 🔧 VERA-MODULE-RBL.kicad_pcb   # Layout PCB
├── 📄 VERA-MODULE-RBL.csv         # Distinta materiali
├── 🐍 jlcpcb-check-bom.py        # Script elaborazione BOM
├── 📁 images/                      # Immagini scheda e render
│   ├── 🖼️ VERA-MODULE-RBL-TOP.png
│   ├── 🖼️ VERA-MODULE-RBL-BOTTOM.png
│   ├── 🖼️ F.Cu-L1.png            # Immagini layer PCB
│   ├── 🖼️ POWER-L2.png
│   ├── 🖼️ GND-L3.png
│   └── 🖼️ B.Cu-L4.png
├── 📁 production/                  # File produzione
│   ├── 📄 *.gbl, *.gtl            # File Gerber
│   ├── 📄 *.drl                   # File drill
│   └── 📄 *.gbrjob                # File job
├── 📁 ibom/                       # BOM interattiva
│   └── 🌐 ibom.html
└── 📁 schematics/                 # Schemi individuali
    ├── 📄 vera-fpga.sch           # Modulo FPGA

File Design

File KiCad
  • Schema: Design gerarchico multi-foglio
  • Layout PCB: Scheda 4-layer con impedenza controllata
  • Modelli 3D: Modelli componenti personalizzati
  • Footprint: Footprint connettori personalizzati
File Produzione
  • File Gerber: Fabbricazione PCB standard industria
  • File Drill: Specifiche drill NC e via
  • Pick & Place: Coordinate assemblaggio SMT
  • BOM: Specifiche componenti con codici LCSC

🤝 Contribuire

Linee Guida Sviluppo

Processo Contribuzione
  1. Fork del repository
  2. Creare un branch feature
  3. Apportare le modifiche
  4. Testare accuratamente
  5. Inviare una pull request
Aree Contribuzione
  • Design Hardware: Miglioramenti layout PCB
  • Firmware: Codice ESP32 e FPGA
  • Documentazione: Guide utente e tutorial
  • Test: Validazione e verifica
  • Software: Applicazioni host e strumenti
Obiettivi Design
  • Compatibilità: Mantenere compatibilità ATARI XE/XL
  • Performance: Ottimizzare per velocità ed efficienza
  • Affidabilità: Assicurare funzionamento robusto
  • Producibilità: Design per produzione
  • Costo: Bilanciare caratteristiche con convenienza

📄 Licenza

Questo progetto è licenziato sotto la GNU General Public License v3.0.

Dettagli Licenza

Permessi
  • ✅ Uso commerciale
  • ✅ Modifica
  • ✅ Distribuzione
  • ✅ Uso brevetti
  • ✅ Uso privato
Limitazioni
  • ❌ Responsabilità
  • ❌ Garanzia
Condizioni
  • 📄 Avviso licenza e copyright
  • 📄 Dichiarare modifiche
  • 📄 Rivelare sorgente
  • 📄 Stessa licenza

Per il testo completo della licenza, vedere il file LICENSE.


💙 Supporta il Progetto

Se trovi utile questo progetto, considera di:

🌟 Mettere una stella al repository
🐛 Segnalare problemi
🔧 Contribuire miglioramenti
📢 Condividere con la community


Realizzato con ❤️ da RetroBit Lab

Portando capacità moderne ai computer classici

Parts

219
QtyValueFootprintReferences
35100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2, C10, C11, C12, C14, C16, C18, C20, C22, C23, C27, C28, C29, C38, C40 +19
151uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C4, C5, C6, C7, C8, C25, C30, C31, C32, C33, C43, C59, C60, C66
1310KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR5, R7, R34, R36, R47, R48, R53, R62, R63, R65, R69, R70, R71
10CREZ08051%Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR35, R56, R64, R66, R72, R73, R74, R75, R76, R77
847KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR37, R38, R39, R40, R41, R42, R43, R44
7TestPointTestPoint:TestPoint_Pad_D2.0mm~HALT1, ~mREF1, ~mS4, ~mS5, mD1XX1, RD4, RD5
610uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC13, C15, C17, C19, C21, C24
574LVC4245APW_118RetroBitLab:IC_74LVC4245_SOP65P640X110-24NU3, U4, U6, U16, U19
44K7Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR31, R33, R59, R60
4510RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR23, R25, R27, R57
4560RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR45, R46, R67, R68
4FiducialFiducial:Fiducial_0.5mm_Mask1mmFID1, FID2, FID3, FID4
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
310uF-20VCapacitor_Tantalum_SMD:CP_EIA-3528-12_Kemet-T_Pad1.50x2.35mm_HandSolderC45, C48, C51
3150RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR12, R14, R16
3160RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR18, R20, R22
327RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR24, R26, R28
32KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR11, R13, R15
34.7uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC26, C34, C35
34K3Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR8, R9, R10
3910RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR17, R19, R21
3REDLED_SMD:LED_1206_3216Metric_Pad1.42x1.75mm_HandSolderLD1, LD3, LD5
21KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2, R6
220pFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC39, C41
227pFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC64, C65
22K2Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR52, R55
2330RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR32, R61
250RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R4
25K1Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR50, R51
2820RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR29, R30
2BC817,SOT-23Package_TO_SOT_SMD:SOT-23Q3, Q4
2DIOSCH20VDiode_SMD:D_SMC_HandsolderingD3, D4
2GREENLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderLD2, LD4
2MAX40200AUKPackage_TO_SOT_SMD:SOT-23-5U17, U18
2SN74LVC00Package_SO:TSSOP-14_4.4x5mm_P0.65mmU24, U25
2SPST2PRetroBitLab:SPST-7.3x3.9x2.5-WUERTH-434121025816SW1, SW3
2SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1, JP3
110uF-35VCapacitor_Tantalum_SMD:CP_EIA-3528-12_Kemet-T_Pad1.50x2.35mm_HandSolderC47
112MHzCCrystal:Crystal_SMD_EuroQuartz_MT-4Pin_3.2x2.5mmY1
12.2uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC36
1220RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR54
122uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC37
12K7Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1
1330RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR58
140.000MhzCrystal:Crystal_SMD_2520-4Pin_2.5x2.0mmY2
174CBTLV3126PW,118Package_SO:TSSOP-14_4.4x5mm_P0.65mmU8
1AMS1117-1.2Package_TO_SOT_SMD:SOT-223-3_TabPin2U14
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U13
1ATARI DUO BUSRetroBitLab:DUOCart_20x11_RevLOGO4
1ATARI READYRetroBitLab:atari_ready_8mm_revLOGO2
1ATARI-CARTRIDGERetroBitLab:ATARI-LEFT-CARTRIDGECART1
1CD4011BPackage_SO:SOIC-14_3.9x8.7mm_P1.27mmU9
1CONN_DM3AT-SF-PEJM5RetroBitLab:HRS_DM3AT-SF-PEJM5J3
1CONN_SMD_01x08_Staggered_2.54mmConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical_SMD_Pin1RightJ6
1CONN_SMD_HEADER_BOX_02x08_HX-JN2.54RetroBitLab:IDC-Header_2x08_P2.54mm_Vertical_SMDJ1
1DNPResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR49
1DS1038-15FBNSiA74-0CCRetroBitLab:CONNFLY_DS1038-15FBNSIA74-0CCJ2
1DX07S016JA1R1500RetroBitLab:JAE_DX07S016JA1R1500J4
1ECIBUSRetroBitLab:ATARI-XE-ECI-SLOTECI1
1ESP32-S3FN8RetroBitLab:IC_ESP32-S3FN8-QFN40P700X700X90-57NU7
1ESP32_BOBOARDRetroBitLab:ESP32_BOBOARD_5V_21.7mmx21.7mmLOGO5
1FB0805100R100MHZ4AInductor_SMD:L_0805_2012Metric_Pad1.15x1.40mm_HandSolderL1
1IC74HC00Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU5
1ICE40UP5K-SG48ITRRetroBitLab:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mmU2
1IND0603600R100MHZ300mAInductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderL2
1Jumper_2_OpenConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP2
1KiCAD DESIGNSymbol:KiCad-Logo2_6mm_SilkScreenLOGO3
1L7805Package_TO_SOT_SMD:TO-252-2U15
1Label-20mmx10mmRetroBitLab:Label-20mmx10mm-SilkscreenLBL1
1MOSFET-BSS138-SOT-23Package_TO_SOT_SMD:SOT-23Q1
1OT3EL89CJI-111YLC-25MRetroBitLab:OSC_ECS-2033-250-BNX1
1PJ-002AH-SMT-TRRetroBitLab:CUI_PJ-002AH-SMT-TRJ5
1PJ-313DRetroBitLab:jack_3.5_pj313d-smtJ7
1SN74HCT04DRPackage_SO:SOIC-14_3.9x8.7mm_P1.27mmU23
1SN74LVC1G07DBVRPackage_TO_SOT_SMD:SOT-23-5U26
1TP5VTestPoint:TestPoint_Pad_D2.0mmTP1
1USBCH340TRetroBitLab:SSOP-20_5.3x7.2mm_P0.65mm_Pad0.45U12
1VERA X16 LOGORetroBitLab:x16logoLOGO1
1W25Q16JVSNIQPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU10
1WM8524CGEDTPackage_SO:TSSOP-16_4.4x5mm_P0.65mmU11

Similar boards

  • 2 layers96.5 × 55 mmVera module rev2, the printed circuit board in 3D

    Vera module rev2

    fvdhoef/vera-module

    Versatile Embedded Retro Adapter

    120 parts138MIT
  • 2 layers96.5 × 55 mmVera full audiojack, the printed circuit board in 3D

    Vera full audiojack

    ifilot/open-vera-module

    VERA (Versatile Embedded Retro Adapter) is a self-contained FPGA video and audio module for retro-computing projects.

    105 partsMIT
  • 2 layers100 × 100 mmOpenX65-vabo, the printed circuit board in 3D

    OpenX65-vabo

    Maverick-Shark/X65_BigMiST

    The X65 is an ultimate computer for everyone interested in the venerable 65-series of 8-bit and 16-bit CPUs, i.e. the 6502 and 65816.

    235 partsMIT
  • 4 layers26.6 × 84.3 mmJbVeraHDMI, the printed circuit board in 3D

    JbVeraHDMI

    jbaum81/JBX16

    A commander X16 compatible, and more.

    70 parts
  • 4 layers60 × 73.5 mmAnthracite bottom, the printed circuit board in 3D

    Anthracite bottom

    trope-oshw/anthracite

    MIDI-controllable fuzz pedal: open hardware (CERN-OHL-S-2.0), firmware (GPL-3.0-or-later)

    224 parts5CERN-OHL-S-2.0
  • 2 layers98 × 77.2 mmPiCoCo, the printed circuit board in 3D

    PiCoCo

    cognitivegears/PiCoCo

    CoCo cartridge interface with the Pi Pico

    65 parts4
  • 2 layers194.1 × 141.7 mmZenith pcba, the printed circuit board in 3D

    Zenith pcba

    kostareg/zenith

    Zenith is a 64-bit CPU and tensor accelerator.

    63 parts

Questions

How big is the VERA MODULE RBL PCB?

It measures 143 × 162.5 mm and has 4 copper layers, 1.6 mm thick.

What parts does the VERA MODULE RBL use?

219 parts, built around the ESP32-S3FN8, ICE40UP5K-SG48ITR50, W25Q16JVSNIQ and WM8524CGEDT. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the VERA MODULE RBL KiCad files?

From the gianlucarenzi/Vera-Module-RBL-XE repository on GitHub, at the commit this page was made from: the board is VERA-MODULE-RBL.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the VERA MODULE RBL design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).