Skip to the content
2 layers74.9 × 89.2 mmPictas, the printed circuit board in 3D

Low-cost replay device for playing back Tool Assisted Speedruns on real hardware

Size
74.9 × 89.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
37
Nets
83
Pads
218
Tracks, vias
482, 24
Pours
1
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
11 Dec 2020
Updated
9 Jun 2022

Overview

Pictas is an open-source printed circuit board by bigbass1997, from the bigbass1997/PICTAS repository on GitHub. It is a 2-layer board of 74.9 × 89.2 mm with 37 parts on 83 nets, routed with 482 tracks and 24 vias.

It is built around the PIC18F27K42-I/SS, PIC18LF47K42-I/P and LM1881, with the MCP2221A-I/P, W25Q128JVSIQ and BC546 among its other parts. Its parts include 15 connectors, 7 capacitors, 5 ICs, 4 resistors and 2 transistors. It belongs with the PIC boards of this library.

Main components

7

README

README.md

CERN License

Description

The PICTAS is an input device used to replay Tool-Assisted-Speedruns (aka Tool-Assisted-Superruns) on physical hardware.

A PIC18F47K42 microcontroller is used for the replay portion of the device, and the smaller PIC18F27K42 is used for controlling the input displays.

Unlike a typical TAS replay device, this one stores the TAS inputs on-board, using serial flash memory (W25Q128JVSIQ), capable of storing 16 MB of input data. The advantage is that USB communication is not required during replay. It simplifies the replay process, and greatly reduces the chance of corrupted inputs. Additionally, once programmed, the device can be used without a USB host computer (WIP feature).

This project is still a prototype under heavy development. While I will offer help and support as best I can, please understand that significant code and design changes can occur at any time.

Usage

The general process looks like this: Load movie into a host interface. Program the movie's inputs and config options onto the PICTAS device. Finally, use one of the available start methods to begin the playback.

Refer to the PICTAS-Interface project for details on how to use that software. Anyone is free to make their own interface software. There will be docs provided here once the communication protocol has stablized. The PICTAS communicates over USB at a 500,000 baud rate. Single byte commands are initiated from the interface. The PICTAS will respond with one or more bytes.

Because the input data is saved onto the device, you will not need to reprogram it again unless you wish to change the TAS inputs or other configuration data.

Flash Memory Map

text
0x000000 - 0xFFEFFF | Sequential controller inputs
0xFFF000 - 0xFFF0FF | Config options
0xFFF100 - 0xFFFFFF | Frame-numbered commands

All except the last sector (4KB) of memory, is dedicated to storing the TAS inputs. Format will depend on the console and how many controllers are used. Within the last sector, the first 256 bytes are for config options, while the rest is for special commands that are performed on specific frame numbers.

Each command is made up of a 3 byte wide number, which specifies the frame number. And then a 1 byte command.

text
0x00 | Console Reset
0x01 | Console Power off and on

0xFF | Null

Input Displays

This replay device also supports input displays (aka viz/visualization boards), providing the viewers a way see which inputs are being pressed in real time.

The displays are designed to be placed on a SPI bus, where each display board shares the same clock and serial signals. Each device uses it's own Chip Select signal as a data latch.

An auxilary power supply must be connected for these displays. The PCB design is rated for a maximum of 2Amps.

Discord/Support

If you have questions or suggestions, you can find me on the N64brew Discord server or the TASBot server.

pcb design

Parts

