Arduino 2020: features, ideas, and more … post yours! @arduino @adafruit #arduino

Arduino Featured

Adafruit has been part of the Arduino community from the start, making and sharing open-source libraries, code, and hardware. We’ve put together a list of updates and suggested features based on community feedback, things we are re working on, and requests we have received. Here’s the list we came up with!

Post up in the comments with what you want to make, share, build, or see in Arduino in 2020. We’ll also post this to the Arduino developer list.


DOWNLOAD STATS FROM ARDUINO FOR COMMUNITY AND DEVELOPERS

Currently, there is no way (unless you work at Arduino) to get the download stats for libraries. The way the Arduino Library manager works is that once a copy is moved to Arduino, stats for developers are not available and are not published. The site: arduinolibraries.info is an attempt at that, but it can only get data from GitHub and public sources.

Having the download stats of the library you have contributed to Arduino would help software developers and community to know what’s popular, what development resources are needed, and encourage developers to contribute their libraries to Arduino. Download stats were mentioned in April of 2019. We got a top 10 from the presentation and have a post about it here.


TINYUSB SUPPORT IN ARDUINO-CORE

The Arduino low level hardware support was recently “chainsaw”-ed to make adding new hardware cores easy and keep them all compatible. TinyUSB is an open-source cross-platform USB Host/Device stack for embedded systems, and it is a perfect fit as a default USB stack (when none is provided by the hardware port). It allows developers to add USB support to their hardware quickly and easily. The supported boards include: MicroChip SAMD, Nordic nRF5x, NXP iMX RT, NXP LPC, Sony, ST STM32, Tomu and more.

If Arduino replaced the current USB stack with TinyUSB, more hardware makers and software developers would be able to contribute to the Arduino ecosystem. This would make it  easier to add new chipsets, and open up the peripherals available. (For example, mass storage which is an oft-requested but unavailable class for Arduino). Best of all, the same USB interfaces would work across all ports!


UF2 BOOTLOADER SUPPORT FROM ARDUINO

UF2 is an open-source file format and bootloading specification, developed by Microsoft for PXT (also known as Microsoft MakeCode) that makes it super-easy to flash microcontrollers. It shows up as a USB drive and new/updated software can be flashed to the device eliminating much of the frustration for users. Even better you can drag existing firmware OFF the device, for backup and distribution. It solves many problems with serial port drivers/identification, tricky command line tools like bossa, and project setup.There are bootloaders for Microchip ATSAMD21 and ATSAMD51, Arduino UNO, STM32F103, STM32F4, Nordic NRF52840, Linux (RPi Zero), Cypress FX2 and more!

Microsoft has a great post about it, and check it out on GitHub.
 
Being able to flash devices immediately without special cables or software, and being able to run Arduino (or Python, tinyGo, uLisp, etc) on your hardware gives users the maximum choice for what they want to do. It’s the easiest way to send updates to  users if they are developers or hardware makers. Arduino supporting UF2 would allow more people to contribute to the Arduino ecosystem and participate with their hardware innovations.


ARDUINO LIBRARY STANDARDS & AUTOMATION

Writing software is like gardening – the flowers are beautiful but you’re going to spend a lot of time weeding! Except instead of weeding, it’s keeping up to date with new frameworks, operating systems and dependencies. It’s a ton of work! Automation makes this easy – there are free continuous integration services like Travis and GitHub actions. It would be really great if there was an Arduino CI system check/prerequisite for inclusion into the Arduino library manager. Stuff like dependencies, clean formatting, documentation, and other ‘linting’ that could be done to promote good quality libraries and coding styles. There’s been more work on this recently, in compilation-testing, which is a great start. It would be great to have the CI script do even more common-error checking like -Wall, or clang-format.


UNIFORM TRANSFER OF STRUCTURED DATA OF UART, SPI, ETC. IN ARDUINO

Related to library standards checking with automation – it would be a great help when creating better libraries and examples if there were some lightly-structured helpers for the common bus interfaces like UART/SPI/I2C, so folks don’t have to copy-and-paste the same code over and over for transmitting data. This would be a big boon for library writers who can have small bugs slip in and also will keep code updated as the interfaces improve – for example when the I2C buffer size changes, SMBus-style register reading, bitmask twiddling, or when transactions are improved/added. Adafruit created – Adafruit_BusIO. Having a universally-available toolset would also keep hardware forks from adding or changing the bus interfaces.


SUPPORT FOR GROVE / QWIIC / STEMMA ON ARDUINO HARDWARE

On the Arduino MKR there is a 5-pin JST SH connector, with +5V, ground, and SDA/SCL. This is great because we’re definitely seeing a big shift over to I2C as its the one and only ‘universal’ interface for sensors and mainboards, it’s even supported in Linux and there’s USB to I2C adapters that cost $1.50. However, given it’s a 5V power supply not 3V, it risks having I2C pullups to 5V on the ‘client’ device if its plugged into something like a Grove sensor – or possibly trying to connect it to a non-regulated sensor and frazzling it. It’s not a big issue but it would be great if the power supply was 3V so it would work with SparkFun QWIIC, Seeed Grove, DF Robot Gravity, or Adafruit STEMMA / STEMMA QT. If everyone making breakouts would be interested in committing to a standard, it would make customers very happy!


Post up in the comments with what you want to make, share, build, or see in Arduino in 2020.


Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 38,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — New Products 11/15/2024 Featuring Adafruit bq25185 USB / DC / Solar Charger with 3.3V Buck Board! (Video)

Python for Microcontrollers – Adafruit Daily — Select Python on Microcontrollers Newsletter: PyCon AU 2024 Talks, New Raspberry Pi Gear Available and More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

Adafruit IoT Monthly — Halloween, WiLo, and more!

Maker Business – Adafruit Daily — The worlds largest car exporter: China

Electronics – Adafruit Daily — Are you grounded?

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



2 Comments

  1. Arduino should release a Feather compatible board!

  2. (from the arduino developer list)…

    Bountysource campaign to save the AVR backend in GCC

    https://www.bountysource.com/issues/84630749-avr-convert-the-backend-to-mode_cc-so-it-can-be-kept-in-future-releases

Sorry, the comment form is closed at this time.