Skip to the content
PCBKitNew board
2 layers75.7 × 37.4 mmSpectrometer, the printed circuit board in 3D

Spectrometer

atx/spectrometer2

Alpha spectrometer developed during my internship at the Institute at the Experimental and Applied Physics

Size
75.7 × 37.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
270
Nets
85
Pads
546
Tracks, vias
803, 65
Pours
15
Routed
Yes
KiCad
KiCad 4
Created
31 May 2016
Updated
10 Oct 2018

Overview

Spectrometer is an open-source printed circuit board by atx, from the atx/spectrometer repository on GitHub, published under the MIT licence. It is a 2-layer board of 75.7 × 37.4 mm with 270 parts on 85 nets, routed with 803 tracks and 65 vias.

It is built around the STM32F302K8U6, AD8031ARTZ-R2 and AD8061ARTZ-R2, with the AD829ARZ, LT3571EUD#PBF and MAX11102AUB+ among its other parts. Its parts include 62 capacitors, 52 resistors, 24 connectors, 13 ICs and 3 diodes. It belongs with the STM32 boards of this library.

Main components

12

README

README.md

Alpha Spectrometer

Alpha spectrometer developed during my internship at the IEAP.

img_20160623_162254

Pu-239 Am-241 Cm-244 spectrum (on bare die BPW34 in vacuum)

1213

Protocol

General structure

text
|----------|---------
|   type   | content...
|----------|---------

If the device receives a packet with invalid type, it responds with an ERROR packet with EUNKNOWN error type.

Host->Device

NOP

This does not do anything, it is recommended to send a bunch of NOPs on opening the serial port to flush any data which might have been left in the device input buffer.

text
|----------|
|   0x01   |
|----------|
PING

Used by host to check whether the device is alive. Device should respond with PONG.

text
|----------|
|   0x02   |
|----------|
GET

Used by host to get basic properties. Device should respond with GETRESP.

text
|----------|---------|
|   0x03   | propid  |
|----------|---------|
SET

Used by host to set basic properties. Propval length depends on the property being set. Note that multi byte values should be sent in little endian.

text
|----------|---------|----------
|   0x04   | propid  | propval...
|----------|---------|----------
START

Start sampling and sending events.

text
|----------|
|   0x05   |
|----------|
END

End sampling and sending events.

text
|----------|
|   0x06   |
|----------|

Device->Host

The most significant bit of the type field is always set to 1.

PONG

Sent as response to host PING.

text
|----------|
|   0x82   |
|----------|
EVENT

Send event (little endian).

text
|----------|----------|----------|
|   0x87   |   low    |   high   |
|----------|----------|----------|
GETRESP
text
|----------|----------|----------
|   0x83   |  propid  |  value...
|----------|----------|----------

The value length depends on the propid and the byte order is little endian.

WAVE

Sends event waveform. This is currently not yet implemented.

text
|----------|----------|----------
|   0x88   |  length  |  <length> samples, 2 bytes each, Big endian
|----------|----------|----------
ERROR
text
|----------|----------|
|   0xff   |  errno   |
|----------|----------|

Sent on errors. errno: = 1 EUNKNOWN -- Sent on unknown packet type received = 2 EINKEY -- Sent on invalid key in GET/SET packet = 3 EINOP -- Sent on invalid operation on an existing key (unsuported read/write)

Properties

PROP_FW (0x01)

length = 2

Firmware version version.

PROP_THRESH (0x02)

length = 2

Event trigger threshold.

PROP_BIAS (0x03)

length = 1

Set to 1 if the internal bias generator should be enabled.

PROP_AMP (0x04)

length = 1

Set to 1 if the internal x6 amplifier should be enabled.

PROP_RTHRESH (0x05)

length = 2

If the value is > 0, the events are further filtered based on whether their falling edge is at least N samples longer than the rising edge.

PROP_SERNO (0x06)

length = 2

Serial number of the device. Set at compile time using make SERNO=X

