Skip to content

Lab: Refine Model, PBR, and Render

Course 3 · Module 2 Type: Hands-on (detail modeling · materials · lighting · render) Suggested time: ~3.5–4 hours

Read first: Lesson · Look-dev sheet · ← TOC · ← M01 · M03 →

Document Why
Boolean Modifier cutouts
Solidify wall thickness
Bevel soft edges
Principled BSDF PBR
EEVEE / Cycles render

  • Develop the file from M01 to have at least 2 openings
  • Split the lid and the base into separate objects
  • Add at least 2 PBR materials
  • Render at least 1 presentation image (2 recommended: beauty + technical)
  • Fill in material-lighting-sheet.md

  • Have m01_block_enclosure.blend (or equivalent) from M01
  • Units are still Metric + mm per the team’s convention
  • The PCB placeholder is still in the scene

Copy the file to m02_enclosure_detail.blend before editing — keep the original M01 file intact.


Lab A — Lock scale, then thicken (required)

Section titled “Lab A — Lock scale, then thicken (required)”
  1. Open the file · check that PCB_placeholder’s Dimensions still match the M01 checklist
  2. Ctrl+A → Scale on the enclosure
  3. Thicken the wall to about 2 mm (Solidify, or the hollowing-out approach from Lesson §2.2)
  4. Wireframe: confirm the PCB is still inside and does not collide with the wall

Pass when: the wall thickness is clearly visible, and the PCB’s scale has not changed unintentionally


Lab B — Cut at least two openings (required)

Section titled “Lab B — Cut at least two openings (required)”
  1. Create a cutter for opening 1 (for example, USB)
  2. Boolean Difference on the enclosure
  3. Make opening 2 (sensor / LED / button)
  4. Check the opening size allows margin for the connector, per the M01 guidance
  5. Apply the Boolean once satisfied · give the object a meaningful name

Pass when: ≥ 2 openings are visible from outside the camera view


Lab C — Bevel and split lid / base (required)

Section titled “Lab C — Bevel and split lid / base (required)”
  1. Round the outer edges the hand touches (Bevel ≈ 0.5–1.5 mm)
  2. Split into Enclosure_base and Enclosure_lid
  3. Position the lid’s Origin at the hinge edge or the centre of the back edge (preparing for rotation in M03)

Pass when: the Outliner shows at least 2 objects for the box, and the lid can be moved separately from the base


  1. Create Plastic_matte_body using the lesson’s starting values (or equivalent)
  2. Create a second material (rubber / metal / buttons)
  3. Assign it to the relevant part
  4. Record the Base Color / Roughness / Metallic values in the look-dev sheet

Pass when: Materials ≥ 2, and the surface difference is visible in Material Preview or the Rendered viewport


Lab E — Lights, camera, render (required)

Section titled “Lab E — Lights, camera, render (required)”
  1. Choose EEVEE (or Cycles if your machine can handle it)
  2. Set up three-point lighting, or a World + one Area light
  3. Frame a three-quarter camera angle that shows the ports
  4. Render ≥ 1 image at a resolution of at least 1280×720 (1920×1080 recommended)
  5. Save the PNG, for example m02_beauty.png
  6. (Recommended) render a technical angle, m02_ports.png

Pass when: there are image files in the project folder, and the sheet is filled in completely


  • A subtle Emission on the LED
  • Compare the surfacing with the models in ternion-3d-assets-free
  • Render one comparison pair with Cycles versus EEVEE

  • m02_enclosure_detail.blend
  • Openings ≥ 2 · lid/base split
  • Materials ≥ 2
  • PNG renders ≥ 1
  • material-lighting-sheet.md filled in completely

Symptom What to try
The Boolean hole is wrong / doesn’t cut Apply Scale · try the Exact solver · check the cutter really overlaps the wall
The bevel is uneven Apply Scale · reduce the bevel width
The PCB no longer fits after Solidify The wall grew too far inward — enlarge the box, or offset the wall outward
The material looks entirely black Add more light / turn on Material Preview · check Metallic isn’t accidentally 1 on plastic
Rendering is very slow Switch to EEVEE · temporarily lower the resolution

Lesson · Look-dev sheet · TOC · M03 →

Cite this lesson

If you teach from this lesson or reuse it in slides or documents, credit it with the text below. If you changed it, add (adapted) after the title.

"Lab: Refine Model, PBR, and Render" from TESA Open Knowledge by the Thai Embedded Systems Association (TESA), https://github.com/tesaiot/tesa-qualification-program, licensed under CC BY-NC 4.0

Thai attribution: "แล็บ: ขัดเกลาโมเดล วัสดุ PBR และเรนเดอร์" จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย (Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program สัญญาอนุญาต CC BY-NC 4.0

Lesson link: https://tesaiot.github.io/tesa-qualification-program/en/courses/product-design/m02-modeling-render/l02-lab/

This lesson adapts the source below; keep its credit too.
https://github.com/drsanti/TESAIoT-Courses/blob/287c21814ba8c75f693136616dcd270349a15966/C3/M02/lab.md · Original content by Asst. Prof. Dr. Santi Nuratch (ผศ.ดร.สันติ นุราช), KMUTT. Course 3 (C3/) of drsanti/TESAIoT-Courses. TESA funded the work and holds the rights; published here under CC BY-NC 4.0. The upstream repository carries no licence file. Text kept faithful; structure, front matter, quizzes and notes added by TESA Open Knowledge.

Full guide: how to cite TESA

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

Content is licensed CC BY-NC 4.0. Reuse it non-commercially and credit the Thai Embedded Systems Association (TESA) every time. · How to cite TESA