Someone once asked if there are materials that can work with development kits like Arduino? I have seen this question many times, and I want to know myself. This article will attempt to cover relevant information and provide some useful insights on determining feasibility.
Expansion Boards
Arduino has a very broad feature set, allowing for the development of custom materials called expansion boards, which can be directly connected to the header. Typically, these expansion boards have well-defined libraries specifically designed for any technology included in the expansion board.Here is a list of daughter boards/expansion boards that can be used with Arduino, Raspberry Pi, ARTIK, MegaPi, Pioneer, and Qwiic.
Additionally, the following article also introduces some information about expansion boards for reference:
☞ Arduino Expansion Boards
Electrical Limitations
The following specifications generally apply to most Arduino modules, but it’s best to find specifications suitable for each model to determine ratings. According to literature, the absolute maximum rating for each pin is 40mA (for each I/O pin); if using USB connection, the 5V output should be limited to around 400mA since USB ports limit current to 500mA; if an external power supply is used with the round socket, the 5V output can increase to about 900mA since the onboard regulator’s maximum rating is 1A.
Do not operate at maximum current or near maximum current, as this may damage the pins or the development board. Use safety factors to extend the life of the development board. If the development kit differs from Arduino, be sure to read the provided specifications to understand relevant recommendations.
Data and Speed Limitations
-
Data Storage
Set maximum storage space and RAM specifications for applications, depending on the model of the development kit used. The maximum storage space for Arduino Uno is 32KB, and the combined storage space for EEPROM+SRAM is 3KB, while Mega’s storage space is 256KB, and the combined storage space for EEPROM+SRAM is 12KB. The amount of RAM will determine how many operations can be executed simultaneously. The size of storage space will determine how much data needs to be saved.
-
Internal Clock Frequency
The internal oscillator of Arduino Uno and Mega operates with a 16MHz crystal. If designs requiring higher data rates are included, some information may be lost or completely lost due to desynchronization. Additionally, since the internal circuits are not designed for that level of frequency, materials may exhibit unexpected behavior. The rated clock frequency (internal or external) will be listed in the specifications of all microcontrollers.
Interface Options
While the microprocessor on Arduino is excellent, the number of data interfaces is limited. If the technology you want to use cannot currently be used through expansion boards or pins, it is likely difficult to make that technology compatible with Arduino. It is always recommended to read the options included in the specifications. If your requirements exceed the scope of the development kit, it is recommended to adopt industrial standard microcontrollers with broader data interface options. Many manufacturers produce these products, such as Microchip, Analog Devices, Infineon, Intel, etc.
Library Implementation
There are already a large number of open-source libraries for certain technologies in the network. If you haven’t started yet, you can search online to see if there are existing libraries suitable for your required application (which may even include expansion boards). I have seen custom inkjet libraries, fast Fourier transform libraries, stepper motor driver libraries, and LED strip libraries, etc. Utilizing existing libraries can make coding easier without having to build from scratch. This is not just an exclusive advantage of Arduino.
If a technology does not have a library, it must be developed from scratch. Many development kits are usually open-source, allowing technicians to develop their libraries, but this is beyond my understanding.
Final Note
Multiple solutions can be thought of for a particular problem rather than focusing on just one. For example, if certain materials cannot be used with Arduino, then look at other development kits, which may have specifications that better match your application requirements. Arduino may be very easy to implement for some issues, while for others, it may be nearly impossible or impractical.
For more technical information related to development tools, please refer to:
-
Seeeduino LotusGrove Starter Kit FAQ
-
Expansion Boards/Daughter Boards
-
Building Analyzers in STM32CubeIDE
-
Segger J-Link Module Software and Hardware Feature Overview
-
BP-DAC61402 Linux Development Board Control
↙
Click “Read the original text” below for more
Leave a Comment
Your email address will not be published. Required fields are marked *