LTE Add-on for Comet is now available for pre-order
Ships in JanuaryJan, 202727

Shoaib Merchant (Founder)
17 min read . 09 November 2026
Hey everyone, we are back with the past month’s updates. It has been an overloaded month for the entire team, and though everyday is a constant fight in pushing through barriers while dealing with setbacks - we couldn’t be more excited on how things are shaping up in our final laps to production.
Let’s get you all synched up. As usual the update is going to be a long read :)
------------------------------------------------------------------------------------------
In the last update, I had mentioned that the I.MX95 variant testing is a critical blocker for us, happy to share that we’ve pushed through on its testing and validation. Below is the overall status on an interface and peripheral-level.

You can see that almost everything worked and we only had failures in reaching higher-speeds for interfaces - USB, PCIe and LVDS (for display) which after debugging we are confident that the DDR’s instability beings its root cause. Here are some quick snaps of the board’s functions.


We shared earlier that we couldn’t get the DDR to work beyond 1866 MT/s (short of its max speed of 4266 MT/s) and this has kept me awake for a number of nights this past month. For debugging, first we eliminated any possibility of a driver or firmware issue, we couldn’t find anything - later we shifted to the physical layout (how things are connected) of the PCB. After some reviews we identified a gap in our PCB stack-up and layout that could explain the issue.
What was the issue?
The first thing to understand here is DDR operates at insane speeds, 4266 MT/s translates to 4.266 billion transfers per second and 234.4 picoseconds (0.0000000002344 seconds) to finish one data transfer. At such small margins, a minor issue in the physical layout could translate to a significant timing loss. On detailed analysis of the PCB design, we could see a stack-up issue that resulted in low margins failing to complete the data transfer under 234 ps.
I will attempt to explain the issue in simpler terms. A PCB is made of multiple layers comprising of copper and the dielectric stacked together. Each copper layer acts either as a signal, ground or power layer. Now data travels through signals, and every signal is like a loop. For DDR signals within these layers, you not only need a super-fast forward path which we had but an equivalently fast return path to ground too. This is where our design failed, 12-layers in 1.2 mm forced the di-electric to be too small to cause part of this return signal to flow into an unintended copper layer, skewing up the DDR timings and we didn’t have enough provisions to prevent that from happening.

How do we fix it?
First we tested this on our existing test boards by forcing the unintended layer to also act as GND which resulted in training and testing to work at 4266 MT/s 🎉, we couldn’t test the rest of the high-speed interfaces because it was very hard to keep the board stable with the hacky changes we made.
For the pre-production revision, we are patching this issue by moving to a 14-layer stack-up for I.MX95 with an increased PCB thickness to 1.4 mm with a more stable and safer stack-up to ensure we don’t have this issue. We are also running extensive design reviews and simulations to confirm performance and stability for DDR and other high-speed interfaces.
While the hardware and mechanical validation & testing has been going on, our team’s PCB designers have actively been working on the pre-production revision for both the I.MX8M Plus and I.MX95 designs. This revision doesn’t implement any new feature or has a major design change but incorporates every little change that surfaced from hardware and mechanical validation and for pre-emptive provisions for clearing certification testing and requirements.
We are working on releasing them to manufacturing by 14th November. Below is a summary of all major changes introduced apart from the fixes.

Updating the PCB thickness to 1.4 mm
As mentioned above to overcome the DDR issues, we are moving to a 14-layer stackup on the I.MX95 with a 1.4 mm thickness. This change even though is only 0.2 mm, requires shake-up on the PCB’s stackup for both the I.MX8M Plus and I.MX95. We have adjusted the stackup with this updated thickness and are working with our PCB Fabrication houses for their manufacturability.
Note, this increased thickness has resulted in a 0.2 mm increase in overall thickness of the Comet, that is close to ~1.4% thickness increase.

