DynaLoRa-USB

by BH Dynamics

Image of Board

Overview

DynaLoRa-USB is a low cost and open source, CircuitPython and Arduino compatible, LoRa tinkering dongle designed by and for makers.

Our aim is to facilitate access to the hottest radio technology (LoRa) through the use of maker-friendly languages such as Python and the Arduino framework. With that intent, DynaLoRa-USB is a simple device that you just plug and play with! It includes a powerful SAMD21 microcontroller and a HopeRF LoRa radio module (RFM96W for 868/915 MHz), an user button, an RGB LED and an external interface to plug your favorite peripherals.

  • ATSAMD21E18 48 MHz Cortex-M0+ processor with 256 KB flash + 32 KB RAM, compatible with CircuitPython and Arduino
  • 32 Mbit SPI flash for storing CircuitPython code and libraries
  • High performance HopeRF radio module. We offer the device with the RFM96W, which is capable of LoRa modulation at 868/915 MHz, but you can easily replace it by the 433 MHz version (RFM95W) or a generic Sub-GHz radio (RFM69HCW) since they are pin compatible.
  • User-controllable WS2812B addressable RGB LED
  • Regular user LED
  • 3V3 @ 1A power through a DC/DC buck regulator from USB
  • MicroSD Card slot
  • GPIO header exposing SWD interface, a full SERCOM (enabling external SPI/I2C/UART peripherals) and a DAC for prototyping
  • This version comes with an USB-A plug. It should be easy enough to modify the design to offer other options (such as USB-C).
  • Comes preprogrammed with the UF2 Bootloader and latest stable release of CircuitPython.

Hardware is licensed under CERN OHL v1.2.

Documentation

This board is open source hardware. You can check the docs and contribute here.

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 DynaLoRa-USB.

Use this release if you are new to CircuitPython.

Release Notes for 9.0.5

Built-in modules available: analogio, array, board, builtins, busio, busio.SPI, busio.UART, collections, digitalio, math, microcontroller, neopixel_write, nvm, onewireio, os, pwmio, rainbowio, random, rotaryio, rtc, sdcardio, storage, struct, supervisor, sys, time, touchio, usb_cdc, usb_hid, usb_midi

Included frozen(?) modules: adafruit_rfm9x, neopixel

CircuitPython 9.1.0-beta.3

This is the latest development release of CircuitPython that will work with the DynaLoRa-USB.

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: analogio, array, board, builtins, busio, busio.SPI, busio.UART, collections, digitalio, math, microcontroller, neopixel_write, nvm, onewireio, os, pwmio, rainbowio, random, rotaryio, rtc, sdcardio, storage, struct, supervisor, sys, time, touchio, usb_cdc, usb_hid, usb_midi

Included frozen(?) modules: adafruit_rfm9x, neopixel

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.