Parts

270
QtyValueFootprintReferences
16100nResistors_SMD:R_0402C2, C7, C14, C18, C19, C21, C22, C23, C24, C25, C26, C27, C31, C32, C37, C61
1410uResistors_SMD:R_0805C1, C9, C10, C11, C17, C20, C42, C45, C48, C50, C52, C53, C57, C58
1010nResistors_SMD:R_0402C12, C13, C35, C43, C47, C51, C54, C55, C60, C62
1022Resistors_SMD:R_0402R6, R7, R14, R15, R33, R34, R41, R42, R47, R49
910kResistors_SMD:R_0402R8, R9, R19, R20, R24, R31, R32, R40, R51
91uResistors_SMD:R_0402C5, C8, C15, C16, C30, C33, C34, C40, C41
6FIDFiducials:Fiducial_1mm_Dia_2.54mm_Outer_CopperTopP13, P14, P15, P16, P17, P18
6TSTMeasurement_Points:Measurement_Point_Round-TH_BigP8, P8, P8, P8, P9, P10
4100Resistors_SMD:R_0402R10, R11, R12, R13
41MResistors_SMD:R_0402R1, R2, R22, R26
31kResistors_SMD:R_0402R29, R38, R44
31nResistors_SMD:R_0402C49, C56, C59
34.7uResistors_SMD:R_0603C3, C4, C28
35k1Resistors_SMD:R_0402R5, R39, R52
3DNPResistors_SMD:R_0402JP2, JP3, JP5
3EPVMeasurement_Points:Measurement_Point_Round-TH_SmallP7, P11, P12
3SMAtinkerforge:CON-SMA-EDGEJ1, J2, J3
20RResistors_SMD:R_0402JP4, JP6
21k5Resistors_SMD:R_0402R3, R16
22kResistors_SMD:R_0402R46, R48
2BEADResistors_SMD:R_0402F1, L1
2CONN_02X03footprints:CONN_02x03_EDGEP1, P6
2LEDResistors_SMD:R_0603D1, D2
2NCP700BSN33T1GTO_SOT_Packages_SMD:SOT-23-5U3, U7
2RResistors_SMD:R_0402R17, R18
11Resistors_SMD:R_0402R50
110Resistors_SMD:R_0402R4
1100MResistors_SMD:R_0603R30
1100kResistors_SMD:R_0402R37
1100n/200VResistors_SMD:R_0805C36
1100uCapacitors_Tantalum_SMD:TantalC_SizeB_EIA-3528_ReflowC29
110MResistors_SMD:R_0402R27
110n/200VResistors_SMD:R_0805C38
110uResistors_SMD:R_1210L2
11mfootprints:SDR0302L3
120Resistors_SMD:R_0402R21
1200kResistors_SMD:R_0402R36
120kResistors_SMD:R_0402R23
122uResistors_SMD:R_0805C6
1270Resistors_SMD:R_0402R43
12n2/200VResistors_SMD:R_0805C39
12p7Resistors_SMD:R_0402C44
147Resistors_SMD:R_0402R28
14k3Resistors_SMD:R_0402R45
14p7Resistors_SMD:R_0402C46
151Resistors_SMD:R_0402R25
1510kResistors_SMD:R_0402R35
1A1Measurement_Points:Measurement_Point_Round-SMD-Pad_BigP2
1AD8031ARTZTO_SOT_Packages_SMD:SOT-23-5U13
1AD8061ARTZTO_SOT_Packages_SMD:SOT-23-5U12
1AD829ARZHousings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mmU11
1BAT54S-7-FTO_SOT_Packages_SMD:SOT-23D3
1BF861TO_SOT_Packages_SMD:SOT-23Q2
1BLM15AX121SN1DResistors_SMD:R_0402L4
1BSS138TO_SOT_Packages_SMD:SOT-23Q1
1LM7705MMHousings_SSOP:MSOP-8_3x3mm_Pitch0.65mmU1
1LOGOfootprints:utef_10x8G***
1LT3571EUDHousings_DFN_QFN:QFN-16-1EP_3x3mm_Pitch0.5mmU9
1MAX11102AUB+footprints:uMAX-10-EPU4
1MAX4477AUA+Housings_SSOP:MSOP-8_3x3mm_Pitch0.65mmU2
1MAX6126BASA21+Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mmU5
1QX333A12.00000B15Mfootprints:QX333AU8
1STM32F302K8U6Housings_DFN_QFN:QFN-32-1EP_5x5mm_Pitch0.5mmU6
1SWCMeasurement_Points:Measurement_Point_Round-SMD-Pad_BigP4
1SWDMeasurement_Points:Measurement_Point_Round-SMD-Pad_BigP3
1TPS77001DBVTTO_SOT_Packages_SMD:SOT-23-5U10
1USB_OTGfootprints:USB_Micro-BP5