Adding a capacitive sensor to limit SAR
One of the critical changes added to this revision is a capacitive sensor near the LTE primary antenna system to detect human touch or grip to reduce antenna power dynamically. This is part of the strict Specific-Absorption-Rate requirements as part of EU, CA and US (FCC) compliance.
This sensor converts the primary antenna itself (shown below) to a capacitive sensor and when it detects human body near the antenna it can signal the modem to lower its power limiting the electromagnetic energy absorbed by the body. When the hand moves away it can restore to its original power.

Changes to the Wi-Fi and Mic kill switch
The Wi-Fi kill switch in our prior design was implemented by cutting-off power to the Wi-Fi/BT chip. Our updated mechanicals with the LTE antenna left no space for a switch that could withstand the Wi-Fi/BT chip’s power rating, so we were forced to remove it. For the revision 9 we have instead used the PDN signal as the kill switch, we hold it down when the switch is ON, and the processor can no longer control it. We’ve also added a sensing signal to know the kill switch’s state so we can ensure the firmware loads or unloads cleanly.

The updated position of the Mic and Wi-Fi kill switch is under the M.2 card area. We agree it is not the best if you have the LTE modem or SSD installed but we couldn’t find any other place for it. No changes to the Camera kill switch, it is near the camera as it was before.

Alternative battery connector provisions
Due to mechanical and electrical constraints, the Comet’s battery connector uses a standard board-to-board connector similar to the ones found in the mobile phones. Because longevity has been important we had populated an alternate 3-pin JST wire to board connector that is widely available especially on DIY electronic websites so that you could bring an alternate battery in if we stop producing or you want a bigger one. Due to the updates in the design, we will not be mounting the connector by default instead leave the footprint for you to solder (3 points) it in if you need it.
Alternatively, we can provide a Flexible PCB design that mounts our connector on one end, and you can solder it to your battery on its other end.
Late September, we had already released our designs for prototyping and were waiting for the samples to get ready. Once they were ready, to accelerate validations we set up physical review meetings for in China between our mechanical engineers and our parts manufacturer.
Over a course of a week, we spent hours assembling everything together and then tearing it apart part-by-part to analyse its fitting, assembly process and overall suitability. This exercise let us validate the entire design physically, find problems and brainstorm solutions right there and there and resolve them.

Let's run you through what the assembled Comet looked like with the parts prototyped. Most things worked, some things didn’t and that is what the validation is about. These parts are not post-processed or painted because our focus was on functional validation rather than aesthetics.
Fun fact: These parts could not be made using 3D printed due to our low tolerances, instead they are made using the vacuum casting process. This is a nice video that explains this process - https://www.youtube.com/watch?v=gZnQu3N5SEg

Issues with the back cover snaps
One of the glaring issue we observed is the back cover snaps, they were not nice to pull off and broke easily. Our manufacturer also highlighted risk. We want to ensure easy access to the insides for all the tinkerers, as part of the fixes we have updated to a better mechanism.

New snap design with easier and a more satisfying opening-closing
We have altered the design to use the periphery of the back cover and the middle frame for snaps, this maintains a uniform force overall and makes it easy to remove the back cover by just pulling it out from one edge. These are better from manufacturing perspective too.
Additional heatsink for better thermals
We are testing thermals further with I.MX95 and as a way to improve the overall heat dissipation, we have added provisions for an additional heatsink that can be mounted. Once we test things a bit more we are going to decide to mount this heatsink before hand or leave it as a provision.

The housing for the Comet and its extensions is made from multiple parts made from different materials, primarily - plastics, metals and rubber. Each of these parts can be mass-manufactured using different processes as listed below -

Injection moulding is the industry standard for building the plastic parts. To explain injection moulding in simple terms, you take plastic granules melt them into liquid and then at high pressure ‘inject’ it inside a mold cavity and let it take shape and cool down. In our case the process is a bit more complicated because depending on the part additional complexity for insert moulding and overmoulding are also added.
Here is a quick video of injection moulding in action, shot at our manufacturer’s site during our visit last month.
Unlike 3D printing, this process has certain designs constraints that have to be accounted for to ensure suitability. Our mechanical engineers are experienced in designing injection moulded parts that has helped ensured we don’t miss any of them from the start.
Now that our validation and its subsequent changes are completed, our manufacturer has shared a formal DFM (design-for-manufacturing) report demonstrating feasibility and suggestions for changes in the parts for them to design its mould cavity and assembly. Once the changes are completed we will sign-off for die making.

