Apparatus for automation
Published: January 15, 2025

An apparatus was designed for a client to automate their business-specific workflow. The entire device, including hardware, software, and mechanical components, was developed and built.
Hardware
The Raspberry Pi 4 was selected as the main compute board. Overall, the standard functionality provided by the Raspberry Pi was adequate for the apparatus. However, certain features needed to be added, such as Power-over-Ethernet (PoE), interfaces to connect with other components of the apparatus, and independent volatile and non-volatile memory. The PCBs were designed using KiCAD EDA. The solution consists of three boards:
Baseboard
The baseboard functions as a carrier board for the Raspberry Pi 4 (RPi), allowing it to be installed vertically relative to the apparatus base for optimal internal space utilization. The main blocks featured on the board are:
- PoE module: The primary power source for the apparatus is Power-over-Ethernet (PoE). The board features a Silvertel Ag5400 PoE module.
- Step-Down Switching Voltage Regulator: Provides a 5V output to power the RPi. It uses a 12V input from the PoE module or an external power supply, which can be connected via the DC connector on the board.
- Isolated DC-DC converter: Supplies power to the interface board and the devices connected to it.
- 4-Kbit I2C-compatible EEPROM: Stores baseboard-specific properties.
- 64K SPI Bus Serial SRAM: Stores sensitive information independently of the RPi’s memory, ensuring it persists through hard reboots of the RPi.
- Watchdog: Automatically restarts the RPi if it becomes unresponsive by cycling its power.
Interaface board
The interface board translates RPi GPIO signals into control signals for specific electromechanical equipment. It also includes an EEPROM module to store properties specific to the interface board.
Adapter board
The adapter board simplifies the connection between the devices and the interface board. It also includes an EEPROM module for storing device-specific parameters.
Software
The software stack includes Python, Uvicorn, NGINX, Starlette, and Angular. The operating system used is Raspberry Pi OS, the default OS for the Raspberry Pi boards.
Mechanics
A custom frame, consisting of 20 components, was designed for the apparatus. The design was created using the open-source CAD software FreeCAD. Since the client required a small batch of fewer than 20 units, the enclosures were produced using an FDM 3D printer.