Dec 5, 2022

Have an idea? Invent with Arduino

·
Arduino
Prototyping
Inventions

Do you have an idea for an electronic device that you want to build? Even for experienced electrical and software engineers, creating a prototype can be an arduous process of setting up tooling, researching components, laying out PCBs, writing firmware, and writing drivers. If you choose to go with the tools provided by a microcontroller manufacturer, you might only have access to a few code examples and a limited number of device drivers. However, if the microcontroller of your choice has Arduino ported to it, you have a plethora of hardware and software components you can use off the shelf, for free.

Whether you want to make a consumer electronics product, an industrial control, or a wearable item, you can rapidly develop your idea with Arduino. Let's do a quick survey of functionality that you can easily incorporate in your project by leveraging the Arduino ecosystem:

  • wireless communication: Wifi, Bluetooth, infrared, NFC, LoRa
  • wired communication: ethernet, USB
  • LEDs: standard LEDs, NeoPixels
  • motor control: stepper motors, brushless DC, servos
  • temperature measurement: thermistors, thermocouples
  • humidity and moisture sensors
  • data storage: flash/SD/mmc, eeprom, cloud services like Google Drive
  • databases: sqlite, mysql, postgresql, MSSQL
  • displays: monochrome or color LCD, OLED

That is a small portion of the functionality available off the shelf with Arduino. Many libraries are listed on the official Arduino site (https://www.arduino.cc/reference/en/libraries/), and there are oodles of unofficial projects on Github and other code sharing sites.

As for available hardware, there are a ton of Shields that stack on Arduino boards as well as hardware modules that are easy to connect with Arduino boards. These days, the stuff available to hobbyists spans a wide range of functionality, and all the complexity of using the hardware has already been mitigated by the time it gets to you. Parts have been chosen, drivers have been written, and circuit boards have been designed and fabricated. Depending on how complicated your project is, engineer will find using Arduino is almost like putting together Legos. It's fun and somewhat easy. The documentation tends to be decent the open source hardware and software, so there is always help available.
Sept 21, 2022

Using Arduino in the Lab

·
Arduino
Datalogging

If you are like me, there have been times when I was working in a lab or test facility that I needed a quick and dirty way to collect data or control a process. Sometimes using PLCs from Allen Bradley or equipment from National Instruments with Labview cost too much or take too much time to set up for small tasks. With Arduino you can make a solution cheaply and quickly. Everything is open source, so you can alter any of the software or hardware if you desire. This comes with the caveat that you should not use Arduino with anything with safety implications or with systems that are business critical, unless you really know what you are doing.

Let's look at two cases for using Arduino in a lab- datalogging and controlling a simple process. The Arduino can directly read sensors with it's analog to digital converter or by communicating with a sensor over I2C, ethernet, wifi, or other means. Reading from sensors like thermistors, phototransistors, rotary encoders, or limit switches is very easy with Arduino. If you want to read lab equipment with a communication port of some kind, there is a good chance that an Arduino Hat exists for that purpose and that software to read from a particular piece of equipment has already been written. Even if a driver has not been written for a piece of lab equipment, most likely there is a driver for the communication protocol that the equipment uses. Writing a custom driver might be serious undertaking in itself, but at least a good chunk of the work has probably already been done for you. As for storing the data, it could be stored onto an SD card or sent over serial to computer. The computer could then store the data to a CSV file or to a database.

Controlling simple processes is a snap with Arduino. The Arduino can drive relays, solid state relays, servos, solenoids, stepper motors, and more. If you need turn on something at timed intervals, you can use Arduino to turn on a relay during set times. Other than doing a timed sequence, you can make a PID controller with Arduino. There are several PID libraries you can use, and you just have to tune for your case. Another option is to create a state machine. State machines are good for things like a traffic light controller. Each state has associated inputs and outputs, and states change according to the inputs. There are several state machine libraries for Arduino.

If you need to do solve a problem in a pinch, Arduino is a useful tool to have.