Skip to the content
PCBKitNew board
2 layers64 × 70.7 mmElastick adapter, the printed circuit board in 3D

Elastick adapter

smart-fun/elastick2

Connect vintage joysticks (Atari, CoCo...) to your modern PC via Bluetooth

Size
64 × 70.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
17
Nets
34
Pads
80
Tracks, vias
111, 0
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
2 Aug 2025
Updated
6 Apr 2026

Overview

Elastick adapter is an open-source printed circuit board by smart-fun, from the smart-fun/elastick repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 64 × 70.7 mm with 17 parts on 34 nets, routed with 111 tracks and 0 vias.

Its parts include 4 capacitors, 2 switches, 1 IC and 1 connector. It belongs with the retro computing and games and keyboards and input boards of this library.

README

README.md

Elastick adapter

Connect vintage joysticks (Apple II, Atari, CoCo, Sega…) to a modern PC via Bluetooth.

🚧 WORK IN PROGRESS – NOT READY YET 🚧

preview.jpg

Elastick is a hardware and software project built around the ESP32‑based Lolin D32.

It interfaces with classic joysticks and exposes them as standard Bluetooth game controllers, compatible with emulators like MAME or with any modern game supporting gamepads.

Vintage controllers can also be tested directly on the Elastick device itself, without needing a Bluetooth connection.

Regarder la vidéo

Supported Controllers

Josticks / Game Pads

  • Amstrad CPC
  • Apple II - with a cable adapter
  • Atari 8 bits / ST
  • Commodore 64/128/Amiga
  • IBM PC (DA-15 connector) - with a cable adapter
  • MSX
  • Sega Master System
  • Sega Mega Drive
  • Tandy Color Computer (CoCo) - with a cable adapter
  • Thomson MO/TO - with a cable adapter

Mouses

  • Amiga Mouse (test only)
  • Atari ST Mouse (test only)

Paddles

  • Atari 2600 Paddles

Installation

The main code is located in the code/elastick folder. The project now works with VSCode IDE + PlatformIO extension. Simply open this folder from the PlatformIO extension, build and upload on the Elastick board!

The main folders:

  • code: arduino code
  • 3d: resources for 3D printing (not ready yet)
  • elec: kicad project for PCB
  • resources: various pictures

Known issues

Devices requiring 5V power

Most devices work without using the VCC pin at all, but a few peripherals need a full 5‑volt supply to operate correctly. Since the Arduino only provides 3.3 V, these devices may fail to initialize or behave unpredictably. So far, only one mouse has shown this limitation; all other tested devices function normally.

ESP32 reboot during Bluetooth initialization

Some ESP32 boards (including the Lolin D32) may reboot exactly when Bluetooth is initialized.

After investigation, the root cause was a regression in the ESP32 Arduino core (version 3.x) affecting BLE initialization. The board consistently reboots as soon as Bluetooth is started. Using the ESP32 Arduino core 2.0.17 restores full stability:

  • no reboot during BLE initialization
  • stable operation on USB power or on battery

Using ESP32 Arduino core 2.0.17 fully resolves this issue.

Hardware

Additional documentation

License

This project was originally released under the MIT License. As of April 2026, it is distributed under the Apache License 2.0.

Copyright 2026 Arnaud Guyon

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

text
http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Parts

17
QtyValueFootprintReferences
222nFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC3, C4
1100nFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC2
1470µFCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC1
1DE-9JOYSTICKConnector_Dsub:DSUB-9_Pins_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mmJ1
1LOLIN-D32elastick:Lolin D32U1
1POWERelastick:SW_90degrees_3pinsSW1
1ROTARY_SWITCHelastick:rotary_encoderSW2
1SSD1306 I2C OLEDelastick:oled_128_64_i2cDS1

The 9 most common of 17 parts.

Questions

How big is the Elastick adapter PCB?

It measures 64 × 70.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Elastick adapter use?

17 parts. 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 Elastick adapter KiCad files?

From the smart-fun/elastick repository on GitHub, at the commit this page was made from: the board is elec/elastick_adapter_kicad/elastick_adapter.kicad_pcb and its schematic elec/elastick_adapter_kicad/elastick_adapter.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Elastick adapter design in my own project?

Its repository publishes it under the Apache-2.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).

Similar boards

  • 2 layers50 × 35 mmServo power, the printed circuit board in 3D

    Servo power

    earthtojake/text-to-cad

    Design physical products with AI

    17 parts26kMIT
  • 2 layers139.7 × 62.2 mmBreakout 60pin EEC IV, the printed circuit board in 3D

    Breakout 60pin EEC IV

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    17 parts1.2k
  • 2 layers29.2 × 55.9 mmDeniseadapter, the printed circuit board in 3D

    Deniseadapter

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    17 parts1kGPL-3.0
  • 2 layers24.5 × 36.5 mmCluster, the printed circuit board in 3D

    Cluster

    JesusFreke/lalboard

    A 3D-printed keyboard inspired by the DataHand

    17 parts993
  • 2 layers56.3 × 55.7 mmStarNecklace, the printed circuit board in 3D

    StarNecklace

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    17 parts915
  • 2 layers25 × 25 mmSmallEncoder, the printed circuit board in 3D

    SmallEncoder

    DDeGonge/OS-ARM

    This arm is not industrial and it will not be fast, but that is not my goal. But it will hopefully be a very nice looking arm fully capable of 6dof motion, cheap enough to keep it accessable but capable enough to…

    17 parts498MIT
  • 2 layers38.9 × 16.1 mmAmoeba spc, the printed circuit board in 3D

    Amoeba spc

    mtl/keyboard-pcbs

    Keyboard PCBs

    17 parts485
  • 2 layers36 × 51 mmABSIS ALE, the printed circuit board in 3D

    ABSIS ALE

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    17 parts431