Teensy 4.1 or Arduino GIGA R1


Active member
Hello and Merry Christmas to everyone!!

I need your opinion on my project, I will explain to you:

I built a midi controller with a teensy 4.1, it is equipped with 54 potentiometers, 54 switches, 64 LEDs, and a 37-key keyboard (with velocity and aftertouch). The potentiometers and switches are multiplexed by 7 HC4067M, the LEDS are managed by 4 TLC5947, the keyboard directly via the teensy pins.

The whole thing works perfectly, however I have to rebuild it because I have to make some modifications. The controller being managed by a teensy my potentiometer are sampled in 12 bits, and I wonder if it would not be more interesting to use an arduino GIGA R1 on the other hand because this one could sample me in 14 bits and another, given that the GIGA is dual core I could ask the 480 Mhz core to manage the scanning of the potentiometers and the 240 Mhz core to manage the scanning of my keyboard. Currently with the Teensy I can scan my keyboard every 50 us, the potentiometer every 600 us.

I am used to working with teensy, and the choice of using an arduino giga r1 is for my difficult one.... This is why I need your opinions and your suggestions.

Thank you all!!


  • SYNTH.jpg
    218.8 KB · Views: 21
My 2 cents....

The GIGA dual core can be fun to play with. I have one and the dual cores are fun to try out.

I also find they are a PIA! Their builds feel like they are 5-10 times slower!
They feel like they are mostly Orphaned on forums/issues.
As far as I am concerned a lot of their subsystems are subpar.
a) Things like by default their uarts are used unbuffered
b) SD slot is SDIO but it does poorly using their own library. External SD is also slow although work being done on SDFat to improve.
c) Wire library only works at a couple of speeds
d) USBHost is not good
e) USB Types other than Serial, I have not tried much.
Sorry could say lots more, but limiting typing right now
I also have been playing with a GIGA and can vouch for what KurtE is saying. They use Arduino-Mbed-os which is still developing. Makes me appreciate Teensy's a lot more and the hard work everybody has put into them.
I thought I would mention, that a similar thread was recently opened up on the Arduino forum:
Last edited:
So I have a new distraction to try out on the GIGA board:

Soon to plug it into the GIGA and see if it works at all.

I have a few of the OV7670 cameras, that I can plug in, but the shield code mainly mentioned using the OV7675, so I have
one sold by Arduino that should be here Monday.

Playing with some of these Arduino boards, is helping show me things I would like to do if/when I make any new Teensy break out boards.
Like an updated version of my kitchen sink Micromod board.

For example I wish my connectors on those boards had the connectors like these that you can plug into from either the top or the bottom of the board. my current ones I decide which side to solder on the connector.

Will be interesting to experiment more with their camera library that is installed for those boards, where they support maybe 4 different cameras, and then you include a subclass
#include "ov767x.h"
// uncomment the correct camera in use
OV7670 ov767x;
// OV7675 ov767x;
Camera cam(ov767x);

And experiment with the different ways to do their framebuffers:
Other buffer instantiation options:
  FrameBuffer fb(0x30000000);
  FrameBuffer fb(320,240,2);

If resolution higher than 320x240 is required, please use external RAM via
  #include "SDRAM.h"
  FrameBuffer fb(SDRAM_START_ADDRESS);
  // and adding in setup()
FrameBuffer fb;
distractions... always distractions :D
I have the display but not the camera. It seems to work ok and has a couple of 3D animations as demos. One thing to be careful of is the pin labels on the GIGA don't match the pin labels on the display and the connectors are not keyed. Here is a link:
to a post about it.

I was able to connect it up, and tried a few of the examples.

Like, the one to read from camera and display on it... Which is working, I had to edit it for this camera slightly,
but not bad for a few minutes.

Currently the camera is only doing 320x240 and then it does some quick and dirty scaling up to 640x480... I will play some to see if it can handle camera at full...

Will probably continue on the Arduino forum
continued on the Arduino forum: