Skip to the content
PCBKitNew board
4 layers82 × 47 mmFSRray, the printed circuit board in 3D

A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

Size
82 × 47 mm
Copper layers
4
Thickness
1.6 mm
Parts
26
Nets
119
Pads
300
Tracks, vias
521, 17
Pours
3
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
27 Jun 2022
Updated
7 May 2026

Overview

FSRray is an open-source printed circuit board by Aightech, from the Aightech/e-skin repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 82 × 47 mm with 26 parts on 119 nets, routed with 521 tracks and 17 vias.

It is built around the CD74HC4067SM96. Its parts include 8 connectors and 2 capacitors.

Main components

1

README

README.md

E-Skin

A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

Overview

The electronic board uses two multiplexers and two 16-channel ADCs to read the FSRs. The multiplexers select the row or column of the FSR array, while the ADCs read the sensor values. A Teensy 4.1 controls the multiplexers and ADCs and sends data to the computer via USB or Ethernet.

Operation modes:

  • Single mode: Connect one FSR array with up to 32x32 sensors
  • Dual mode: Connect two FSR arrays with up to 16x16 sensors each

Sampling rate: ~400 KHz/channel (1562.5 Hz for a 16x16 array)

Project Structure

text
e-skin/
├── host/           # C++/Qt host application
│   ├── src/        # Source code (main.cpp)
│   └── lib/        # Git submodules (com_client, built_lsl)
├── src/            # Teensy firmware
│   └── Eskin/      # Main production firmware
├── models/         # KiCAD PCB designs
│   ├── KiCAD/              # Main control board (MUX + ADC)
│   ├── customSquare16x16/  # 16x16 FSR array
│   ├── customSquare8x8/    # 8x8 FSR array
│   ├── LIS2DH_array/       # LIS2DH accelerometer array
│   ├── KX134_array/        # KX134 accelerometer array
│   └── inskinacc/          # In-skin accelerometer
└── script/         # Python/MATLAB data acquisition scripts

Requirements

Host Application

  • CMake 3.3+
  • Qt6 (Core, Widgets, PrintSupport)
  • C++11 compiler

Firmware

  • Arduino IDE or PlatformIO
  • Teensy 4.1 board support

Python Scripts

  • Python 3.x
  • Dependencies: pip install -r script/requirements.txt

Building

Host Application

bash
cd host
mkdir build && cd build
cmake .. && make
./FSR_array -h  # Show usage

Firmware

Upload src/Eskin/Eskin.ino to Teensy 4.1 using Arduino IDE or PlatformIO.

  • Board: Teensy 4.1
  • Port: /dev/ttyACM0 (Linux) or COMx (Windows)

Python Data Recorder

bash
pip install -r script/requirements.txt
python script/record.py <port> <array_size>
# Example: python script/record.py /dev/ttyACM0 16

Communication Protocol

  • Serial: 500000 baud
  • Ethernet: TCP port 5000
  • Command format: 1 byte (2 MSB = mode, 6 LSB = array size)
    • Mode 0: Request 1 FSR array
    • Mode 1: Request 2 FSR arrays
    • Mode 2: Request 1 ACC array
    • Mode 3: Request 1 ACC array + 2 FSR arrays
  • Response: 4-byte timestamps + uint16_t sensor data

Submodule Dependencies

Initialize submodules:

bash
git submodule update --init --recursive

Example

See main.cpp for an example of how to use the communication library.

Contributing

See CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

Parts

26
QtyValueFootprintReferences
8R_Pack04Resistor_SMD:R_Array_Convex_4x0402RN1, RN2, RN3, RN4, RN5, RN6, RN7, RN8
5measuring_input400_custom-footprints:fcp_vertical_ULP94V0J1, J2, J3, J4, J5
2100nfsr_array:C0603C1, C2
2CD74HC4067SMPackage_SO:SSOP-24_5.3x8.2mm_P0.65mmMUX1, MUX2
2LOGOLOGOG***, G***
2MAX11632EEGT00_Custom:MAX11632EEGTADC1, ADC2
2MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H5
1teensy_leftConnector_PinSocket_2.54mm:PinSocket_1x24_P2.54mm_VerticalJ12
1teensy_rightConnector_PinSocket_2.54mm:PinSocket_1x24_P2.54mm_VerticalJ11
1usb_B00_custom-footprints:usbB_stewartJ17

Questions

How big is the FSRray PCB?

It measures 82 × 47 mm and has 4 copper layers, 1.6 mm thick.

What parts does the FSRray use?

26 parts, built around the CD74HC4067SM96. 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 FSRray KiCad files?

