DeMux: MuxHat in software form

DosLab Electronics is p​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​roud to announce that DeMux is ready for release. Below, you will find details on how to use it to flash the gMux IC on your MacBook Pro logic board.

Please read this page in its entirety before purchasing to understand what is required.

We are accepting mail-ins! The base rate is $60+SH for a flash. Only $40+SH if you already bought a key. Please email us at [email protected] if you would like to do a mail-in.

If you have already got everything set up, you can (If you would like to do a bulk order please contact us before purchasing, we may be able to give you a discount.)

Questions, comments, and concerns can b​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​e forwarded to the DosLab Electronics email

Important notes

For those with repeated failed flashes. We have determined the cause to be noise on the TCK line. This can be fixed by adding a 100pF capacitor between TCK and ground(GND).

If the above fix still isn't working for you, you can temporarily remove L2406 before flashing. Make sure to solder it back on when you are done flashing.

If you are getting errors saying a DLL is missing please install the following Microsoft Redistributable:

Microsoft Visual C++ 2012 Rev4

Please make sure you are installing the 64-bit ve​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​rsion by selecting it in the menu that comes up when you click "Download".

DisplayPort is a functionality of the dedicated GPU only, disabling the dedicated GPU will also disable the DisplayPort.

Backlight brightness is currently not supported by Demux. We will be releasing a software fix for this at a later date.

Table of contents


To get started, you'll need the following:

Installing the software

Installing the software comes in three steps. Fir​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​st, download the package, and extract it. You should then connect your programmer and install the programmer drivers. After this is done, you can purchase a flash license from us and use it with the DeMux utility to flash your gMux IC. These steps are covered in further detail below.


A 64 Bit Windows system is required to use DeMux.

Download the following package:

Windows 64-bit PGP signature: here PGP 0xDEBECAEE

SHA256: 2fa7064168d9aebb9eb169e4d0818705d3b645ae8c04df15b7414e17a1f367fe

Once the package is downloaded, go ahe​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ad an extract it somewhere safe. You are now ready for the next step.


Once the package has been extracted, plug your Latt​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ice HW-USBN-2A ICSP programmer into a USB port on your computer. Then, open the driver installer executable, and use it to install the USB driver. The program will tell you if it was successful.

License keys

If you don't yet have a license key, yo​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​u'll need to purchase one. Keys cost $20 each, and are good for one gMux IC flash. Once purchased, save the key in a safe place, as it will be needed later. (If you would like to do a bulk order please contact us before purchasing, we may be able to give you a discount.)

DeMux client

Next, open up the DeMux flashing application. Here, you wi​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ll need to enter the license key you purchased. If it's a valid key, the program will indicate so. Once the license has been verified as valid, you can proceed to the next steps.

The DeMux utility ready to flash.

Preparing your programmer

In order to prepare the hardware for gMux flashing, you will ne​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ed to correctly connect your Lattice programmer to the gMux IC JTAG header of your MacBook logic board. This will require either soldering wires to each pad of the header, or using our custom pogo-pin solderless connector (coming soon).

When soldering the wires on a 15" board, please be sure to route them away from or around the large black inductor, located just to the right of the JTAG header. This inductor will interfere with the data lines if they are routed overtop of it. This leads to a failed flash.

The Lattice programmer ready to go.


Important note: Only use a temperature controlled soldering iron or you WILL remove pads which are required for the flash to work. Most of the pads are ONLY available in this ONE place. The loss of a pad will PERMANENTLY ruin your ability repair the board.

To solder the JTAG wires to the logic board, start by tin​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ning each of the 6 header pads with fresh solder. Then, strip and tin 6 wires that you can connect to your Lattice programmer. Solder each wire to the respective pin, as shown in the diagrams below:

15" Board (820-2915)

17" Board (820-2914)

There is now a video detailing these steps available:

No soldering

We are selling the adapter in limited quantities as a pre-release to high volume customers only. You must meet the following requirements to be able to purchase:

No other customers will be considered at this time.


Lastly, once your Lattice programmer is properly connected to the l​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ogic board, and you have a valid license entered in the DeMux flashing utility, you are ready to proceed with flashing. To flash, perform the following steps: