Sign up Calendar Latest Topics

  Author   Comment   Page 1 of 2      1   2   Next
Angel of Rust

Posts: 327
Reply with quote  #1 

New thread here for discussion of modular custom controls for Artemis.

Q: What is ACP3?
A: made up name -- wanted something that sounds technical and would roll off the tongue ("ey-see-pee-three"), stands for "Artemis Control Protocol 3" - a reference to an updated version of the Block III control panels for my own bridge project:

Q: What does it do?
A: Lets bridge builders wire-up custom controls using a modular layout that make changes and upgrades easier. The system is flexible to allow communications between panels and also responses to DMX cues from the game itself.

acp3 schematic 20181231.png 
Q: Where do I get the code? How do I update the code on my controller?
A: I started a repository here:
I plan to update these sketches as I complete the new control panels. Arduino and Teensyduino software are needed to upload code to the controllers.

Q: Where can I get ACP3 parts?
A: Depending on skill level, bridge builders can make their own parts directly, or can buy kits from my etsy store. The kits are cheaper than all-custom parts because I am planning to buy in higher quantity to support the community. I will post links to all the parts as well as the kits so people can decide for themselves how to proceed. Engineering kits and parts lists will be out mid-May.

Angel of Rust

Posts: 327
Reply with quote  #2 
ideas for kits:

Here is what I have in mind for the ACP3 control panel kits. The kits will come in three levels:

Level I: wiring schematics, PCB design files, Arduino code, and data tables -- this level is for bridge builders who want to build everything from scratch, but would like some guidance on some of the electronics details that I worked out on this project. Everything will be provided either here or in another online repository. No cost to the bridge builder.

Level II: control boards and panel developer boards -- this level is for bridge builders who would like the ease-of-use of the centralized controllers, but want to implement their own button layouts and designs. The hardware for these kits will include a built controller board, ribbon cables with  connectors, and three panel boards (see shift register photo below). There is a nominal cost to cover parts, assembly, and shipping. The boards from this level are essentially the starting point to how I built the Block III panels featured in earlier posts.

Level III: control boards and control panel kits -- this level is for bridge builders who want to drop in functional controls in the least amount of time possible. The kits will include a built controller board and housing, ribbon cables with connectors, control panel boards, and faceplate parts. For back-lit panels, the bridge builder will need to paint the pre-cut acrylic faceplate and mount the edge LEDs. All electronic parts are provided. Acrylic housings and faceplates are provided. Paint, furniture, and any other design decisions outside of the functional buttons fall to the bridge builder. Cost will cover parts, board assembly, and shipping. Paint and final assembly labor are not included.


Control board (Level II):
20190202_211522 - Copy.jpg 

panel development board (Level II):
20180310_100603 - Copy.jpg 
Example of a panel development board mounted in a custom-built control panel (Engineering preset control):
20180310_194612 - Copy.jpg
Angel of Rust

Posts: 327
Reply with quote  #3 
Housing design for controller boards - Assembly steps shown below.

no paint/clear housing and painted black housing:
20190309_192216 - Copy.jpg 
first step - get parts together. Clear acrylic pieces are painted black on the back side using craft acrylic paint and a foam roller:
20190309_191252 - Copy.jpg 
screw standoffs to bottom plate using screws:
20190309_191356 - Copy.jpg 
20190309_191403 - Copy.jpg 
insert bottom tabs of back plate into base plate and position PCB over standoffs, sticking RJ45 jacks through opening. Note: bumps on edges of PCB may need to be cut off using a hobby knife so that the housing will fit.
20190309_191455 - Copy.jpg 
20190309_191503 - Copy.jpg   
screw PCB to standoffs to secure board in-place: 
20190309_191959 - Copy.jpg 
insert bottom tabs of front plate and side plates, making sure to position side plate cut-outs towards the back:
20190309_192039 - Copy.jpg 
place top plate over side plates, adjusting as necessary to allow all top tabs to slide through top openings:
20190309_192119 - Copy.jpg 
slide side plates towards back to lock in-place. Clear tape can be used to secure side plates if loose:
20190309_192150 - Copy.jpg
Angel of Rust

Posts: 327
Reply with quote  #4 
The Teensy-LC that I am using for my designs has four built-in serial ports - 1 dedicated to USB communications and the other 3 configurable for UART.