37
QtyValueFootprintReferences
70.1uFCapacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mmC1, C2, C3, C4, C5, C6, C7
21KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2, R3
2SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1, JP2
110KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
1680kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR4
1AUX_FLASHConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ15
1AUX_VDD_GND_1Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ2
1AUX_VDD_GND_2Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ3
1BC546Package_TO_SOT_THT:TO-92_InlineQ1
1BC556Package_TO_SOT_THT:TO-92_InlineQ2
1CONTROLLER_PORTpictas:L77HDA26SD1CH4RJ12
1CON_RESETConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_HorizontalJ8
1ICSP_PLAYConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_HorizontalJ13
1ICSP_VIZConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_HorizontalJ9
1LED POWERConnector_BarrelJack:BarrelJack_HorizontalJ1
1LM1881Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU5
1MCP2221APackage_DIP:DIP-14_W7.62mmU2
1MCU_RESETButton_Switch_THT:SW_PUSH_6mm_H7.3mmSW1
1PIC18F27K42Package_DIP:DIP-28_W7.62mmU1
1PIC18LF47K42Package_DIP:DIP-40_W15.24mmU3
1SYNCConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_HorizontalJ14
1USB PortConnector_USB:USB_B_OST_USB-B1HSxx_HorizontalJ10
1VIDEO INpictas:PJRAN1X1U04XJ11
1VIZ_BOARD_1Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_HorizontalJ4
1VIZ_BOARD_2Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_HorizontalJ5
1VIZ_BOARD_3Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_HorizontalJ6
1VIZ_BOARD_4Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_HorizontalJ7
1W25Q128JVSIQPackage_SO:SOIC-8_5.275x5.275mm_P1.27mmU4

The 36 most common of 37 parts.

More from bigbass1997/PICTAS

2
  • 2 layers113 × 43 mmVizboard nes, the printed circuit board in 3D

    Vizboard nes

    bigbass1997/PICTAS

    Low-cost replay device for playing back Tool Assisted Speedruns on real hardware

    27 parts9
  • 2 layers75.1 × 80.6 mmA2600-joystick vizboard, the printed circuit board in 3D

    A2600-joystick vizboard

    bigbass1997/PICTAS

    Low-cost replay device for playing back Tool Assisted Speedruns on real hardware

    18 parts9

Similar boards

  • 2 layers66.7 × 36.8 mmKick, the printed circuit board in 3D

    Kick

    Wesemane-Industries/808-kick-eurorack

    808 kick (bass drum) for eurorack / modular synth

    57 parts8GPL-3.0
  • 2 layers78 × 108 mmEuclid+ Main Board, the printed circuit board in 3D

    Euclid+ Main Board

    m0xpd/EUCLIDplus

    EUCLID+ is a Clock Divider, Oscillator and Rhythm Sequencer for electronic music applications

    131 parts7CC-BY-SA-4.0
  • 2 layers174.5 × 173.5 mmHihat, the printed circuit board in 3D

    Hihat

    sebastianbeyer/SO_hihat

    172 parts5
  • 2 layers109.9 × 62.2 mmKick, the printed circuit board in 3D

    Kick

    nwesem/808_kicad

    KiCAD Layout of 808 clone based on www.ericarcher.net

    58 parts4
  • 2 layers180 × 120 mmOBeMs Pulse PCB, the printed circuit board in 3D

    OBeMs Pulse PCB

    johnbeardmore/oBeMS

    Open source environmental monitoring, automatic meter reading and building management system.

    140 parts3LGPL-3.0
  • 4 layers240 × 70 mmNixie, the printed circuit board in 3D

    Nixie

    Synthron/Nixie

    A Nixie Clock with Z5600M and ESP32

    324 parts1
  • 2 layers95 × 75 mmAudio amplifier pcb, the printed circuit board in 3D

    Audio amplifier pcb

    ABDELBARI0/audio-amplifier-01-pcb

    A discrete-component audio amplifier PCB designed using KiCad. The project includes the electrical schematic, PCB layout, and a 3D visualization of the board and its component placement.

    36 parts

Questions

How big is the Pictas PCB?

It measures 74.9 × 89.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Pictas use?

37 parts, built around the PIC18F27K42-I/SS, PIC18LF47K42-I/P, LM1881 and MCP2221A-I/P. 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 Pictas KiCad files?

From the bigbass1997/PICTAS repository on GitHub, at the commit this page was made from: the board is hardware/pictas-pcb/pictas.kicad_pcb and its schematic hardware/pictas-pcb/pictas.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Pictas design in my own project?

Its repository states no licence, so its author keeps all rights: ask bigbass1997 before reusing the design.