The Contact-Free Baby Monitor
Tracks Breathing, Sleep Patterns, and Nursery Conditions, Contact-Free.
Miku creates products that make it easy to monitor and understand your child’s health and wellness.

The original product page:

MIKU is my spare-time study project based on the freelance experience I had before with this brand.​​​​​​​ I wanted to make everything from scratch by myself during this educational journey, like Reverse Engineering, 3D Modeling, Texturing, Shading, and Lighting.

Internal Structure Images and PCBs
I liked the ability to show the internal PCBs and electronic components because I always wanted to work on that kind of engineering aesthetics as a CG artist.

I used the 3dsmax for modeling and the GPU rendering engine FStorm for the internal renders. I've also used C4D and Redshift for the exterior product renders.

Studio Noir Renders
During the work process, I decided to run another exercise - rendering, using the Low-Key technique. I found it interesting to try to light each scene with only one Light Emitter.

Some of the Process and Behind the Scenes

For further work, I needed information about the real PCB assemblies. So I ordered three used MIKU kits on e-bay to disassemble and reverse engineer them next. My main reverse engineering tools were a pair of digital calipers (for external and internal measurements), a magnifying glass with a dimensional grid, and macro photography.

I decided to shoot each board from both sides in the highest possible resolution to be able to use the photos not only as a reference but also as a source.

I've shot it on a Nikon z7ii 45mp camera and a Nikkor 105mm f2.8 VR lens for the macro-shooting.

Since some boards were glossy and reflective, I needed to keep an eye on the highlights on the surfaces, avoiding the overbrights and sharp specular reflections.

The light rig contained a 45x45cm Lightbox, 5 LED lights, and one ring light.

Camera Focusing Rail for macro photo-shooting

As the thick PCB coating creates the polarizing effect, it was a good idea to get a polarizing filter to control how much light I need in the reflections.

The f2.8 macro lens has a pretty shallow depth of field, even with the f16 closed diaphragm. So I needed to make 10-15 shots for each side of the board, moving the camera along the Z-axis, using the focusing ramp. I was able to merge them together later, using the photo-stacking technique.

Some of the reference photos of the MIKU baby monitor

The final resolution of the stacked textures was around 15000pix wide, which allowed me to use them for anything I need - vector tracing, creating masks, and shader layers.

I used the Helicon Focus software to stack the 15 photos into one sharp image.

Memory Controlling PCB Source Photo

Memory Controlling PCB Source Photo 100% crop

During the work on the PCB models, I used different techniques. For example, to create the camera controller board, I traced all the paths in Illustrator and used this vector for further modeling. It worked well because the paths on this board were deep enough, and there were not too many of them. 

Also, this Camera PCB assembly had paths just on one side because the other is covered with a metal screen. The tracks on this board have been modeled as real geometry.

Camera Assembly test renders

Working on the layered masks for the Memory Controller PCB

Memory controller PCB test renders

However, the most exciting part for me was the work on the big blue PCB - the sensor controller “Radar Sensor SoC Board”.

It is a large, double-sided, multilayered PCB assembly with many paths and an interesting, complex layout. In addition, due to the fact that it is quite large in thickness (4mm) and the fact that the top layer of varnish is semi-transparent, the board lets in a lot of light, painting it in deep blue. 

Due to a large amount of light inside the fiberglass layers, you may notice a few more layers of copper plates, which cast shadows inside the material.

Radar Sensor SoC Board reference photo closeup

It was a real challenge that required an in-depth study in all aspects. In addition, the top layer of the coating was so thick that it created the effect of "glazing" the paths on the board's surface.

From the beginning, it became clear that it would be challenging and time-consuming to achieve such a look using real-geo modeling, which prompted me to choose a technique based on textures.

It was also not evident whether it would be possible to achieve this effect using procedural methods or I would have to use 3D sculpting methods to get the proper displacement height maps.

Radar Sensor SoC Board reference photo

Finally, I achieved a good result using a combination of the parallax bump method (a technique that allows you to achieve quality comparable to the micro-displacement at the normal-mapping speed) and multilayered bump texture generation using a mix map in FStorm render engine.

The final height map has seven layers mixed with masks with different amounts of blur. To increase the rendering speed, I used blurring of individual masks in Photoshop because procedural blur during the calculating before rendering takes a lot of time due to the high resolution of the textures.

Working on the layered masks for the Radar Sensor SoC PCB

I also added some geo layers to the inside of the board to create a sense of inner shadow and uneven light penetration. The golden contact plate geo has a procedural blend with the PCB surface, enhancing the glazing effect.

I deliberately avoided using any kind of imperfections such as dust, dirt, wear marks, or grease marks.

Radar Sensor SoC Board rendering WIP

Shading network for the Radar Sensor SoC Board

Working on the PCB assembly.

Render and final postwork

Using real-time GPU rendering allowed me to keep post-processing work to a minimum. Mainly I worked with contrast.
To be able to adjust individual elements, I used RGB masks, some of which themselves look like art objects.

Each frame was rendered at 4k wide resolution on a 2x RTX 3090ti PC. The average render time for a frame was 15 - 35 minutes. In some cases, such as rendering with a transparent case body, the time increased up to 1 hour per frame.

Object ID render Pass for the transparent case shots.

Thank You