electrodyssey.net

Odyssey of Electronics and Computers

NASR-M board bring-up and Zephyr for a base controller

February 06, 2026 — Nazim

Zephyr firmware for the base controller is now working. I’ve spent some time setting up a device tree overlay to detect the I2C mux and the underlying devices. It works amazingly! The first thing I did after the firmware compiled initially was a shell module. Actually, it was one of the reasons behind switching to Zephyr. You can access the shell via UART, USB, or even Telnet. It’s extendable with user commands, supports tab completion, and offers many debugger features, such as I2C discovery and memory dumps. Zephyr has many advanced features, such as different schedulers, power management, and an IP stack, but what makes it attractive to me (besides the Apache 2 license) is its extensibility and hundreds of device drivers. It feels like moving away from Borland CRT to Turbovision back in the days. I was able to hook up a temperature sensor via the I2C mux with absolutely no effort. Nice, isn’t it?

Read more / Comment...

New microscope, or goodbye neck pain

January 30, 2026 — Nazim

Today I’ve received my new microscope. It’s a Chinese trinocular branded as Eakins. It has arrived very fast and was exceptionally well packaged. Overall, I’m very content with it. The picture quality is decent, it allows interpupillary distance adjustment, and has a long boom, so long that I had to drill two holes in a pedestal and screw it to the table for stability. The seller includes an x0.5 lens in the package, providing about 25cm of space between the board and the objective. I’ve seen a lot of negative feedback on cheap Chinese microscopes on Aliexpress, but I’ve been lucky. Mine is sturdy and works like a charm. I haven’t tested the camera yet, hoping it would work with no issues. I wish that LED ring had a polarized filter, but I’ll make one myself with a cheap polarizing film.

Read more / Comment...

NASR-M base controller works!

January 27, 2026 — Nazim

I’ve started populating the board, and the base controller worked. Although my long-term plan is to use a Zephyr, for simplicity, I resorted to a quick stub firmware written with STM32Cube that activates the ATX PSU and blinks the status LED. I’ve got the (primary) power!

The ever-growing “lessons learned” list has been updated with the following:

Read more / Comment...

NASR-M clock generator preliminary config

December 30, 2025 — Nazim

The heart of the NASR-M carrier boards is the LMK03328 clock generator. It's an ultra-low noise and high-performance clock generator with two PLLs and eight outputs. The outputs can be set to single-ended or differential with an adjustable voltage level. The chip can switch between two reference inputs and is configured with I2C. In my case, the main reference input is the onboard TCXO, and the secondary is an external reference.

Read more / Comment...

Interactive HTML BOM plugin for KiCad

December 21, 2025 — Nazim

Those of you who have assembled a complex board manually know how much time it takes to prepare components and cross-check them against BOM lists while soldering chips onto the board. Usually, I prepare a few paper lists for that purpose and cross out soldered components one by one. However, it’s not as fast as you may think. My silkscreen designators aren’t perfect, so I still occasionally have to check the schema to continue. Today, I was looking for a better way to generate the BOM for assembly and found “Interactive HTML BOM plugin for KiCad”.

Read more / Comment...

Syncthing

December 14, 2025 — Nazim

I am thoroughly amazed by Syncthing. Before that, I had used other options to synchronize files across my desktop machines, but Syncthing beats them all in terms of configuration simplicity and ease of use.

Read more / Comment...

X-Ray BGA inspection photos

December 13, 2025 — Nazim

Ever wondered what BGA X-Ray inspection reports look like? Here is a sample from JLCPCB. It cost me around $2. Photos are under the cut.

Read more / Comment...

NASR-M first prototype production

December 02, 2025 — Nazim

Yesterday, I sent the initial NASR-M prototype for production to JLCPCB. Hoping there will be no obvious blockers and I'll be able to bootstrap Linux with no re-spins. I want to bring the board up circuit by circuit to know precisely what works and what doesn't.

Read more / Comment...