Skip to content

16. System Integration

Assignments and Assessment this week

  • Design and document the system integration for your final project

Learning outcomes

  • Define and apply system integration to your final project

Have you answered these questions?

  • made a plan for system integration for your final project?
  • documented your plan with CAD and/or sketches for system integration?
  • implemented methods of packaging? designed your final project to look like a finished product?
  • documented system integration of your final project?
  • linked to your system integration documentation from your final project page?

Final Project Task List

Category Task Description Status
Device 1: Input & Output Unit testing for all input components (Fader, Switch, Encoder) Done
Verification of DMX signal output Done
Enclosure 3D printing Done
PCB design and final circuit fabrication In Progress
Final assembly and component integration Pending
Device 2: Monitoring Basic DMX input signal verification Done
TFT/LCD monitor functional testing Pending
Development of 512ch bar graph rendering engine Pending
Enclosure design and fabrication Pending
Circuit fabrication including DMX Thru port Pending
Device 3: LED Output Basic DMX input signal verification Done
Individual NeoPixel strip illumination test Done
Implementation of DMX-to-LED mapping logic Done
Enclosure design and fabrication In Progress
Final circuit fabrication and assembly Pending
Common / Review Full system integration and stress testing Pending
Graded Review meeting with instructors Scheduled
Final documentation and video demonstration Pending
gantt
    title Final Project Timeline (Updated: May 12)
    dateFormat  YYYY-MM-DD
    axisFormat  %m/%d
    tickInterval 1week

    section Device 1: I/O
    Unit Testing (Inputs/DMX)    :done, d1_1, 2024-04-15, 10d
    Enclosure 3D Print          :done, d1_2, 2024-04-25, 3d
    PCB Design & Fabrication     :active, d1_3, 2024-04-28, 10d
    Final Assembly               :d1_4, after d1_3, 5d

    section Device 2: Monitor
    DMX Input Verification       :done, d2_1, 2024-04-20, 5d
    TFT/LCD Functional Test      :active, d2_2, 2024-05-10, 4d
    Rendering Engine Dev         :d2_3, after d2_2, 7d
    Enclosure & Circuit Build    :d2_4, after d2_3, 7d

    section Device 3: LED
    DMX & NeoPixel Basic Test    :done, d3_1, 2024-04-25, 5d
    DMX-to-LED Mapping Logic     :done, d3_2, 2024-05-01, 7d
    Enclosure Design & Fab       :active, d3_3, 2024-05-08, 6d
    Final Circuit & Assembly     :d3_4, after d3_3, 5d

    section Common / Review
    System Integration Test      :crit, 2024-05-22, 5d
    Graded Review (Scheduled)    :milestone, 2024-05-28, 0d
    Documentation & Video Demo   :2024-05-25, 6d
    Project Completion           :milestone, 2024-05-31, 0d

System diagrams

This is the overall plan for this final project.

graph TD
    A[DMX Output Device] -- DMX Signal --> B[DMX Monitoring Device]
    B -- DMX Signal --> C[DMX Input Device]

Here are the system diagrams for each system.

Movement input & DMX output device

graph TD
    subgraph Device1 [DMX Output Device]
        %% Processing Section
        XIAO[Seeed Studio XIAO RP2040]

        %% Interface Section
        subgraph Interface [Hardware Interface]
            SF[Slide Fader] -- Analog Signal --> XIAO
            MAX485[MAX485 Transceiver]
        end

        %% Connection to Processing
        XIAO -- UART Serial --> MAX485

        %% Output Port inside Device1 but outside Interface
        Out([DMX Output Port])
        MAX485 -- DMX Signal --> Out
    end

    %% Styling
    style XIAO fill:#f96,stroke:#333,stroke-width:2px
    style MAX485 fill:#bbf,stroke:#333,stroke-width:2px

DMX signal monitoring device

graph TD
    subgraph Device_Monitor [DMX Monitoring device]
        %% Ports
        In([DMX Input Port])
        Thru([DMX Thru Port])

        %% Interface Section
        subgraph Interface [Hardware Interface]
            MAX485[MAX485 Transceiver]
            Pico[Raspberry Pi Pico RP2040]
            Graphics[Bar Graph Engine]
            Monitor[TFT/LCD Monitor]
        end

        %% Connection Flow
        In -- DMX Signal --> MAX485
        MAX485 -- DMX Signal --> Thru
        MAX485 -- UART Serial --> Pico

        %% Processing & Display
        Pico -- "Process Ch 1-512" --> Graphics
        Graphics -- Video Signal --> Monitor
    end

    %% Styling
    style Pico fill:#f96,stroke:#333,stroke-width:2px
    style MAX485 fill:#bbf,stroke:#333,stroke-width:2px
    style Monitor fill:#dfd,stroke:#333,stroke-width:2px

