Hi all, I really could use some help selecting a new board/platform please.
I'm using an arduino Mega, I need to run a CANBUS shield and a 480x320 TFT screen, ideally in parallel mode NOT SPI for performance reasons. My current setup isn't doing what I need, so I'm looking at new options.
I'd like to be able to use something compatible or similar to the Arduino IDE, or at least something that has good enough support and documentation for a relative newbie.
Aside from that, really just the fastest/most RAM board with a good compatible CANbus shield and enough pins to run the TFT in parallel mode would be great. I started looking through the Adafruit store and quickly became overwhelmed by choice.
Don't especially need bluetooth or wifi, something that's fast and still beginner friendly should be fine.
Thank you for any recommendations.
High performance boards, need help selecting
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- Taymar02
- Posts: 1
- Joined: Mon Mar 20, 2023 12:44 pm
- blnkjns
- Posts: 963
- Joined: Fri Oct 02, 2020 3:33 am
Re: High performance boards, need help selecting
The Arduino DUE is a logical step up for many parallel pins with increased performance/RAM.
But don't skip SPI yet. I find with a Teensy 4, a SPI display can be as powerful as a parallel one on a low speed board like the MEGA.
But don't skip SPI yet. I find with a Teensy 4, a SPI display can be as powerful as a parallel one on a low speed board like the MEGA.
- adafruit_support_mike
- Posts: 67446
- Joined: Thu Feb 11, 2010 2:51 pm
Re: High performance boards, need help selecting
You'll probably run into a conflict between the performance you want and the idea of a board being beginner-friendly.
For instance, driving a TFT through its parallel interface will probably require 24 lines carrying color data. All 24 pins need to be changed for every pixel in the image, and trying to change them one by one with digitalWrite() will be hideously slow.
The fast way to drive those pins would be with a DMA peripheral.. a block of hardware that moves data from one region of memory to another independently of the microcontroller's ALU. Learning to use a microcontroller's DMA system is a moderately advanced subject, and each chip has its own way of doing things.
The connection between advanced features and high performance.. especially when you have a lot of signals to control.. makes suggesting a board harder. You'll probably find it easier to use 'number of pins' as your first selection rule, then look at the microcontroller's datasheet to see if it looks like a device you can learn.
For instance, driving a TFT through its parallel interface will probably require 24 lines carrying color data. All 24 pins need to be changed for every pixel in the image, and trying to change them one by one with digitalWrite() will be hideously slow.
The fast way to drive those pins would be with a DMA peripheral.. a block of hardware that moves data from one region of memory to another independently of the microcontroller's ALU. Learning to use a microcontroller's DMA system is a moderately advanced subject, and each chip has its own way of doing things.
The connection between advanced features and high performance.. especially when you have a lot of signals to control.. makes suggesting a board harder. You'll probably find it easier to use 'number of pins' as your first selection rule, then look at the microcontroller's datasheet to see if it looks like a device you can learn.
Please be positive and constructive with your questions and comments.