Snake Eyes bonnet on T4.1

Status
Not open for further replies.

hridpath

New member
Hello,

I have a project where I have used a Pi 3b+ with the Adafruit Snake Eyes bonnet. I am reconfiguring the container that these were in and I have a lot less room for the Pi. I am looking at running the eyes on the T4.1.
1. Is there an updated instruction for making this connection?
2. Are there any new sketches or mods, that need to be used?

2 x 240x240 TFT (Adafruit 3787)
 
Here's the schematic - its only traces and an ADC - why would you want it with the Teensy? https://cdn-learn.adafruit.com/assets/assets/000/038/349/original/raspberry_pi_schem.png?1484174067

I think you are asking is "is there a library for the Adafruit SKU 3787 TFT?" (ST7789)

This thread useful? https://forum.pjrc.com/threads/62696-Teensy-4-1-and-ST7789-TFT-display-which-library

Thanks MarkT.

I am a newbie for the Teensy and Arduino. And somewhat for Raspberry Pi hardware. I am a coder with some knowledge of electronic that I learned back in the 60's. So trying to figure out what I need and the best way to use it, I am missing gaps of knowlege. Trying to learn as I go with this project.

Is it feasible for the T4.1 to run the Adafruit Snake Eyes bonnet?
 
The code is a completely different matter from the hardware alas, as the snake eyes software appears to use fully fledged Python
(the download mentions the numpy package being compiled)... That requires a full computer with mass storage way beyond
the abilities of any microcontroller.
 
Note the author of the eyes program has rewritten it several times.
  • The first version was for the Teensy 3.2 and used 128x128 displays;
  • The second version (that you mention) was written for the Raspberry Pi, originally for the 128x128 displays, maybe it now supports the 240x240 displays as well;
  • The third version modified the original Teensy sources to support Adafruit boards (like the Feather M0 Express, Hallowing M0) using the 128x128 displays; (and)
  • The last version was made for the Adafruit M4 boards for 240x240 displays (Hallowing M4, Monster M4SK, Feather M4 Express) -- this version does not support the Teensy.
  • Improved versions for the Teensy were put into the ST7735 examples directory.

A fixed version of the display for Teensy 4.1 is an example:
  • Examples -> ST7735_t3 -> uncannyEyes_async_st7789_240x240

This is for 2 of the newer 240x240 displays that use the ST7785 graphics adapter.

Because many of the cheaper 240x240 displays don't have CS pins, the example uses 2 separate SPI controllers.

The first SPI controller used for the left eye:
  • pin 9 -- D/C for left eye
  • pin 11 -- MOSI0
  • pin 13 -- SCLK0
  • pin 8 -- Reset for left eye

The second SPI controller is used for the right eye:
  • pin 6 -- D/C for right eye
  • pin 26 -- MOSI1
  • pin 27 -- SCLK1
  • pin 7 -- reset for right eye

Note, if you use the Teensy 4.0 instead of the Teensy 4.1, you will need to solder wires or use a breakout board to bring out pins 26 and 27.

Here is a set of 2 240x240 displays found on ebay:

Here are the similar 240x240 Adafruit displays. The Adafruit displays do have a CS pin, that you would either need to connect and modify config.h to use or just connect the pin to ground:

If you have the original 128x128 displays, the fixed up original version may work with both displays on the same SPI bus. But note, the Teensy 4.x does not have the optimizations that the Teensy 3.x chips have for optimizing 2 displays on special pins:
  • Examples -> ST7735_t3 -> uncannyEyes7735
 
If you look at the example list for the ST7735 library included with Teensyduino you will see 2 example sketches for UncannyEyes which allows you to use the displays you referenced with Teensies. You will not need the bonnet just the displays.

EDIT: @MichaelMeissner - thanks your explanation is a lot better than mine.
 
Fascinating - is Python actually involved then? Or is that a wrapper on the RPi to
hold it all together or talk to the GPU perhaps? I sense feature-creep and bloat(!)
 
Fascinating - is Python actually involved then? Or is that a wrapper on the RPi to
hold it all together or talk to the GPU perhaps? I sense feature-creep and bloat(!)

I don't know about the Pi version. For the Aurdino-class boards, no python is involved.

For the last version (for the 240x240 displays, and it needs the M4 class machines) it does use the flash memory that comes with those chips for Python usage to hold the eye image and a config file for finding the sclera, iris, and eyelid.

So you can change the eye used simply by changing some files with a USB removable disk rather than recompiling. You would need to power cycle it to change eyes.

The Adafruit Monster M4SK was pretty much designed to run this program:

You can load 3 separate eye patterns, and when you power on the Monster M4SK, you can select which one with a button press at power on time. I am hoping that when 1.54 is finally done, we can have similar support for the Teensy 4.x processors.
 
I don't know about the Pi version. For the Aurdino-class boards, no python is involved.

For the last version (for the 240x240 displays, and it needs the M4 class machines) it does use the flash memory that comes with those chips for Python usage to hold the eye image and a config file for finding the sclera, iris, and eyelid.

So you can change the eye used simply by changing some files with a USB removable disk rather than recompiling. You would need to power cycle it to change eyes.

The Adafruit Monster M4SK was pretty much designed to run this program:

You can load 3 separate eye patterns, and when you power on the Monster M4SK, you can select which one with a button press at power on time. I am hoping that when 1.54 is finally done, we can have similar support for the Teensy 4.x processors.


Is there an ETA on the next version 1.54?
 
Status
Not open for further replies.
Back
Top