Skip to the content
2 layers126 × 100 mmLm35racks, the printed circuit board in 3D

This project is a hardware and software solution for Sirius cabinets monitoring based in a NXP's development platform, FRDM-KL25z, and SPIxxCON bus present on Controls Group SERIALxxCON hardware.

Size
126 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
62
Nets
98
Pads
237
Tracks, vias
383, 32
Pours
5
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
1 Dec 2020
Updated
17 Dec 2020

Overview

Lm35racks is an open-source printed circuit board by lnls-sirius, from the lnls-sirius/rack-mon repository on GitHub. It is a 2-layer board of 126 × 100 mm with 62 parts on 98 nets, routed with 383 tracks and 32 vias.

It is built around the LM321, LM324 and 74HC123D, with the CST-1010-B among its other parts. Its parts include 25 resistors, 10 connectors, 9 diodes, 4 capacitors and 4 switches.

Main components

4

README

README.md

Controls Group rack monitoring system

Index

Description

This project is a hardware and software solution for Sirius cabinets monitoring based in a NXP's development platform, FRDM-KL25z, and SPIxxCON bus present on Controls Group SERIALxxCON hardware. The designed baseboard for NXP development platform contains the necessary peripherals to acquire information such as temperature, humidity, fan status, door status and supply voltage in order to predict possible system failures and evaluate its correlation with the acquired data.

It also contains an adapter that enables this project to work with mbed LPC1768 in instead of KL25z.

Software

KL25z

A C program written through Mbed's platform divided in 3 modes:

  • Read mode

An interruption associated with the rising border of Slave Select signal. In this interruption the microcontroller reads the SPI buffer and if a command other than zero is found stores the command.

  • Buffer copy

The main loop in the program, where the strings are copied to the "answer" buffer according to the code read in the Read Mode.

  • Ansawer mode

Another interruption associated with Slave Select signal, but this happens in the falling border of the signal. This is where the board replies the requested value through SPI.

LPC1768

When using LPC1768 in instead of KL25Z a few things change. The principle is still the same: reading from the SPI, copying to a answer buffer and responding through SPI but here the program doesn't work with interruptions, everything happens inside the main loop.

The microcontroller reads the SPI and if there is any request enters a switch-case conditional. If the command corresponds to any of the known commands, LPC1768 responds accordingly.

BeagleBone Black

A Python script responsible for the communication between BeagleBone Black and KL25z (or LPC1768) through SPI and for providing the data to multiple workstations through TCP/IP sockets.

Configuration and Python3 module

In order to operate the board you should first do the following configurations in your SERIALxxCON:

  • Configure the SPI buses with:
shell
config-pin P9_17 spi_cs
config-pin P9_21 spi
config-pin P9_18 spi
config-pin P9_22 spi_sclk
  • Write the previous commands on /etc/rc.local if desired

  • Stop bbb-function script with:

shell
systemctl stop bbb-function
  • Disable bbb-function if desired:
shell
systemctl disable bbb-function

A python3 module was developed in order to simplify the SPI requests to the board. The Very Simple Protocol module functions are:

  • send(char, timeout_ms = 1)

sends a character to the monitoring board and returns a string with its response

  • get(*args)

sends multiple characters to the monitoring board and returns a list with it's response in order

  • get_all()

returns a list with values for supply voltage, fan status, DHT's temperature measurement, fan current, humidity, LM35's temperature measurement, back door status and front door status in that order

  • get_LM35()

returns LM35's temperature measurement

  • get_DHT()

returns the boards DHT's temperature measurement

  • get_humidity()

returns humidity value

  • get_fdoor()

returns front door status

  • get_bdoor()

returns back door status

  • get_fanstat()

returns fan status

  • get_current()

returns current measurement

  • get_voltage()

returns supply voltage

  • isBoard()

works only with LPC1768 and returns the software version, if "None" is returned it means probably there's no board connected or it's a KL25z with software version < v1.60

If using KL25z in instead of LPC1768, lines containing "for i in range (10)" should be changed to "for i in range(11)".

Installation

  • Remove the back panel of SERIALxxCON box and place the SPIxxCON - RJ25 adapter. Connect the serial cable and close the box with the new back panel.

  • Plug one end of the power cable into the black plug and the other end into the power strip.

  • Unplug the fan power cable from the power strip and plug it into the box's red power outlet.

  • Fix the magnetic sensors to their mountings and place them close to the door, in the upper part of the cabinet. Place the neodymium magnet on the cabinet door in a way that when its closed the magnet is close to the magnetic sensor.

  • Place the DHT11 humidity sensor close to the box.

  • Place the LM35 temperature sensor wherever you want.

  • Connect all the sensors to their respective connectors.

Versions

Each prototype version is named as follows: vX.YZ

  • X: hardware version (even numbers are in-house manufactured prototypes).
  • Y: prototype hardware version.
  • Z: software version.

