Archive for the 'Arduino' Category

The Versatile Arduino Nano

I’m currently stuck at home with some kind of respiratory crud that seems to be going around (and watching my symptoms to make sure it doesn’t evolve into pneumonia), so I decided to sort through some of the stuff in my various parts organizers. To my surprise I discovered that I’ve managed to accumulate about 20 Arduino Nano PCBs. I guess I keep on ordering them thinking I’m running low when I’m really not.

In an earlier article I had written that the Nano was an Arduino product that didn’t suffer from an oddball pin layout. Something like an Uno, which is probably what most people think of when they hear the word “Arduino” is a nice little PCB, but it has a goofy gap between the socket headers on one side that precludes using a standard 0.1″ perfboard to assemble an ad-hoc shield. The Nano, on the other hand, has a physical footprint that is almost, but not quite, equivalent to a 30-pin DIP. It is also a lot smaller than an Uno or other full-size Arduino, and it has the same MCU.

Continue reading ‘The Versatile Arduino Nano’

Microcontroller Modules

This article is about is packaging a microcontroller project, and why it’s such a struggle to get something that looks halfway presentable. You can buy cheap, well-made PCBs and components from a multitude of sources, but when it comes to putting it all into a box (or on a panel, or wherever), things can get ugly. Literally. Even if the project does turn out nicely, there’s a lot of work involved getting it there. There has to be a better way.

Continue reading ‘Microcontroller Modules’

The ESR electronics Tricorder: Update

The Arduino ESR project is moving along, albeit a little slowly. The miniature OLED displays finally showed up,  and I have to admit, I really like them. A lot. I’ve come up with a concept that will use the small OLED as a dynamic menu, with corresponding pushbuttons to move and select options.

Continue reading ‘The ESR electronics Tricorder: Update’

The ESR electronics Tricorder: Update

In case anyone is wondering, the ESR project isn’t dead, I’m just waiting for some small OLED displays to show up. I ordered these a while back (in December), and they have yet to arrive. The plan is to use some of the empty space on the front panel next to the display already slated to go there. Here’s what it looks like:

oled_disp_crop

It has a 128 x 32 display space with an I2C interface. You can find this OLED display on eBay, and they go for around $4 each.

It was originally slated to arrive by the 3rd of January, and the tracking info says it’s supposed to show up today, so we’ll see.

 

Distributed Control and Sensing with USB

Distributed I/O systems are a key element in many industrial processing settings, distributed environmental controls for buildings of all sizes, vehicles large and small, scientific research settings like large telescopes and particle accelerators, and in laboratories with equipment connected to a central data collection and processing system. Multiple microcontrollers units (MCUs) provide the sensing and control to automate systems for improved efficiency, better data collection, and enhanced safety. Without MCUs, modern life as we know it could not exist.

There are multiple ways to connect an MCU-based device to a host computer system, ranging from industrial serial interface protocols like RS-485, CAN, or ProfiBus, to conventional Ethernet or wireless protocols. USB is also a possibility, but it seems to be largely confined to small-scale and consumer type applications. But does USB have what it takes to be used for applications other than just connecting a printer to your PC? Can it be used to collect data from an automated test system, or control the various components in an industrial process?

Continue reading ‘Distributed Control and Sensing with USB’

Ardunio Programming: C++ and Embedded Systems

Ideally we would use assembly language to wring the last drop of performance from small microcontrollers, and at one time that really was the only way to do it. But assembly language programming is tedious and error-prone, and if I never have to wrestle with another assembly language program that would be fine with me.

With the advent of C, things got a lot easier in the embedded systems world. As its creators stated, C is essentially a close relative of an assembler, rather like a macro assembler (there’s a good Google/Wikipedia topic, if you don’t know what a macro assembler is). A C program can be compiled into very tight and efficient code, with an almost one-to-one correspondence to the underlying assembly language that the compiler generates.

But times change, and things are extended, improved, and expanded, and thus C++ arose from C. Over time C++ has become one of the dominant languages in programming, but there are challenges when attempting to use it with a microcontroller. Continue reading ‘Ardunio Programming: C++ and Embedded Systems’

Clever Arduino Case

One of the challenges that seem to keep coming up when working with an Arduino is where to put it so that it won’t get banged up on the workbench or tossed off the dining room table to make space for dinner. I’ve written about using wood, and my books give examples of various types of enclosures (everything from PVC tubing to pro-grade test instrument enclosures), but what other options are available? Is there an off-the-shelf solution? Turns out there is, if you have an R2 or R3 type Uno (or Duemilanove), and best of all it’s inexpensive.

Continue reading ‘Clever Arduino Case’

New series: Arduino Test Equipment

The ESR electronics Tricorder, Part 1

In this article I describe the beginnings of a device that I like to think of as a Tricorder for electronics. This is the first of a three part series in what will (hopefully) be the start of a series of articles that describe ways to use Arduino boards and AVR microcontrollers to build useful, low-cost test, measurement, and control devices.

For additional details and definitions be sure to check out my books “Practical Electronics: Components and Techniques” and “Arduino: A Technical Reference“. Both are available from O’Reilly, Amazon, Barnes and Noble, and numerous other places where fine books are sold.

Continue reading ‘New series: Arduino Test Equipment’

Fun with Bluetooth and Android

About a month ago I went on vacation with my family, part of which involved a large cruise ship. I also had a new Samsung Galaxy phone, and I was curious to see what it could do. I had been avoiding getting a “smart phone” for a long time, but lack of 4G and generally crappy reception almost everywhere finally pushed me into it. Now I have something that has both WiFi and Bluetooth, in addition to being a phone. Lots of possibilities there. Continue reading ‘Fun with Bluetooth and Android’

Fear of the Unknown

Humans are strange creatures. In general we like things to be nice and predictable; the same tomorrow as today, and the same as yesterday. I don’t have any hard data to reference, but I suspect that, overall, the human race is rather conservative. We don’t like new things that challenge our current beliefs and knowledge. This is ironic, considering that we now live in a time where change is about the only reliable constant, and new things are appearing at an astounding pace. Continue reading ‘Fear of the Unknown’


Follow Crankycode on WordPress.com

Little Buddy

An awesome little friend

Jordi the Sheltie passed away in 2008 at the ripe old age of 14. He was the most awesome dog I've ever known.