Skip to the content
PCBKitNew board
2 layers155 × 55 mmPortatil, the printed circuit board in 3D

A "made-real" fantasy retro gaming console.

Size
155 × 55 mm
Copper layers
2
Thickness
1.62 mm
Parts
19
Nets
45
Pads
109
Tracks, vias
240, 38
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
8 May 2025
Updated
29 May 2025

Overview

Portatil is an open-source printed circuit board by patrickMelo, from the patrickMelo/portatil repository on GitHub, published under the MIT licence. It is a 2-layer board of 155 × 55 mm with 19 parts on 45 nets, routed with 240 tracks and 38 vias.

It is built around the PAM8403 and TP4056. Its parts include 9 switches, 4 ICs, 3 resistors, 2 connectors and 1 diode. It belongs with the retro computing and games boards and the RP2040 boards of this library.

Main components

2

README

README.md

Portatil

A "made-real" fantasy retro gaming console.

Portatil Portatil Portatil

Portatil is a virtual machine based gaming console that runs RISC-V applications with custom system calls.

Runtimes can be easily ported to new targets by implementing specific drivers as kernel and engine code are target agnostic. Currently there are runtimes for Linux/SDL (mainly for development) and RaspiberryPi Pico (using RP2040 Zero from Waveshare).

Virtual Machine Specifications

  • CPU: RV32I instruction set (with custom fixed point math library).
  • Memory: 32KB of RAM.
  • Input: 8 digital inputs (left, right, up, down, a, b, x, y).
  • Graphics: 160x120, 256 color framebuffer.
  • Sound: 4 channel, 22KHz, 8-bit wave generator (sawtooth, square and triangle waves).
  • 2D Engine: 4 layers, 256 sprites total, 128 entities on screen, basic physics simulation.
  • Storage: FAT-32 formatted SD cards (read-only).

Directory Structure

sh
-- 3D Parts/    # 3D printable console shell
---- STL/       # exported parts for printing
-- Docs/        # hardware and software reference
-- Hardware/    # schematics and PCB design
-- Software/    # runtime and tools
---- Apps/      # demo application
---- Assets/    # runtime assets
---- Runtime/   # runtime code
------ Drivers/ # target specific code/drivers
------ States/  # high-level runtime code
---- SDK/       # C SDK
---- Targets/   # runtime targets
---- Tools/     # development tools
---- Utils/     # utilities

TODO

There is still a lot of things to be done:

  • Add actually usefull documentation to this repository;
  • Create boilerplate code for new games;
  • Write a tutorial on how to create your first game;
  • Implement a Windows/SDL runtime;
  • Add support for Windows based toolchains (to be able to compile games in Windows);
  • Implement FAT-32 writing support;
  • Add support for game saving;
  • Add support for game thumbnails;

Parts

19
QtyValueFootprintReferences
210KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2, R3
11N5820Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1
122KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
1B102 1K VolumePotPortatil:Thumbwheel PotentiometerJ1
1BatteryConnectorConnector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ2
1ILI9341Portatil:ILI9341 ModuleU4
1PAM8403Portatil:PAM8403 ModuleU2
1PowerSwitchButton_Switch_THT:SW_CK_JS202011CQN_DPDT_StraightSW9
1PushAButton_Switch_THT:SW_PUSH_6mmSW5
1PushBButton_Switch_THT:SW_PUSH_6mmSW6
1PushDownButton_Switch_THT:SW_PUSH_6mmSW2
1PushLeftButton_Switch_THT:SW_PUSH_6mmSW3
1PushRightButton_Switch_THT:SW_PUSH_6mmSW4
1PushUpButton_Switch_THT:SW_PUSH_6mmSW1
1PushXButton_Switch_THT:SW_PUSH_6mmSW7
1PushYButton_Switch_THT:SW_PUSH_6mmSW8
1RP2040 ZeroPortatil:RP2040 ZeroU3
1TP4056Portatil:TP4056 ModuleU1

Questions

How big is the Portatil PCB?

It measures 155 × 55 mm and has 2 copper layers, 1.62 mm thick.

What parts does the Portatil use?

19 parts, built around the PAM8403 and TP4056. 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 Portatil KiCad files?

From the patrickMelo/portatil repository on GitHub, at the commit this page was made from: the board is Hardware/Portatil.kicad_pcb and its schematic Hardware/Portatil.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Portatil design in my own project?

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

Similar boards

  • 2 layers80 × 58 mmRadio 2, the printed circuit board in 3D

    Radio 2

    Shya-Bubu/pocket-fm-radio

    This repository contains the complete design and documentation for an FM Pocket Radio project, developed as part of the EE2050 Design Principles and Manufacturing Technologies module at the University of Peradeniya…

    58 parts
  • 2 layers57 × 97 mmMainCollar, the printed circuit board in 3D

    MainCollar

    plyalex/OpenFence

    OpenFence is an open source GPS based digital livestock fencing system and web interface, aiming to reduce barriers of using cell grazing.

    78 parts28GPL-3.0
  • 2 layers92.5 × 82.8 mmRifle and sensors, the printed circuit board in 3D

    Rifle and sensors

    DAlexis/caustic-lasertag-system

    Caustic project is a full-featured indoor and outdoor lasertag system

    268 parts16
  • 2 layers95.5 × 104.6 mmFmRadio, the printed circuit board in 3D

    FmRadio

    TeknoTrek/Arduino-Nano-FM-Radio-Si4703

    Part of the Teknotrek YouTube channel, this repository includes KiCad files for an FM Radio project using Arduino Nano, Si4703, and other components.

    16 parts7
  • 2 layers68.3 × 31.5 mmModuleo pam8403, the printed circuit board in 3D

    Moduleo pam8403

    johnnycubides/pam8403-module-kicad-lib

    Library kicad for pam8403 module

    5 parts3
  • 2 layers137.5 × 51 mmLark, the printed circuit board in 3D

    Lark

    tmshlvck/lark-hw

    Lark PCB

    112 parts3GPL-3.0
  • 2 layers85 × 52 mmIntercom, the printed circuit board in 3D

    Intercom

    aluisioalves123/rf-intercom

    Interfone de apertar para falar, sem fio: as duas unidades conversam por rádio (nRF24L01+ com antena) e só precisam de uma tomada.

    32 parts2
  • 2 layers96.5 × 105.4 mmMini Record Player Clock, the printed circuit board in 3D

    Mini Record Player Clock

    anadskman/Mini-Record-Player-Clock

    A compact desktop Bluetooth speaker and clock inspired by a vintage record player. The aim of this project is to combine a functional Bluetooth speaker and Wi-Fi clock into a clean, fully 3D printed desktop display.

    38 parts1