top bar

Difference between revisions of "Arduino32bitBoards"

(Created page with "'''Micro-manager-Arduino32bit''' The original Micro-Manager Arduino firmware is specifically written for the Arduino UNO and does not work on the newer and faster 32-bit Ardu...")
 
Line 1: Line 1:
'''Micro-manager-Arduino32bit'''
+
{| style="text-align: left"
 +
!Summary:
 +
|Adapter for the [http://www.arduino.cc/ 32bit Arduino boards]
 +
|-
 +
!Author:
 +
|Bonno Meddens
 +
|-
 +
!License:
 +
|LGPL
 +
|-
 +
!Platforms:
 +
|Linux, Mac, and Windows
 +
|-
 +
!Since version:
 +
|1.4.23 - 20190731
 +
|-
 +
!Automated Serial Port Setup:
 +
|Yes
 +
|-
 +
!Peripheral device discovery:
 +
|No
 +
|-valign="top"
 +
!Wiki page:
 +
|Bonno Meddens<br/>Nico Stuurman
 +
|}
 +
----
  
The original Micro-Manager Arduino firmware is specifically written for the Arduino UNO and does not work on the newer and faster 32-bit Arduinos. This project aims to rewrite the original firmware to get compatibility with the newer arduino compatible boards. The original firmware and guide can be found on the micro-manager website link.
+
The original [Micro-Manager Arduino firmware] was specifically written for the Arduino UNO and does not work on the newer and faster 32-bit Arduinos. This project aims to rewrite the original firmware to get compatibility with the newer arduino compatible boards. The original firmware and guide can be found on the micro-manager website link.
  
Please keep in mind that most 32-bit Arduino boards are damaged when 5V is applied to the input pins. Voltage level conversion must be used for 5V input on  boards that do not tolerate 5V. Also, the digital output is 3.3V. Most devices that work with 5V input also work fine with 3.3V input but this is not guaranteed.
+
Most 32-bit Arduino boards are damaged when 5V is applied to the input pins. Voltage level conversion must be used for 5V input on  boards that do not tolerate 5V. Also, the digital output is 3.3V. Most devices that work with 5V input also work fine with 3.3V input but this is not guaranteed.
  
 
The Teensy 3.5 is currently the recommended board.
 
The Teensy 3.5 is currently the recommended board.
Advantages of the sketches provided in this repo
+
Advantages of the sketches provided in this repo:
 +
* Works on newer and faster boards, pin registers don't have to be used
 +
* Easier to adapt since pin registers aren't used
 +
** This allows PWM + blanking
 +
** DAC + blanking
 +
** Possibility to choose different pins
 +
* No need for external DAC with most boards
  
    Works on newer and faster boards, pin registers don't have to be used
+
==Advantages of 32 Bit-boards in general==
    Easier to adapt since pin registers aren't used
+
        This allows PWM + blanking
+
        DAC + blanking
+
        Possibility to choose different pins
+
    No need for external DAC with most boards
+
  
Advantages of 32 Bit-boards in general
+
* Much faster, because of higher clock speed and more work performed per clockcycle.
 +
* Baudrate increased to 500 000, nearly 9 times the transferspeed between Arduino and Micro-Manager (there are some exceptions). This can be even increased to 2 000 000, with micro-manager 2
 +
* Most 32-bit Arduinos have a build-in DAC (max 3.3V output)
 +
* Higher PWM frequencies and PWM bitresolutions
  
    Much faster, because of higher clock speed and more is done per clockcycle.
+
==Working Arduino boards:==
    Baudrate increased to 500 000, nearly 9 times the transferspeed between Arduino and Micro-Manager (there are some exceptions). This can be even increased to 2 000 000, with micro-manager 2
+
    Most 32-bit Arduinos have a buildin DAC (max 3.3V output)
+
    Higher PWM frequencies and PWM bitresolutions
+
 
+
Working Arduino boards:
+
  
 
     ESP32
 
     ESP32

Revision as of 11:05, 31 July 2019

Summary: Adapter for the 32bit Arduino boards
Author: Bonno Meddens
License: LGPL
Platforms: Linux, Mac, and Windows
Since version: 1.4.23 - 20190731
Automated Serial Port Setup: Yes
Peripheral device discovery: No
Wiki page: Bonno Meddens
Nico Stuurman

The original [Micro-Manager Arduino firmware] was specifically written for the Arduino UNO and does not work on the newer and faster 32-bit Arduinos. This project aims to rewrite the original firmware to get compatibility with the newer arduino compatible boards. The original firmware and guide can be found on the micro-manager website link.

Most 32-bit Arduino boards are damaged when 5V is applied to the input pins. Voltage level conversion must be used for 5V input on boards that do not tolerate 5V. Also, the digital output is 3.3V. Most devices that work with 5V input also work fine with 3.3V input but this is not guaranteed.

The Teensy 3.5 is currently the recommended board. Advantages of the sketches provided in this repo:

  • Works on newer and faster boards, pin registers don't have to be used
  • Easier to adapt since pin registers aren't used
    • This allows PWM + blanking
    • DAC + blanking
    • Possibility to choose different pins
  • No need for external DAC with most boards

Advantages of 32 Bit-boards in general

  • Much faster, because of higher clock speed and more work performed per clockcycle.
  • Baudrate increased to 500 000, nearly 9 times the transferspeed between Arduino and Micro-Manager (there are some exceptions). This can be even increased to 2 000 000, with micro-manager 2
  • Most 32-bit Arduinos have a build-in DAC (max 3.3V output)
  • Higher PWM frequencies and PWM bitresolutions

Working Arduino boards:

   ESP32
       Baudrate: 115200
       DAC1 on pin 25 and DAC2 on pin 26
       ADC not implemented
       Able to set PWM frequency and Resolution
       Low Price boards available
       KEEP IN MIND: NOT 5V TOLERANT!!
   ItsyBitsy M4
       The ADC does not work at the moment because of DAC implementation
       Channel 8 has become channel 7
       KEEP IN MIND: NOT 5V TOLERANT!!

Teensy 3.x Boards All 3.x boards

   Able to set PWM frequency and Resolution, for more information link
   At least one DAC
   handy: Pinouts page [1]
   Teensy 3.1 & 3.2
       Seems to work fine, but more testing is needed
       All currently used pins in the sketch are 5V tolerant
       Only one DAC on pin A14
       All other pins are the same as the original UNO firmware
   Teensy 3.5 (Recommended)
       Not yet tested
       All currently used pins in the firmware are 5V tolerant
       DAC1 on pin 21 and DAC2 on pin 22
       Able to set PWM frequency and Resolution
   Teensy 3.6
       Uses same sketch as teensy 3.5
       Faster than teensy 3.5
       KEEP IN MIND: NOT 5V TOLERANT!!

Not working boards:

   Esp8266 board
   Arduino Due
   Sipeed Maix boards

To be tested:

   Teensy LC
   A SAMD21 board
   Teensy 3.5 (Very likely Works)
© Micro-Manager : Vale Lab, UCSF 2006-2011 | All Rights Reserved | Contact