When I developed the original concept for the "Block III" controllers, I had the idea to communicate information between control consoles directly and allowing for the flexibility to upgrade control panels and DMX effects in the future. The current "ACP3" iteration is just a refinement of that concept. In this design, each controller is, at a minimum, capable of functioning as an HID, taking input from at least 3 modular control panels AND communicating with the Artemis client via USB, AND communicating with the other controllers. The fully-loaded DMX variant can do all of that AND read the DMX output from the Artemis host.

Here is one of the fully-loaded controllers plugged in to Artemis host (viewscreen - white USB-B), Artemis client (black USB micro-B), and the other control consoles (red cat5 cables):
20190203_000839 - Copy.jpg 
Here's the schematic for the controller:
Pictured below is the bank of control panel headers (bottom left), the RS485 circuitry to connect control consoles (top center), the FTDI interface with Artemis (middle), and the Teensy-LC that runs the control console program and emulates the mouse/keyboard/joystick combo to the PC. I am including all of these capabilities on one board to afford maximum flexibility to me and whoever else wants to use this design for their control panels.

20190429_195518 - Copy.jpg 
Not all of the controllers need to take the DMX input directly, so the basic board configuration just leaves off the FTDI part to save cost:
20190429_195343 - Copy.jpg 

Angel of Rust

Posts: 327
Reply with quote  #5 
Originally Posted by e4mafia
I just love talking to you about this project. It keeps me occupied when I don't feel like doing  work at work 😉 I could ask questions all day.

Thanks. Building starship parts is fun.

Originally Posted by e4mafia

So on the controller, J3 and J4, those are your RJ45 connectors. I see the +/- data as A&B. and I See POE, I'm assuming that's pushing 5v across those? So on the other end of a link, lets say a "remote" control station, (that is only connecting to a bridge station, and is not using a second USB connection to a view screen to receive DMX) - does that end use this 5v as its primary power source for its teensy & other components, and lights? or is it using that in combination with the 5v draw from its own USB connection? Or is it something I'm missing entirely?

The original configuration for the Block III panels was to power the panel indicator LEDs using the 3.3V supply on the Teensy and the panel edge light LEDs using an external 5V power supply. In this configuration, the external 5V was connected to all the panels using the RJ45 connectors and used to power the edge lights only. The microcontrollers got their power from the connected laptop.

In the new ACP3 configuration, the default is to power the lights and controllers from the laptop only. The POE bus goes nowhere in the default setup. To go back to the old configuration, you would need to sever the connection at JP1 and close the connection at JP2. This would let bridge builders power the lights on the "5V" bus however they want. Technically, the USB power connection on Teensy-LC can be severed and JP1 could be closed to power Teensy-LC externally. However, I do not plan to ever use this capability. I included the jumpers in the design in case someone wants to make these modifications.

Originally Posted by e4mafia

I know I was curious before about the code you used to read in the DMX from the FTDI into the teensy - I was never able to get that to work on my Arduino/redboard/mega - just too much low level stuff to sift through and was just so much easier for me to pull it from ARTnet. Now O'm very curious about how your setup works post-serial input. How you manage the shift registers, distribute to the remote boards, and how those remote boards take that in and do the same.

I have to imagine there's a fair amount of modularity in the code base as well. But each station does need to be customized, code-wise in some way right?

Is your code up on GitHub or someplace like that I can take a look at? Understandable of course if you don't want it completely loose in the wild though.

I uploaded my code to GitHub. Originally, I was going to wait until I had engineering done, but there's no harm in sharing.

The code is very modular. For most functions, all that is needed is to change a few numbers and completely new commands can be programmed. It made coding for the Block III panels go very fast. Checkout the header part of the sketches to see how I have organized the data arrays that run the panels.

The shift register code pulls its input from a set of arrays that tracks the button and light states between main loop cycles. Each time the shift register clock increments, it just advances to the next set of numbers. It seems to be quite robust in practice and lets me forget about the low-level coding once it's working.

Originally Posted by e4mafia

Thanks again, over and over for sharing your project with us. I've learned so much from it already, and my own bridge is starting to move into controls now. Just ordered the first batch of parts for making a weapons console. Gonna build these one at a time and just see how it goes.


you're welcome. Best of luck!

Posts: 1
Reply with quote  #6 
What is your name on the Etsy store? Or am I jumping the gun because they are not out yet?
I'm so excited this! I've been following this project since I started into Artemis about 1.5 years ago.
Thanks for all that you do!
Angel of Rust

