VINA-D51

by BDMICRO, LLC

Image of Board

The VINA-D51 is a powerful, robust, pluggable control module designed for modular control applications, even in harsh environments. Built with all-industrial grade components, latching connectors and features, it is well-suited for a wide variety of automation and control applications.

  • Performance: Powerful 32-bit ARM Cortex M4 microcontroller @ 120 MHz, based on the Microchip ATSAMD51N20 with 1 MB of program flash and 256 KB of RAM.
  • Industrial grade: All industrial spec parts and Latch-Lock connectors for reliable operation in demanding applications.
  • Connectivitiy:
    • USB interface for connecting to your development PC or Laptop computer for programming.
    • provides virtual COM port for CircuitPython console and UART, and mass storage filesystem interface to the 64 MB on-board QSPI flash for programs and data storage.
  • Control & interfacing:
    • RS485, I2C, WIFI & Expansion: Latching RS485 interface connector on-board which is a UART-style differential bus with high noise immunity common in manufacturing and control automation.
    • Latching I2C interface connector on-board for sensors, controllers, displays, keypads, etc, on this commonly used bus; 12-pin AUX Expansion Socket on-board for expansion versatility and WIFI-enabled using the ubiquitous and inexpensive ESP-01S module.
    • additionally, VINA-D51 brings out 48 I/O capable of Digital I/O, UARTs, I2C, SPI, A/D, DAC, USB, and many other useful control and interfacing capabilities to the edge + 10 additional I/O on the AUX Socket.
  • Development & debug:
    • CircuitPython and UF2 Bootloader pre-installed to get started developing right away with just a laptop or PC and a text editor.
    • With a standard ARM Cortex SWD debug header on-board, low level programming in C/C++ with source-level, single-step debugging utilizing a hardware programmer like the Segger J-Link is easy.
  • Data storage:
    • 64 MB of on-board flash filesystem storage space for your programs and data presented as an external drive on your development workstation.
    • Soldered directly to the board, this flash storage will not suffer from corrosion or vibration in harsh environments like SD-Card type storage are prone.
  • Flexible voltage:
    • Robust power section with wide voltage input range for flexible and reliable operation, and enough headroom to supply power to other devices up to about 3 A.
    • incorporates industrial grade Molex Latch-Lock connector that will not vibrate loose even in the most demanding applications.

Technical details

  • 32-bit ARM Cortex M4F MCU @ 120 MHz using the ATSAMD51N20A
  • 1 MB Firmware Flash and 256 KB Static RAM
  • Hardware Peripheral Control - A/D, DAC, Digital I/O, UARTs, I2C, SPI, I2S, PWM, Timers, Capacitive Touch, and more
  • USB Port for programming and interfacing
  • Virtual COM Port for connecting to the console using standard terminal emulator from a PC or Laptop - no additional hardware required for programming
  • 16 MB Flash Filesystem for data and programs
  • Mass Storage Device Interface to PC or Mac for downloading programs
  • WIFI using the ESP-01S module socket
  • WIFI using the BDMICRO ATW-01 WINC1500-based WiFi module
  • Wide voltage input from 3.7 to 24 V with robust Latch-Lock connector that won’t vibrate loose
  • USB Port Power
  • RS485 Port - with optional termination on-board, for interfacing with this common, differential, high noise immunity industrial control bus — mating part is the Molex —0430250408 3mm MicroFit 3.0 Series; optional power can be supplied to or from the RS485 bus through jumper selection
  • I2C connector - 4-pins supplying SCL, SDA, GND, and optional 3.3 V to power external I2C devices like sensors and displays
  • On-board I2C pull-ups - can be optionally disabled
  • ARM Cortex SWD Debug Port - for low-level firmware flashing and source level single-step debugging with hardware programmer support such as the Segger J-Link
  • Robust, Latch-Lock Power Connector - will not vibrate loose, suitable for harsh environments; mating part is the Molex 0430250208 MicroFit 3.0 series
  • Jumper Selectable Power - either USB or external
  • Jumper Enabled RS485 Bus termination
  • Jumper Enabled I2C Bus pull-ups
  • Jumper Enabled 3.3 V Power to or from the RS485 Bus
  • Jumper Enabled 3.3 V Power to or from the I2C Bus
  • Fused Power Inputs - both USB and External Power fused appropriately for their voltage input and current draw
  • Power Indicator LED
  • 3 Programmable Status LEDs - Red, Green, and Blue
  • RX & TX LEDs - for use by CircuitPython to indicate transmission and reception of data over USB, or fully programmable under application control
  • Small Size - 1.6” x 2.8” (41 mm x 71 mm)

