Esp32renderer

About the project

Display .obj 3D models on your microcontroller

Project info

Difficulty: Moderate

Platforms: AdafruitPython

Estimated time: 1 hour

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

Arduino Compatible Board Arduino Compatible Board More powerful boards can render more complex models x 1
TFT Display TFT Display Must be compatible with your board and with the TFT_eSPI library x 1
TTGO t-display v1.1 esp32 TTGO t-display v1.1 esp32 That's what I'm using x 1
USB Cable USB Cable One that fits your board. For mine its a standard USB C cable x 1

Software apps and online services

Arduino IDE Arduino IDE
TFT_eSPI library TFT_eSPI library Can be downloaded from arduino library repository
Python Python

Hand tools and fabrication machines

Jumper Cables and a Breadboard Jumper Cables and a Breadboard Optional: Only if your board doesn't come with a screen attached x 1

Story

If something can display a 2D image, it can also display a 3D model. To prove that I created a simple rendering engine for our beloved Arduino compatible boards. 

- But why?

- Because I can... Also procrastination.

- Can it be useful?

- Probably not. 

- It's cool though!

- I know, right?!


What works?

  1. Importing of .obj models
  2. Displaying of wireframe models
  3. Rotation up, down, left and right

What doesn't?

  1. Solid models
  2. Lighting and shading
  3. Materials
  4. Rotating (rolling)

How to?

  1. Clone the repository.
  2. Put your model into the root directory. Be sure to export as .obj and select triangulate in blender.
  3. Open the root directory in cmd or terminal
  4. Type: "python objToArduinoC.py {model_file_name_without_extention}" e.g. "python objToArduinoC.py cube".
  5. Open esp32renderer.ino with Arduino IDE. You can set buttons for rotating as well as rotating speed in the code. 
  6. Connect the screen, your board and upload the sketch. (Don't forget to select the right board settings in Arduino IDE >> Tools)
  7. Message me if you find any errors ;)







Code

ESP32Renderer

The code needs a little bit of love, but I plan on updating and improving.

Credits

Photo of resorization

resorization

I like doing simple projects for fun and more more serious projects for work.

   

Leave your feedback...