Compendium

reference sheet of a mostly white protogen with orange / neon green ears

Protogen

I have a little program and try to make my own 3d model
Others have already made some protogens:
Nio, v1.1 has a 3d model has some featues that i like (holes, fur retainer, screwed in ears)
Protogen Head by ZillionRoss has a good bodel with detailed explanation of how to build it.
M16_Studios also has a usable model.
Richie´s UK sells a base and the LumiFur_Controller looks gorgues, i should take a closer look at it.
Other creators have also published their projcts like Sci-Fi-LED-Helmet , ...
I use a two HUB-75 panels with a combined 128*32 pixels. they have one connector , and I currently use the rESP32-HUB75-MatrixPanel-I2S-DMA libary.

The guide Building A Protogen From Scratch from Fursuit From Scratch made it look easy enough that I will try building my own.
I did not try vacuum forming yet, so I will use a visor from Kaiborg studio for the faceplate.

Bill of materials (not finished):

Things I need to get:
  • Foam
  • Fur (from stoffhummel)

The plan

reference sheet of a mostly white protogen with orange / neon green ears

The first thing was finding a public reference sheet and coloring it in.
I decided on a similar color scheme as prototype.
Thats not the most important part but fur and plastic are bought in the right colour instead of painting them

Electricity flow diagram of the protogen

The block diagram for logic is simple because the display has a separate only plugs into the displays.

Please note that its outdated.

Breadboard view of the two ESP32

I will make a updated wiring diagram when im finished.

Panel displaying a smile connected to a esp32 with loose wires

First wiring and electronics test.

Programming

I decided to use the Arduino IDE for programming the ESP32 because its something i already know.
A big limitation is that my ESP 32 has only 4MB flash. The default partition sceeme has 1.2MB for the app and 1.5MB for the filesystem.

Screenshot of ide showing storage usage after compilation

Even an empty blink sketch uses 285211 bytes (21%) of program storage space out of a maximum of 1310720 bytes.

Screenshot of ide showing storage usage after compilation

Importing the bluetooth and hub 75 libraries bumps that up to 329987 bytes (25%).

Screenshot of ide showing storage usage after compilation

I am unsure why the entire program currently uses 1171403 bytes (89%).
It is possible to change the formating (get rid of OverTheAir updates).

Egnough about storage.
Changing animation has multiple approaches.
I host a Bluetooth server on the ESP32 that accepts commands from multiple clients.
The protogen has SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" other ESP32 devices can connect referring to the service UUID.
The Control_Website uses chromium bluetooth-api, the user needs to select the "Proto_Display" manually.
and two characteristics can be written to:

  • Set_Command (integer)"beb5483e-36e1-4688-b7f5-ea07361b26a8"
  • Set_Color (Array of Byte for RGB)"beb5483e-36e1-4688-b7f5-ea07361b26a9"
It is possible to use a website or esp direct to control the display but the wifi stack needs a lot of time.
Having wifi running on the same core as the hub75 display dirstorts the image.
Bluetooth low energy only sends small bursts of data, it still distorts the image but thats not really visible unless the controller sends data constantly.