DMX input & Movement or lighting output device

graph TD
    subgraph Device_LED [DMX Input Device: 1 NeoPixel Strip]
        %% Input Port inside Device_LED
        In([DMX Input Port])

        %% Revised Interface Section
        subgraph Interface [Hardware Interface]
            MAX485[MAX485 Receiver]
            XIAO[Seeed Studio XIAO RP2040]
            Mapping[RGB Pixel Control Logic]
        end

        In -- DMX Signal --> MAX485
        MAX485 -- UART Serial --> XIAO
        XIAO -- "Map DMX Ch 1-432" --> Mapping

        %% Output Section
        Mapping -- One-Wire Data --> NP[NeoPixel LED Strip]

        subgraph Detail [LED Details]
            NP --- L1[LED 1: Ch 1-3]
            NP --- L2[LED 2: Ch 4-6]
            NP --- L3[LED 144: Ch 430-432]
        end
    end

    %% Styling
    style XIAO fill:#f96,stroke:#333,stroke-width:2px
    style MAX485 fill:#bbf,stroke:#333,stroke-width:2px
    style NP fill:#dfd,stroke:#333,stroke-width:2px

Movement input & DMX output device

The system I integrated this week was a movement input & DMX output device.

This enclosure was designed in Week 2 and then 3D printed at the same time 1 as the slider circuit board was created in Week 9.

At this point, the design for the internal circuit board hadn’t been completed yet, and the slider and connector were simply attached.

5 pin XLR PCB board

Neutrik NC5MAH NC5FAH, JST PH connectors

So I started by creating a circuit board for a PCB-mounted DMX connector. Internally, PH connectors are used to connect the signals, but the wiring between devices is done using 5-pin XLR connectors that conform to the DMX standard.

I attached the PH connector and soldered the posts.

The quality of the connector I bought from Amazon wasn’t very good, and I did this to prevent the plastic from melting and the pins from bending if I applied the correct amount of heat for soldering.

This is the KiCad data for the DMX connector. 2

DMX parts

JST PH crimp connector

Crimp the PH connector.

To achieve a clean crimp, using the correct crimping tool is ideal, but these are very expensive and unaffordable. However, a trick to successfully crimping with commercially available tools is to bend the back of the metal contact inward from the start; this will allow for a clean crimp.

First, crimp the wires after stripping about 5mm of the wire.

It turned out beautifully.

Next, use the larger crimping die next to it to crimp it so that it bites into the coating slightly.

Done

Crimp all three in the same way.

Put it into the housing

Push firmly until the part that catches goes past the tab. After this, pull on the connector and wiring to make sure they don’t come loose.

Completed

XIAO DMX Board

Schematic

PCB

The initial circuit board was too large to fit inside, so a new board was created that combined the XIAO and RS485 chips.3

On the board during the soldering process, you can secure the DMX’s IN and OUT by using solder to jumper the parts indicated by the red circles.

Power line

I decided to use a 5V AC adapter I bought from Akizuki Denshi as a power supply module.

On the 5V output side, a 2-pin PH connector is attached, and on the AC side, heat shrink tubing is applied to about half of the cable, with a 250-size faston terminal attached. On the other end, a 187-size faston terminal is attached so that it can be connected to the NEUTRIK power conditioner receptacle.

System Integration

These are all the parts that will be integrated this time.

Slide volume created during week 9, the week of input devices.

XIAO RP2040 and main board The program packed inside is here4

3D printed case and laser-cut bottom cover

This week, I created the bottom cover using a laser cutter.5

Painted black

The screws that hold these in place


First, we’ll assemble the parts that attach to the 3D printed case.

We attached the power conditioner receptacle connector.

Next, I attached the DMX connector.

The AC line cable and the DMX signal cable are coming out.

Install a slide volume control.

If you don’t use hexagonal low-profile screws to mount it, it will interfere with the fader knob.

Insert the screws that attach the main circuit board to the back cover.

Insert a 3D-printed M3 spacer with a height of 3mm.

Install the main board.

I added a washer and attached it with an M3 lock nut.

Completed photo

I secured the AC adapter and wiring together with cable ties to prevent them from moving.

Attach the cable to the connector.

Close the lid with screws.

Completed

From the connector side