Starlink: Battle for Atlas Toys

Introduction

Although I was aware of Starlink: Battle for Atlas by Ubisoft back when it was released in 2018 it wasn't until 2024 when I bought the Switch starter kit, which features exclusively Fox McCloud and Arwing toys, that I looked into seeing how the real life add-ons work. I did find from searching online that some investigations had been done already not long after the game was released, which I'll cover further down this page, but that progress seemed to have come to an abrupt end. Thus this page will cover my endeavours to learn the inner workings of Ubisoft's Toys-to-life for its Starlink: Battle for Atlas. As well as covering the Switch version I will also be detailing the PS4 version, which I acquired after the Switch starter pack, the toys are compatible between the various platforms except where Nintendo properties are concerned.

I should mention that the information presented on this page is purely for education purposes only, to learn how the toys provide interactive elements to the game.

The official page for Starlink: Battle for Atlas can be found at:

https://www.ubisoft.com/en-gb/game/starlink

Initial Investigations

This section deals with what I found from doing online searches of reverse engineering of Starlink: Battle for Atlas before taking apart the products myself.

I found a github entry from 2019 with some technical information on Starlink:

https://github.com/Archund/Starlink-switch

Unfortunately it hasn’t been updated recently and although there is mention of an Arduino sketch, Starlink-Testing.ino, it hasn't been included in the repository, although there is a shell script read.sh, which it seems is what captures the data read in by the Arduino. There is no proper pinout given unfortunately.

However, the recordings of data from the Fox and Mason pilot chips as CSV files are given and can be found at:

https://github.com/Archund/Starlink-switch/tree/master/PILOT%20CONNECTOR

I did also come across this brief page with an incomplete pinout of the chip used in the pilots:

https://ackspace.nl/wiki/Starlink:_Battle_for_Atlas

The page confirms that the chip uses I2C, operating at 2.8V.

Teardown

Pilots

Whereas the Fox McCloud toy doesn't have any identifying numbers on it (that I could see), the other pilots do, for example, Mason Rana has the following written on its base:

#1080
JD18215

Opening up a pilot is easy, there are four screws on the bottom of the toy that needs to be removed. Inside there is a tiny PCB with 7 contacts (four closest to the PCB edge, three further away) that connect with the ship toy (which, take note, has eight connections, four on top and four on bottom). The PCB has a single 8 pin SMD chip - the part number has been rubbed off - and some kind of passive, likely a decoupling capacitor. There are also four unused pads, one marked with a plus sign, these pads may be for additional capacitors.

The Fox PCB has a ‘5’ marked on one side of the PCB on one side of the chip, the Mason PCB has an ‘8’. Both PCBs have the following written on the underside:

Pilot PCB
Ver: 01
Apr 13.2018

Note: the game was released on the 16th of October 2018 on consoles, so the date seems correct.

Ships

Zenith

The ship that comes with the PS4 and Xbox One starter packs is the Zenith, belonging to Mason, and plugs into the mount. The ship can take a wing either side and in turn a weapon can be plugged into a wing, or a weapon can be plugged directly into the ship without the wing. Both wings are the same design but mirrored. I could not see any identifying numbers on the wings.

The wings have two screws that need taking out, then the end piece can be pulled out, then the connector shroud, then the main piece can be pulled away from the end part, releasing the PCB. The top side of the PCB has a logo for what looks like HT (reversed on the right wing PCB), which I haven't seen on pilot or weapon PCBs. The wing PCB also has the familiar capacitor and 8 pin IC, as well as male and female connectors to mate with the ship and weapon. The PCB has two arrows pointing in the same direction, perhaps for soldering purposes, on both sides of the PCB.

On the left wing the PCB has a number 4 written on it as well as:

Mason_Wing-Left

Ver: B 1030

2018-MAR-20

The date suggests the wings were worked on earlier than the pilots and weapons.

On the right wing the PCB has a number 15 on it as well as:

Mason_Wing-Right

Ver: B 1031

2018-MAR-20

Weapons

The Flamethrower weapon has written on its underside:

#1000
JD18215

There are two recessed screws on one side that need removing to access the insides, it can be quite tricky to open up so work across the weapon pushing the pieces apart. As with the pilots, a small PCB with a single chip and contacts to connect with the ship toy can be found inside.