Available KL25z software versions:

  • v0.60
  • v0.58
  • v0.55
  • v0.5
  • v0.4

Available LPC1768 software versions:

Previous versions can be found on these repositories: KL25Z and LPC1768.

Parts

62
QtyValueFootprintReferences
6DDiode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolderD1, D2, D3, D4, D5, D6
510kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR3, R6, R17, R22, R24
51kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR5, R8, R14, R21, R23
3180Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR15, R16, R25
32k2Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR2, R10, R19
34P4CControle:RJ11-4P4C-HIROSE_2J1, J7, J12
3LEDDiode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolderD7, D8, D9
2-Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderRf1, Rg1
2100kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR4, R18
210uCapacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolderC3, C4
222kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR12, R20
29k1Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR7, R9
2TrafoCorrenteControle:Borne KREJ9, J10
1100uCapacitor_SMD:C_Elec_6.3x7.7C2
110uCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC1
15KPotentiometer_THT:Potentiometer_Bourns_3266Y_VerticalRV1
16P6CControle:RJ25(vitor)J3
16k2Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR1
174HC123Package_SO:SOIC-16W_5.3x10.2mm_P1.27mmU3
182kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR11
1BarrAjusteMaxConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ4
1BarrAjusteMinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ5
1CST1010Controle:CSTT1
1GeneralPurposeControle:Borne KRESW3
1KL25Controle:KL25ZKL25-1
1LM321Package_TO_SOT_SMD:SOT-23-5U2
1LM324Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU1
1PortaFrenteControle:Borne KRESW1
1PortaTrásControle:Borne KRESW2
1RinResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR13
1SW_DIP_x01Controle:DIPSwitchSMD_1posSW4
1Trafo 220 : 4,5-0-4,5Controle:Borne KREJ6
1TrafoTensãoControle:Borne KREJ8
1TrafoVestevesControle:TrafoVestevesTV*

The 61 most common of 62 parts.

More from lnls-sirius/rack-mon

2
  • 2 layers29 × 31 mmConector, the printed circuit board in 3D

    Conector

    lnls-sirius/rack-mon

    This project is a hardware and software solution for Sirius cabinets monitoring based in a NXP's development platform, FRDM-KL25z, and SPIxxCON bus present on Controls Group SERIALxxCON hardware.

    2 parts
  • 2 layers62 × 60 mmKl to lpc, the printed circuit board in 3D

    Kl to lpc

    lnls-sirius/rack-mon

    This project is a hardware and software solution for Sirius cabinets monitoring based in a NXP's development platform, FRDM-KL25z, and SPIxxCON bus present on Controls Group SERIALxxCON hardware.

    2 parts

Similar boards

  • 2 layers70 × 100 mmKorg ms x, the printed circuit board in 3D

    Korg ms x

    jostsalathe/korg_ms-x

    An extreme MONOTRON mod by Soul Machine in form of an SMD PCB

    211 parts2
  • 2 layers34 × 39 mmEmg, the printed circuit board in 3D

    Emg

    karim1312/emg

    Open Source Based sEMG. Based off of OpenEMG but with an added Voltage Follower for a theoretically more stable output.

    33 parts1
  • 4 layers190.5 × 127 mmPbv2 mass test adapter active, the printed circuit board in 3D

    Pbv2 mass test adapter active

    kkrizka/powerboard_mass_test_adapter_active

    Active Part of the Mass Test Board for ITk Strips PowerBoard

    290 parts
  • 2 layers71 × 108 mmSyntom, the printed circuit board in 3D

    Syntom

    Bad-Dog-Designs/Ospray-8

    KiCad project files for the Ospray-8 Percussion synth

    97 parts14GPL-2.0
  • 2 layers25.4 × 25.4 mmAudioOx Bubba, the printed circuit board in 3D

    AudioOx Bubba

    dolson14/k7arx

    Circuit and PCB Designs, anything else related to radio and electronics

    17 parts
  • 2 layers44 × 100 mmHP45 Standalone V4.02, the printed circuit board in 3D

    HP45 Standalone V4.02

    yvodehaas/HP45-standalone-controller-V4.02

    HP45 standalone controller V4.02

    90 parts36GPL-3.0
  • 2 layers198.1 × 193 mmSTE25, the printed circuit board in 3D

    STE25

    stonedDiscord/Automatenplatinen

    Reverse engineerte Hardware aus deutschen Spielautomaten.

    252 parts5BSD-2-Clause

Questions

How big is the Lm35racks PCB?

It measures 126 × 100 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Lm35racks use?

62 parts, built around the LM321, LM324, 74HC123D and CST-1010-B. 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 Lm35racks KiCad files?

From the lnls-sirius/rack-mon repository on GitHub, at the commit this page was made from: the board is Hardware/KiCAD files/Shield-KL25Z/lm35racks.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Lm35racks design in my own project?

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