The 167 most common of 270 parts.

Questions

How big is the Spectrometer PCB?

It measures 75.7 × 37.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Spectrometer use?

270 parts, built around the STM32F302K8U6, AD8031ARTZ-R2, AD8061ARTZ-R2 and AD829ARZ. 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 Spectrometer KiCad files?

From the atx/spectrometer repository on GitHub, at the commit this page was made from: the board is pcb/pcb.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

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

More from atx/spectrometer

3
  • 2 layers33.9 × 36 mmPcb.vga, the printed circuit board in 3D

    Pcb.vga

    atx/spectrometer

    Alpha spectrometer developed during my internship at the Institute at the Experimental and Applied Physics

    110 parts2MIT
  • 2 layers101.5 × 100.8 mmPanel, the printed circuit board in 3D

    Panel

    atx/spectrometer

    Alpha spectrometer developed during my internship at the Institute at the Experimental and Applied Physics

    64 parts2MIT
  • 2 layers10.8 × 10.5 mmPcb.diode, the printed circuit board in 3D

    Pcb.diode

    atx/spectrometer

    Alpha spectrometer developed during my internship at the Institute at the Experimental and Applied Physics

    4 parts2MIT

Similar boards

  • 2 layers135 × 80 mmCircuitoABC kicad, the printed circuit board in 3D

    CircuitoABC kicad

    RafaelHipolit/PCB-TID-SEB-PRE

    Projeto de PCB da IC: Instrumentação para o Estudo de Efeitos de Radiação em Dispositivos Eletrônicos

    66 parts
  • 4 layers68.2 × 41.6 mmCM4, the printed circuit board in 3D

    CM4

    ybabs/PorpDAQ

    Design Files for a STM32-Based Underwater Acoustics data acquisition board for harbour porpoises

    89 parts6MIT
  • 4 layers6.1 × 11.6 mmBias, the printed circuit board in 3D

    Bias

    kitspace-test-repos/kicad6-file-collection

    31 partsMIT
  • 4 layers91.9 × 53.2 mmPhoenix main board, the printed circuit board in 3D

    Phoenix main board

    Phalkon-Industries/phoenix-instrument

    Git repo for the content of the new Phoenix ph handheld instrument.

    117 parts2CERN-OHL-S-2.0
  • 2 layers90 × 90 mmMod12003 mod12003, the printed circuit board in 3D

    Mod12003 mod12003

    PCBench/PCBench

    resolution = [0.5, 0.5] pcbfolder = '../PCBs/' pcbnames = ["1Bitsy1bitsy"] iters = 30 env = PCBRoutingEnv(resolution=resolution, pcbfolder=pcbfolder, pcbnames=pcbnames) obs, info = env.reset() for in range(iters): act =…

    452 parts21MIT
  • 4 layers35 × 20 mmBlixten, the printed circuit board in 3D

    Blixten

    Alli-Ekundayo/scpt-rl

    SCPT-RL trains a cross-attention transformer policy to place PCB components sequentially on a discrete grid. Training has two phases:

    60 partsMIT