NoLimits 2 Roller Coaster Simulation

NoLimits 2 Roller Coaster Simulation

db Aug 5, 2020 @ 7:06am
Cheap DIY Control Panel
Dear all,
as my son is a HUGE rollercoaster fan, I've recently bought NL2. He (and me as well) loves it as he can be the operator himself. As a surprise, I'm attempting to build a cheap control panel myself and thought, why not take you all on the journey.

Having seen LevInvention's, Jonathan's and numerous other's work in this field, I will take a slightly more simple approach. I'm planning to keep costs (excluding programming work) below 100€. I will be choosing components of "medium" quality, meaning very high quality for a toy, but maybe not the best quality for a real setup. Nevertheless I try to reassemble a more or less realistic experience.

Having said this... First thought must be put into what should be controlled. As I'm far from being a Pro, I consider the main functions as necessary:
- Panel on/off, Keyswitch
- Panel on, Indicator, green
- 2x Dispatch, Lighted Button, green
- Gates open/close, Rotate Switch, no light
- Harness open/close, Rotate Switch, no light
- E-Stop, Turn-to-release-Button, (not sure if lighted)
- Reset, Lighted Button, blue or yellow
So, we will be having a 2x4 layout.
Possible Floor-controls will be left out for now and must be automated with dispatch sequence.

Next and most importantly... How will the panel communicate with NL2? There are several options:
A) HID-device: Simulating a keyboard, to send corresponding hotkeys. (e.g. using a Arduino Pro Mini)
Pro:
+ Plug-and-play
+ Powered by host pc via usb
Contra:
- Player must ensure that panel and NL2 are in the same state
- Can only be optimized for one kind of coster, alternatively must have multiple modes for variing dispatch delays etc.
- Must be connected to the host pc

B) Using Telemetry Server locally: A script can parse the status from the local telemetry server, send serial commands to the control panel (e.g. Arduino Nano, which controls the lights and switches) and other way around.
Pro:
+ Panel always synchronous to host
+ Powered by host pc via usb
Contra:
- Must be connected to the host pc
- Additional piece of software to take care of
- Requires initial setup

C) Same as B, but via WiFi: Connecting to the telemetry server via WiFi (e.g. using an ESP8266/32).
Pro:
+ No connection to host pc needed
+ Panel always synchronous to host
+ No additional software needed
Contra:
- Requires initial setup

For now, I think I will go with Option C.

Alright folks, let me know what you think and if you are interested in my progress.
< >
Showing 1-11 of 11 comments
Ride_Op Aug 6, 2020 @ 6:12pm 
Quite! I have a panel built like option A but would love to someday get it working like option B or C instead so it can read the state of the station and flash lights accordingly. Interested in your progress!

-Ride_Op
db Aug 7, 2020 @ 10:24am 
Good to hear. For now I have ordered some components on good old aliexpress:

> 3 lighted buttons (2xdispatch,reset), $2,95 each
> 2 rotary switches (gates,harness) $2,72 each
> 1 key switch, $3,69
> 1 E-stop switch, $2,83
> 1 indicator light, $1,08
> 1 case, $19
> 10-pack button labels, $2,88
> ESP8266 (Lolin D1 Mini), $3,50
> MOSFET Modules*, $0,90 each
+ Shipping
Totals to about $55.

*To keep things simple, I will power all lights through the controller, therefore I need mosfets to switch the 5V, as 8266's have outputs high @ 3,3V.

I'll come back when everything arrived. In the meantime I will be taking a look at the telemetry server and put together a rough sketch, to see if I can read and write data. If so, I will write a class, so we can program object-oriented.
db Aug 13, 2020 @ 7:40am 
Update... I will use a ESP32 (Lolin D32) as it has more I/O-pins, so I can wire both dispatch pins/LEDs individually, also I have reserve for possible adaption to bigger control panels in the future.

For now I completed the class, which can conveniently be used to access all of the telemetry server functions; it handles the complete connection/communication.

//Declare the object NL2Client nl2("192.168.178.100",15151); //Get values, e.g. ... Serial.print("Paused?");Serial.println(nl2.telemetryPaused()); Serial.print("E-Stop active?");Serial.println(nl2.stationEstop()); //...or set values, e.g. ... if(nl2.stationGatesCanClose()){ nl2.setGates(nl2.currentCoaster,nl2.nearestStation,false); }

Using this class, my basic sketch will do the following:
> Check if keyswitch is on
> Automatically force NL2 to manual mode, whenever in automatic.
> Synchronize Gate, Harness and E-Stop states according to their switches.
> Automatically lower/raise the floor.
> Take care of button handling, prepared to add multiple functions to the same buttons (short/long press).
> Set LEDs
---> Green Control LED will light if connection can be established and game is in play.
---> Reset button will blink when E-Stop is active, respectively light if keyswitch is off.
---> Dispatch buttons will blink when dispatch is possible

So long... waitin' for my parts from China.
db Sep 1, 2020 @ 3:21am 
So, the parts arrived and I put them together. Take a look: http://img8.myimg.de/IMG7923Kopieec5f4.jpg

Unfortunately the LED modules in the switches and indicators came all in random voltages (not as ordered), so I had to solder white LEDs and suitable resistors in. This way I could also avoid using mosfet modules and drive the LEDs directly from the board; 3,3V is bright enough, current drawn is about 15mA.

Sketch works as intended. Now it's time for some beauty work, like putting a nice USB socket in the side etc.

After all it cost me around $60 (extra LEDs...).

What do you guys think?
db Sep 30, 2020 @ 9:00am 
No one?
jamiechi Oct 27, 2020 @ 1:36pm 
Nice. I think I will need to get an ESP32 to play with.
Ride_Op Oct 27, 2020 @ 10:42pm 
Brilliant! And less expensive than the ones we had built with Allen Bradley buttons (we paid for the premium of real buttons). Great, and it's loads of fun to play with. Make a video so we can showcase it!

-Ride_Op
Timminator Jan 23, 2021 @ 1:26am 
Wich IDE did you use for the ESP32?
Mahomey15 Nov 8, 2022 @ 10:50am 
Hey i just read your post, i would love to buy a nl2 panel since i have 0 coding experience and i dont have alot of time, do you also build and sell panels?
db Apr 11, 2023 @ 1:16am 
It's been a while. So... I've used Arduino IDE and created a class for easy use, which I could share if you are interested.
@mierengamer2: No, I don't sell panels, but the coding is fairly easy, even for beginners. You'd be much cheaper off to buy some parts from aliexpress ;)
db Apr 12, 2023 @ 7:01am 
I've set up a Arduino Library (with example code of my control panel). Check it out:
https://github.com/laserir/NL2Client
Feel free to add to all link compilations and tool's lists.
< >
Showing 1-11 of 11 comments
Per page: 1530 50