Ulta Smart Mirror kiosk app built on top of Electron

High-level overview:

  • Informative walk-by video
  • Browse products by featured category, add products to a collection and then text yourself that list
  • Scan products and get information/reviews quickly with the built in UPC scanner
  • Learn about our rewards program and text yourself a link to sign-up
  • Play around with the build in lights and lighting presets
  • Watch how-to tutorials videos
  • Try on virtual lipstick
  • When all else fails, use it as a mirror!
Video overview of features (screen capture over rendering)
Full view. Tap for larger view.

Porsche Paint to Sample Explorer (PTS) built with Bootstrap, Photoshop Scripting and AR QuickLook

Key Technologies: Bootstrap (HTML/CSS), JavaScript, JSON, and AR QuickLook

PTS Explorer is a quick way to find instagram photos of a given PTS (paint to sample) color. A few months ago I noticed there were many Instagram accounts centered around PTS colors – this worked well to see many examples of different colors, but what if you didn’t know all the colors, or wanted to see many examples of a certain color?

These questions prompted me to create PTS Explorer.

Responsive layout using Bootstrap. Tap image for larger view.
Filter colors by name. Tap image for larger view.
Filter colors by hue. Tap image for larger view.
View instagram photos tagged with color. Tap image for larger view.
Example 2. Tap image for larger view.
On iOS12 via Mobile Safari preview colors in AR QuickLook.
Use photoshop scripting to quickly generate swatches from JSON data file.


Command: a macOS app that interfaces with the NCE usb module via RS-232

Key Technologies: RS-232, Hex, and Cocoa (Mac)

Command for Mac is a [native] application I built to run DCC trains on my office layout. It works by using the USB Interface for Power Cab to bridge the gap from the computer to the NCE cab bus. The application uses the RS-232 serial interface to send hex commands to control the locomotives.

The application’s main interface can be accessed from the OS menu bar, this interface allows you to open the manage the connection, add/remove trains, and create new throttles.

Want to develop your own application? Hex command documentation can be found here.

Menu Bar Application. Tap image for larger view.
Manage Trains Window. Tap image for larger view.
Single Throttle. Tap image for larger view.
Multiple Throttles. Tap image for larger view.

HO DCS Wiring Guide

A simple approach to some DCS basics.

I started working on a small HO DCS layout about a year ago and found it pretty complicated to find clear answers on wiring best practices. I would ask simple questions in train forums and get back long, complicated answers filled with personal opinion (I also found out that most people are or think they are electrical engineers, which I am certainly not!) and more times than not the answer didn’t address my question completely.

So this site is my attempt to list out anything I’ve learned over the past few months, as simple as I can put it. I will be updating this website as I go along, please feel free to ask me any questions or suggest any additional information, we’re all in this together.

Imprortant Points:

  • • MTH HO PS3 engines require DC voltage.
  • • MTH TIU takes upto 24VDC, 10.0 AMPs. You can find a list of MTH recommened DC transformers here. I find it simpler to use a filtered DC power supply, right now I’m using a spare HP laptop power supply that puts out 19.5VDC 4.62A 90W (watts = volts * amps)
  • • Most Diesel engines take 0-24 VDC ~230 – 650mA, so look for a power supply with higher amperage output to run multiple trains at once.
  • • Only Fixed 1 and Fixed 2 can take DC power, and you must use Fixed 1 to power the TIU if you are not powering the TIU via the Auxiliary port. You can power the Auxiliary port with a power brick like Z-500 or Z-750 e.g. Variable Channels are AC only.
  • • PS3 Engines eliminate the need for a polarity switch on the engine and the engine can receive the command signal from either track (All MTH HO trains are PS3). Although the PS3 engine isn’t polarity sensitive, the TIU is, so make sure you have the right power connections at the TIU.
  • • PS3 engines require your TIU/Remote be upgraded to DCS version 4.20+
  • • You’ll often hear home run or star wiring in the DCS books, see the image below for a simple explanation:

Okay, let’s see some examples.

Simple Loop with Single Feeder

Large Loop with Multiple Feeders

Multiple Loops with 2 TIU Channels

Atlas Turnout with Circuitron Capacitor Discharge Unit

You can also skip the Capacitor Discharge Unit and hook the AC power right into the Snap Switch, however this is highly discouraged as it’s very common for the solenoid in the turnout to burnout if the switch is pressed for too long or gets stuck.

Atlas Turnout with Circuitron Capacitor Discharge Unit and Atlas Snap Relay controlling a NJI Dwarf