A '3' is written on the PCB top side. The underside of the PCB has written:

Pod PCB
Ver: 01
Apr 13 2018

The Frost Barrage weapon has written on its side:

#1001
JD18200

There are two recessed screws in the rear that need removing to access the internals.

A ‘25’ is written on the PCB top side in the Switch starter pack version, no number in the PS4 starter pack version. The bottom of the PCB has written:

Pod PCB
Ver: 01
Apr 13 2018

Mount

The mount is what the pilot and ship plug into, and in the Switch version holds the two Joy-Cons, in the other console versions it holds the controller and provides USB connection to the console.

Switch Mount

It has Model no. NS11 written on it, as well as JD18200 written on the bottom of the grip part. There are a lot of screws holding the base together but to just remove the bottom grip piece take out the four screws underneath, then you can separate the two pieces. You will see a colourful 7-way ribbon cable connected to a small PCB held in by a screw and post. The small PCB is what communicates with the Right Joy-Con, providing electrical connections to the Joy-Con just like the Switch console provides.

On one side of the small PCB the wires are labelled 1 to 7, and it also has written:

2018.03.05
rev 4.9.1

To get the PCB out you need to remove the screws holding the right Joy-Con rail in. With the PCB free we can see below the ribbon cable it has the number 28, and STARLINK BATTLE FOR ATLAS also written. There are 10 Joy-Con connections labelled JoyCon, allowing the toy to connect to the right Joy-Con just like a Joy-Con would when directly docked with a Switch.

On the other side of the small PCB are seven test pads labelled as jRTS, jCTS, JVOut, JTX, GND, JRX, and JDet.

Interestingly, when I looked for Joy-Con pinout online I found:

https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering

It mentions that they've used the Starlink: Battle for Atlas Joy-Con adapter naming.

To take the mount completely apart you need to remove the remaining screws except the three holding the left Joy-Con rail in can be left alone. After removing the screws you'll need to lift out the top plastic piece before you can separate the side pieces. This reveals that the Joy-Con PCB is connected to a larger PCB via the ribbon cable. This bigger PCB has the pilot and ship connectors. On the PCB underside it has written:

NX Mount
Rev 4.9.3
2018-05-03
STARLINK BATTLE FOR ATLAS

The PCB has an arrangement of 5 x 2 pads possibly for testing. The PCB can be lifted out revealing the top side with the 2 connectors. It looks like they didn't bother to clean up the PCB. It has written on it:

Rev 4.9.3

2018-05-03

STARLINK BATTLE FOR ATLAS

NX Mount

There are a lot of passives and a chip they've tried to cover up. There are photos online at:

https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/tree/master/peripheral%20device/startlink%20toy

Unfortunately the chip number isn't readable in the photo of the main board. It may use the same processor as used in the PS4 mount, see that section for more information.

PS4 mount

Written on the underside of the mount is:

Model No.: PS41
JD18163

There are nine screws that need removing and then the plastic pieces can be separated, pull the top piece up to be able to get the two bigger pieces apart.

The USB cable connects to the PCB via a soldered on 5-way connector. Essentially, the PS4 mount has a USB lead connected to the PCB whereas the Switch version has a Joy-Con connector, requiring a second PCB. The PCB is labelled as:

PS4 Mount
Rev 4.9.2
2018-04-10
STARLINK
BATTLE FOR ATLAS

The PCB can be pushed out, revealing the other side, which has written on it:

STARLINK
BATTLE FOR ATLAS
PS4 Mount
Rev 4.9.2
2018-04-10

There also appears to be a number 3 written to the left of the ship connector. Near the USB lead connector is the USB pinout and a single letter representing each wire colour.

The PCB is home to the pilot and ship connectors, as well as various passives and an IC, similar to the Switch mount PCB but not identical. While the PCB is cleaner than the Switch mount PCB it's still difficult to read the IC number, so perhaps they attempted to rub it off. I was able to make out:

F150G8
CE76987
AJ1702

This is possibly a GD32F150G8 microcontroller featuring an Arm Cortex M3, Joy-Cons also use a Cortex-M3 but as part of a different chip.

All content of this and related pages is copyright (c) James S. 2024