Above is a small glimpse from the DFM report, that identifies partition line, analyses thickness and sets gate position and ejector layouts required for injection moulding.
Like the main housing parts, we spent significant time last month in validating the two extensions where usability is critical - the Gamepad and Keyboard. The IO extension is something we aren’t too worried about because it doesn’t have moving parts.
Keyboard assembly

On the keyboard, the most important part to get right is the layering of the plastic keys with silicone and the underlying dome switch. We experimented multiple times and have found a right balance for good tactile feeling and adequate trip force.
You can check the keyboard tactility in action below, 🔉 watch with audio. The sound and the feedback will improve further.
Gamepad Assembly

You can check the video below for its tactile feedback, 🔉 watch with audio on
The ABXY, D-Pad and both sticks (analog and pointing) have come out well, they just need some refinements. The shoulder buttons let us down; we were quite unhappy with how its mechanism worked - we originally thought vertical movement would give maximum travel but it just didn’t give a good feedback.
We are currently working on a new pivot-based mechanism for the shoulder buttons, making it a better natural experience for your fingers.

We started on ZMK, as we announced in May. As we built it up, we found that ZMK Studio is still limited compared to Vial. For example, it can’t create macros, tap dances or combos, or control underglow lighting. Vial can do all of that, live from a GUI, with no recompiling and no flashing. So we pivoted to instead focusing on enabling QMK for the Comet, QMK is way more stable and Vial is just way too powerful in its current version.
Luckily for us, the NXP MCXC243 MCU is actually a more modernized Kinetis MCU that is already supported by QMK so we don’t have to build the support from scratch. The porting is still in progress, but QMK and Vial already run on the keyboard, you can check it out in action below.
In the August update we showed the Gamepad PCB fully working, playing games over the external USB-C. That was about validating the hardware. Now the Gamepad Extension is running on Zephyr RTOS, it shows up as a standard USB HID gamepad works across Linux, Mac, Windows and Android without drivers or a companion app.
For games that only support Xbox-style (XInput) controllers, like Rocket League, you can use Steam Input to make it work. You can check the below demo for SuperTuxKart, the cart is steered with the Pointing Stick as the right analog stick.
We will be pushing the firmware to GitHub soon enough 😬
You’ve followed this one as the 'pointing stick' since the May update, where we first showed its early designs. It now has a name: the Mecha Pivot Pip.
Pivot Pip senses pressure rather than movement, which keeps your thumb in place and gets the cursor across the screen without repeated swipes. It re-centers itself when idle, so there’s nothing to calibrate. It’s used on both extensions: as the pointer on the keyboard and as the right stick on the gamepad. Watch the Pivot Pip in action below.
The Zephyr module for the Pivot Pip is now on GitHub and integrated as part of the Gamepad firmware you can check it out.
Earlier this year when the campaign was still active, we had promised for OpenGL ES 3.0 support for the Etnaviv driver on I.MX8M Plus variants for the Mecha Comet. I am happy to share that after more than 4 months of our on-going collaboration, Christian Gmeiner from Igalia, has pushed the final commits last month for OpenGL ES 3.0 conformance to mesa.
To learn more about this gigantic effort in reverse engineering the Vivante GPUs you can read the official announcement from Igalia on this https://www.igalia.com/2026/etnaviv-is-now-OpenGL-ES-3.0-conformant.html.
You can also watch his lightning talk at XDC 2026 last month for more details.
Getting OpenGL ES 3.0 enables modern applications to run on the I.MX8M Plus variant that require ES 3.0 as a minimum, making it at par with the I.MX95 on application support. This included GTK4 applications, Rust applications powered by WGPU and WebGL 2 support in browsers. This also means that our compositor and launcher can leverage more advanced features that OpenGL ES 3.0 supports over 2.0.
Here is a demo of Three.js demos using WebGL 2 on the I.MX8M Plus leveraging the ES 3.0 conformance. This wouldn’t have worked earlier on ES 2.0.
Now that we are conformant , we are now focusing more towards performance and compatibility with applications like browsers and frameworks such as GTK4, Rust-based UI frameworks that use WGPU, Game engines like Bevy that required OpenGL ES 3.0.
On a side note, the I.MX95 variant uses the Mali GPU powered by the Panfrost driver that is already on OpenGL ES 3.2 and PanVK driver that is on Vulkan 1.4. It is also switching to the new Kraid compiler that promises faster instruction generation.
Earlier in January when we showed some software demos people raised concerns on performance, we acknowledged them and clarified that they didn’t meet the standards we’ve set for ourselves. Since probably March or April we have been talking about building our own IO runtime and UI stack for our core GUI components - the launcher, keyboard and the compositor (Wayland), showcasing our architecture and the core engine, but now I am happy to share that our Launcher and Keyboard are finally now in action running on our own Wayland compositor.
Building this complete stack from ground-up has given us the room to optimize at multiple levels and build a more cohesive experience. Of course there are a lot of 🐞 bugs to squash and usability improvements like animations to be added, but it is now very much usable and performant to our expectations.
Here are some demos of the Launcher and Keyboard in-use, this is running on the I.MX8M Plus variant.
The Mecha team uses Zulip for online team chat and collaboration, @indegrowl from our Launcher team ported its Flutter-based Android App to Linux with flutter-elinux backend. You can check the Zulip app in action on our new launcher and the keyboard.
Here are the list of features and improvements that have gone into them or are in progress over the last 4 weeks.
UI Engine & IO Runtime (mecha-wayland)
Launcher (mechanix-launcher)
On-screen Keyboard (mechanix-keyboard)
Mechanix Compositor
Our compositor has seen a lot more improvements since we announced it earlier in September. Here is a list of its recent changelog over the past 4 weeks.
I am incredibly proud of the progress our team has made here and excited to share the further developments on this end.
Our native apps continue to see more development and improvements. Our first set of apps include the (i) Browser (ii) Terminal (iii) Notes (iv) Files (v) Music (vi) Calc (vii) Clock (viii) Camera. We are hoping to get them to a dev freeze by end of this month, so we can publish more demos in the next update.
You can watch a quick demo below working in sync with our new launcher and keyboard.
You can find their individual repositories on https://github.com/mecha-org, just search with prefix mechanix-
We are on track on the procurement, we’ve received all major lead-time critical ICs and are waiting to receive 2 key critical components - the WiFi/BT and Audio Codec IC that are scheduled to arrive in coming weeks.
Rest of the components and parts that are dependent on our mechanical design are targeted to arrive before 15th December.
We’ve made leaps of progress over the past 4-5 weeks and are heading in the right direction. Here is updated status on the milestones in the path to delivery.

While we are making everyday count, these laps towards the end are critical, a misstep now could turn out to be disastrous in the long-run or push things way beyond the estimated timelines.
Here is everything to know on the current status and the upcoming items -
All the risks are detailed in our last update - https://mecha.so/blog/charting-the-road-ahead-goals-challenges
As of now we remain optimistic to be able to run production in January and start shipping right after. The LTE variant may see few additional weeks for shipping due to its certification overhead. Next 4-5 weeks remain critical to ascertain the schedule further.
-------------------------------------------------------------------------------------------

Over the weekend we celebrated Diwali (or Deepawali) here in India, also known as the festival of lights to the rest of the world. As we push through these final laps toward production, our team has taken a pause for the next few days for a well-earned rest.
See you with the next one!
Shoaib & Mecha team