Programmer Sensor Stencil

MichalVarsanyi·VoxLink·Hardware/Programmer_Sensor_Stencil/Programmer_Sensor_Stencil.kicad_pcb

Programmer Sensor Stencil PCB layout, top view — open source FPGA board by MichalVarsanyi
Simulate this board

About the Programmer Sensor Stencil PCB

Programmer Sensor Stencil is an open source FPGA PCB design by MichalVarsanyi, published on GitHub under the MIT license. It is a 2-layer board measuring 85 × 15.8 mm, with 118 components from 77 distinct parts.

Its main chip is the XC7A35T-CSG324, from the FPGA family. Other key parts include the TPD4E02B04, TDS5311P, LTC4368, XT30 and TPS82084. By type, the board carries 40 resistors, 31 capacitors, 17 ICs, 15 diodes, 6 connectors and 3 crystals.

It belongs with the sensors and usb & debug tools designs in this gallery.

From the project

VoxLink is a high-speed solution that allows interfacing of up to 100 sensors using a single high-speed host device. The communication protocol is agnostic to the sensor board, freeing the user from handling low-level communication. This project is part of my Bachelor's thesis at the Czech Technical University in Prague.

- During programming, exceeding internal clocking speeds of 100MHz on the iCE40UL1K-CM36AI FPGA proved to be virtually impossible. In the future, instantiating the hard IP I2C blocks in the FPGA silicon may increase the speed. Realistically, however, switching to a higher speed grade of FPGAs will probably be the best option.

It may seem that 50-100 MHz is unreasonably fast; however, just 40 sensors at 9 kHz get very close to this ballpark. It is difficult to determine what may increase the bandwidth in the future, so it's better to have an excess than to have too little bandwidth.…

Programmer Sensor Stencil, from the project README
From the project README

Main components on the Programmer Sensor Stencil

Programmer Sensor Stencil bill of materials (BOM)

118 components, 77 distinct parts — part numbers from the project's BOM.

QtyPartRefs
3
TPD4E02B04
U1, U302, U504
1
TDS5311P
TPS25942ARVCR
Semtech
U101
1
LTC4368
TPS7A20L_3V3
ADI
U102
1
XT30
USBLC6-2SC6
Amass
U103
1
TPS82084
FT2232HQ
TI
U201
1
TPS82084
93LC56B
TI
U202
1
LT8645S
TPS7A20L_3V3
ADI
U203
1
TPS82084
TLV840
TI
U204
1
XC7A35T-CSG324
ICE40UL1K-CM36AI
Xilinx
U301
1
N25Q032A
U305
1
IS25LP256D
BNO086
ISSI
U401
1
SN74AXC4T774
TPD4E02B04
TI
U501
1
FT232H
TPD4E02B04
FTDI
U502
1
93LC56B
TPD4E02B04
Microchip
U503
1
CBTU02044
U505
1
16MHz
Y201
1
ASCO
Y301
1
12MHZ
32.768 kHz
ECS
Y401
1
IDC Connector
J101
2
PicoBlade
J102, J302
Show 57 more
QtyPartRefs
1
USB_C_USB2.0
J103
1
RJ45_Input
J501
1
RJ45_Output
J502
1
Reset
SW301
1
Slide Switch
SW501
2
TestPoint
TP501, TP502
8
TVS
D101, D102, D104, D301, D303, D304, D501, D502
2
Schottky
D103, D302
3
LED
D105, D305, D308
1
RX
D306
1
TX
D307
2
600R
FB201, FB202
1
4u7
C12
1
4.7U
2u2
Murata
C101
1
100N
100n
Murata
C102
1
10N
1n
Murata
C103
1
22U
1u
Murata
C201
4
22U
100n
Murata
C202, C213, C214, C217
3
100U
1u
Murata
C203, C204, C205
1
100U
10p
Murata
C206
5
100U
100n
Murata
C207, C210, C211, C215, C216
1
100U
33n
Murata
C208
1
100U
4u7
Murata
C209
5
100N
100n
Murata
C301, C302, C402, C403, C502
3
10U
100n
Murata
C303, C304, C501
1
100n
Murata
C401
2
15pF
C404, C405
1
C201283
1R
Walter
R101
1
C445774
22R
Panasonic
R102
1
22K
25k5
Vishay
R103
1
1.1MEG
100k
Vishay
R104
1
1.1MEG
5k1
Vishay
R105
1
280K
150k
Vishay
R106
1
23.2K
1k
Vishay
R107
2
499K
10k
Vishay
R201, R204
1
12.4K
2k2
Vishay
R202
1
49.9K
10k
Vishay
R203
1
61.9K
10k
Vishay
R205
1
1MEG
12k
Vishay
R206
1
49.9K
1k
Vishay
R207
1
243K
0R
Vishay
R208
1
41.2K
R
Vishay
R209
1
499K
R
Vishay
R210
1
154K
R
Vishay
R211
1
49.9K
R
Vishay
R212
1
280R
R
Vishay
R213
1
4x22R
R301
1
22R
R302
4
510R
R303, R306, R307, R308
2
10k
R304, R305
1
200R
4k7
Vishay
R401
1
100R
4k7
Vishay
R402
3
4.7K
10k
Vishay
R403, R404, R405
2
4.7K
4k7
Vishay
R406, R407
1
4.7K
22R
Vishay
R408
1
0R
Vishay
R501
3
12K
0R
Vishay
R502, R503, R504

Programmer Sensor Stencil design files

The KiCad project lives in the MichalVarsanyi/VoxLink repository on GitHub; these links point at the commit this page was built from.

Programmer Sensor Stencil: common questions

What microcontroller does the Programmer Sensor Stencil use?

The Programmer Sensor Stencil is built around the XC7A35T-CSG324, from the FPGA family.

How big is the Programmer Sensor Stencil PCB?

The Programmer Sensor Stencil measures 85 × 15.8 mm, has 2 copper layers and is 1.6 mm thick.

How many components are on the Programmer Sensor Stencil?

118 components, from 77 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.

Where can I download the Programmer Sensor Stencil design files?

From the MichalVarsanyi/VoxLink repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.

Can I use the Programmer Sensor Stencil design in my own project?

Yes, under the terms of its MIT license, which MichalVarsanyi chose for the repository.

Can I test firmware for the Programmer Sensor Stencil without the hardware?

Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug FPGA firmware against it before you order a PCB.

More boards in VoxLink

Similar boards