Posts: 327
Reply with quote  #7 
Originally Posted by Muddog3000
What is your name on the Etsy store? Or am I jumping the gun because they are not out yet?
I'm so excited this! I've been following this project since I started into Artemis about 1.5 years ago.
Thanks for all that you do!

Thanks for the note. This project has been a lot of fun for me.

The Etsy store is here:

I don't have the engineering kits ready to go just yet. I am looking to roll them out over the weekend into next week. To be ready, the following needs to happen: 1) the additional faceplates arrive in the mail, 2) I finish the assembly instructions for the kits and 3) I assemble the electronic parts.

Angel of Rust

Posts: 327
Reply with quote  #8 
The instructions for the engineering panel assembly are ready. Just waiting for the rest of the faceplates to show up to post kits.

Attached Files
pdf ACP3-E-PRI instructions rev A 20190509 (w appdx).pdf (1.18 MB, 20 views)

Angel of Rust

Posts: 327
Reply with quote  #9 
Nearing the finish line. The electronics for the first two engineering kits check out. I'll be posting these to Etsy in a few days. Depending on how they do, I'll get the parts for some more. I will be trying to gauge the interest in the project and plan for the remaining console quantities accordingly.

20190515_001223 - Copy.jpg

Angel of Rust

Posts: 327
Reply with quote  #10 
First round of engineering kits are up:

The whole thing ended up costing more than expected, but in testing the quality appears to be quite solid. Add-on side panels and the other consoles are in the works.

I will post the complete schematics and parts lists this weekend in case people want to build them from scratch.
Angel of Rust

Posts: 327
Reply with quote  #11 
Here is the complete list of parts to build the "primary" engineering control panel (power sliders and coolant buttons). This one is designed to plug into an ACP3 controller to work. PCB files, sticker design files, laser cutting files, etc. attached below.

namebasic engineering console   
1R1-R9330 resistorRC1206JR-07330RL
2SW1-SW16push buttonSilicone Elastomer 4x4 Button Keypad - 2 Pack
3SW1-SW16blue LED3 mm
5J110p IDC socketED10500-ND
6J110p IDC headerED1543-ND
1DLED - green150141GS73100
2DLED - yellow150141YS73100
3DLED - red150141RS73100
4RV1-RV8linear potsPTA6043-2015CPB103
5R1-R8100 resistorRC1206JR-07100RL
6J120p IDC headerED10536-ND
7 20p IDC cable3365/20 300SF
8J120p IDC socketED10503-ND
9U1, U274HC595SN74HC595DR
1 4-40 screwH342-ND
2 3/4" standoff1772-1777-ND
3 3/8" standoff1772-1318-ND
4 1/2" standoff1772-1579-ND
6 330 resistorRC1206JR-07330RL
7 white LEDQBLP670-IW-NW
8 slider knobs1722-1326-ND
9 face plateACP3-P2 20190330.svg
10 letteringACP3-E-PRI-STK rev E 20190317
11 back plate13.5" x 6.75"

Here is a breakdown of the relative costs:
ACP3-E-PRI costs.png

Attached Files
zip (347.78 KB, 10 views)

Angel of Rust

Posts: 327
Reply with quote  #12 

New boards arrived today for the latest variant of the main controller -- the "DMX-T" variant. This design results from combining my stand-alone USB-DMX interface with the ACP3 controller/DMX-reader variant. The result - a single board that serves as a fully-functional control panel controller, the master controller for the ACP3 network, a reader to inform the control panels about what is happening in-game, and a converter to pass DMX script output to connected DMX devices -- all in one box. This latest variant is designed to fit in the same housing as the others. The biggest differences are that one RJ45 jack has been switched over to DMX duty and an additional RS485 chip has been added to handle the DMX stream.

The controller worked perfectly in testing, so the new variant is good to go.

Assembled board:
20190705_183227 - Copy.jpg 
plugged in for testing:
20190705_230254 - Copy.jpg 


Avatar / Picture

Posts: 1,296
Reply with quote  #13 
Freaking cool, man!
-Captain of the TSN Gungnir JN-001
-Eastern Front online group member
-My continuing bridge build:
Angel of Rust

Posts: 327
Reply with quote  #14 
Originally Posted by notsabbat
Freaking cool, man!

Angel of Rust

Posts: 327
Reply with quote  #15 

I've posted a draft guide here:

This document provides recommendations for setting up an ACP3-powered bridge as well as data tables and schematics for the custom controls.
Previous Topic | Next Topic

Quick Navigation:

Easily create a Forum Website with Website Toolbox.