From the Aightech/e-skin repository on GitHub, at the commit this page was made from: the board is models/FSRray/FSRray.kicad_pcb and its schematic models/FSRray/FSRray.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the FSRray 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).

More from Aightech/e-skin

11
  • 2 layers113 × 113 mmLIS3DH array, the printed circuit board in 3D

    LIS3DH array

    Aightech/e-skin

    A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

    146 parts2GPL-3.0
  • 4 layers100 × 100 mmFsr array, the printed circuit board in 3D

    Fsr array

    Aightech/e-skin

    A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

    94 parts2GPL-3.0
  • 2 layers113 × 113 mmLIS2DH array, the printed circuit board in 3D

    LIS2DH array

    Aightech/e-skin

    A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

    82 parts2GPL-3.0
  • 2 layers83.2 × 88.6 mmKX134 array, the printed circuit board in 3D

    KX134 array

    Aightech/e-skin

    A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

    40 parts2GPL-3.0
  • 2 layers7.7 × 6.8 mmInSkinAccv2, the printed circuit board in 3D

    InSkinAccv2

    Aightech/e-skin

    A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

    14 parts2GPL-3.0
  • 4 layers15.3 × 27.5 mmFSRrayDMUX ADC, the printed circuit board in 3D

    FSRrayDMUX ADC

    Aightech/e-skin

    A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

    11 parts2GPL-3.0
  • 2 layers142 × 30 mmCustomFSReay, the printed circuit board in 3D

    CustomFSReay

    Aightech/e-skin

    A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

    10 parts2GPL-3.0
  • 2 layers12.5 × 11 mmInskinacc, the printed circuit board in 3D

    Inskinacc

    Aightech/e-skin

    A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

    5 parts2GPL-3.0
  • 2 layers60.5 × 42 mmCustomSquare16x16, the printed circuit board in 3D

    CustomSquare16x16

    Aightech/e-skin

    A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

    4 parts2GPL-3.0
  • 4 layers190 × 139 mmYl16x16 p1, the printed circuit board in 3D

    Yl16x16 p1

    Aightech/e-skin

    A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

    3 parts2GPL-3.0
  • 4 layers160 × 75.5 mmYl16x16 p2, the printed circuit board in 3D

    Yl16x16 p2

    Aightech/e-skin

    A bioinspired electronic skin system for robotic applications, combining FSR (force-sensing resistor) arrays and accelerometer arrays.

    2 parts2GPL-3.0

Similar boards

  • 2 layers309.6 × 95.3 mmMacrolev, the printed circuit board in 3D

    Macrolev

    heiso/macrolev

    Macrolev is an open source analog keyboard powered by Hall Effect switches

    184 parts136
  • 2 layers204 × 174.9 mmWonkle, the printed circuit board in 3D

    Wonkle

    wonkleio/wonkle

    We build together.

    519 parts125CERN-OHL-S-2.0
  • 4 layers65 × 100 mmUBMS-2, the printed circuit board in 3D

    UBMS-2

    grokicad/grokicad

    Grok powered schematic intelligence for your kicad repositories

    246 parts28
  • 4 layers344 × 117.5 mmZellia80, the printed circuit board in 3D

    Zellia80

    mhdimo/Zellia80-HE

    Zellia80-HE PCB files source

    497 parts24LGPL-2.1
  • 2 layers229 × 96 mmOscillator Board, the printed circuit board in 3D

    Oscillator Board

    Bad-Dog-Designs/ESP32-S3-Synthesizer

    Source code and KiCad Files for the build of an ESP32 S3 Based synthesizer. CAN bus is used extensively to collect all the pots and switch data and send to the ESP32 engine

    138 parts19
  • 4 layers29.3 × 187.1 mmLeft Frame, the printed circuit board in 3D

    Left Frame

    FlightDeckDIY/G1000-NXi-Mega

    Welcome to the G1000 NXi Mega project! This repository contains the schematic and PCB design files for a custom-built G1000 avionics panel, designed specifically for use with flight simulators like Microsoft Flight…

    127 parts14
  • 2 layers391.2 × 166.5 mmTakt11800, the printed circuit board in 3D

    Takt11800

    vuckale/takt11800

    Replacement PCB for Cherry G80 11800/Compaq MX 11800 keyboard using QMK firmware and VIA

    284 parts12CERN-OHL-S-2.0
  • 2 layers100 × 55 mmPCBTriatlonWAY, the printed circuit board in 3D

    PCBTriatlonWAY

    Alejojoa/Triatlon-Alita

    Repositorio dedicado al desarollo de un robot triatlon.

    43 parts6