Misc

Purchase

Contribute

Have some info to add for this board? Edit the source for this page here.

CircuitPython 9.0.5

This is the latest stable release of CircuitPython that will work with the VINA-D51.

Use this release if you are new to CircuitPython.

Release Notes for 9.0.5

Built-in modules available: _asyncio, _bleio, _pixelmap, adafruit_bus_device, adafruit_pixelbuf, aesio, alarm, analogio, array, atexit, audiobusio, audiocore, audioio, audiomixer, audiomp3, binascii, bitbangio, bitmaptools, board, builtins, builtins.pow3, busdisplay, busio, busio.SPI, busio.UART, codeop, collections, countio, digitalio, displayio, epaperdisplay, errno, floppyio, fontio, fourwire, framebufferio, frequencyio, getpass, gifio, i2cdisplaybus, i2ctarget, io, jpegio, json, keypad, keypad.KeyMatrix, keypad.Keys, keypad.ShiftRegisterKeys, locale, math, microcontroller, msgpack, neopixel_write, nvm, onewireio, os, os.getenv, paralleldisplaybus, ps2io, pulseio, pwmio, rainbowio, random, re, rgbmatrix, rotaryio, rtc, samd, sdcardio, select, sharpdisplay, storage, struct, supervisor, synthio, sys, terminalio, time, touchio, traceback, ulab, usb_cdc, usb_hid, usb_midi, vectorio, warnings, watchdog, zlib

CircuitPython 9.1.0-beta.3

This is the latest development release of CircuitPython that will work with the VINA-D51.

Alpha development releases are early releases. They are unfinished, are likely to have bugs, and the features they provide may change. Beta releases may have some bugs and unfinished features, but should be suitable for many uses. A Release Candidate (rc) release is considered done and will become the next stable release, assuming no further issues are found.

Please try alpha, beta, and rc releases if you are able. Your testing is invaluable: it helps us uncover and find issues quickly.

Release Notes for 9.1.0-beta.3

Built-in modules available: _asyncio, _bleio, _pixelmap, adafruit_bus_device, adafruit_pixelbuf, aesio, alarm, analogio, array, atexit, audiobusio, audiocore, audioio, audiomixer, audiomp3, binascii, bitbangio, bitmaptools, board, builtins, builtins.pow3, busdisplay, busio, busio.SPI, busio.UART, codeop, collections, countio, digitalio, displayio, epaperdisplay, errno, floppyio, fontio, fourwire, framebufferio, frequencyio, getpass, gifio, i2cdisplaybus, i2ctarget, io, jpegio, json, keypad, keypad.KeyMatrix, keypad.Keys, keypad.ShiftRegisterKeys, locale, math, max3421e, microcontroller, msgpack, neopixel_write, nvm, onewireio, os, os.getenv, paralleldisplaybus, ps2io, pulseio, pwmio, rainbowio, random, re, rgbmatrix, rotaryio, rtc, samd, sdcardio, select, sharpdisplay, storage, struct, supervisor, synthio, sys, terminalio, time, touchio, traceback, ulab, usb, usb_cdc, usb_hid, usb_midi, vectorio, warnings, watchdog, zlib

Absolute Newest

Every time we commit new code to CircuitPython we automatically build binaries for each board and language. The binaries are stored on Amazon S3, organized by board, and then by language. These releases are even newer than the development release listed above. Try them if you want the absolute latest and are feeling daring or want to see if a problem has been fixed.

Previous Versions of CircuitPython

All previous releases of CircuitPython are available for download from Amazon S3 through the button below. For very old releases, look in the OLD/ folder for each board. Release notes for each release are available at GitHub button below.

Older releases are useful for testing if you something appears to be broken in a newer release but used to work, or if you have older code that depends on features only available in an older release. Otherwise we recommend using the latest stable release.