Lighting and Motor Control Shields for Arduino

Arduino enthusiasts will be excited to learn that Infineon Technologies has announced two new shields for RGB lighting and motor control. You can use the shields—which are compatible to Arduino Uno R3—with the XMC1100 Boot Kit, which is equipped with a 32-bit microcontroller of the XMC1000 family (uses the ARM Cortex-M0 processor).

Infineon-Arduino

Infineon RGB XMC1202 for Arduino

The RGB LED Lighting Shield for Arduino features an XMC1202 microcontroller with its Brightness Color Control Unit (BCCU) for LED lighting control. The high-current DC Motor Control Shield for Arduino contains the Infineon NovalithIC BTN8982TA integrated half-bridge driver for motor control.

The RGB LED Lighting Shield evaluation board enables you to use different LED light engines for fast prototyping. It has three independent output channels for flicker-free control of multicolor LEDs. The BCCU automated hardware engine provides a cost-effective LED lighting solution dimming and color mixing. You can expand the shield with a DMX interface for lighting and audio nodes or a 24-GHz radar sensor for motion detection.

The DC Motor Control Shield with BTN8982TA simplifies the prototyping of DC motor control designs. It can drive two unidirectional DC motors or one bidirectional DC motor. The shield features two NovalithIC BTN8982TA fully integrated high-current half-bridge drivers optimized for motor drive applications. The BTN8982TA includes three ICs: two power chips (one p-channel high-side MOSFET and one n-channel low-side MOSFET) and an integrated driver IC with one logic circuit to control and monitor the power. Other features include are diagnosis with current sense and slew rate adjustment.

Until end of January 2015, both the RGB Lighting Shield with XMC1202 for Arduino and the DC Motor Control Shield with BTN8982TA for Arduino will be available for purchase from Newark element14. After that, they’ll also be available from Infineon and its distributors.

Source: Infineon

Robotics & Intelligent Gaming

When Alessandro Giacomel discovered Arduino in 2009, he quickly became hooked. Since then, he’s been designing “little robots” around Ardunio and blogging about his work and findings. In this interview, Alessandro tells us about his most interesting projects and shares his thoughts on the future of robotics, 3-D printing, and more.

CIRCUIT CELLAR: How long have you been designing embedded systems and what sparked your interest

ALESSANDRO: I have been designing embedded systems for about five years. My interest arose from the possibility of building robots. When I was a kid, I found robots extremely fascinating. The ability to force matter to do something we decided always seemed to be one of the main goals conceded to man.

CIRCUIT CELLAR: Tell us about your first design.

ALESSANDRO: My first embedded system was an Arduino 2009. The availability of a huge shield, sensors, and actuators has enabled me to design many applications at an acceptable price for an amateur like me.

DIYrobot

Alessandro’s first robot

I started like many people, with a robot on wheels moving around avoiding obstacles. It’s a standard robot that almost all beginners build. It’s simple because it is built with only a few components and a standard Arduino 2009. The design included modified servomotors that can rotate 360° moving the robot and connected to the wheels and a servomotor to move a little head where there is an ultrasonic distance sensor. The distance sensor lets you know when the robot is in front of an obstacle and helps you decide the most convenient way for the robot to escape.

In its simplicity, this robot enables one to understand the basics for the development of a microcontroller-based robot: the need to have separate power supplies for the motors’ power circuits and for the microcontroller’s logic, the need to have precise sensor reading timing, and the importance of having efficient algorithms to ensure that the robot moves in the desired mode.

My first robot took me a long time to build. But all the elements of the robot (hardware and software) were developed by me and this was important because it let me begin to face the real problems that arise when you are building a robot. Today there are many resources on the Internet that enable one to build a robot simply replicating a set of steps anyone has described. These guides should be used as a source of inspiration, never followed exactly step-by-step, otherwise—while in the end it is true that you can build a robot—you don’t own the knowledge of what has been done.

My robot evolved with the ability to speak, thanks to a sound module. When I build a robot the goal is always to experiment with a technology and to have fun. My friends have enjoyed seeing the robot turning around, speaking, and telling funny stories.

CIRCUIT CELLAR: Your blog, Robottini (http://robottini.altervista.org), is described as “little robots with Arduino.” What inspired you to begin the blog

ALESSANDRO: I strongly believe in sharing knowledge and open-source hardware and software. I thought it was normal to try to share what I was designing when I started to build robots. When I started, I had the benefit of what others had made and published on the Internet. I thought about writing a blog in my language, Italian, but I thought also it would be a good exercise for me to try to write in English and, most importantly, this enabled me to reach a much wider audience.

The site description includes the philosophy at the basis of the blog: small robots built using Arduino. I build small robots because I’m an amateur and my house isn’t very big, so I only build robots that I can put in an armoire. I use Arduino because it is a microcontroller developed in Italy, it was obvious for me to use it, and it is really a great board for a beginner—inexpensive and robust.

ArduinoRobot

Alessandro’s first robot at the Arduino Day 2011 event

The community has developed thousands of applications that can be reused. When I started the blog in 2011, I was building small robots for a few years. In the beginning, finding information was much more complicated and there were few shields that were not cheap. So, I always tried to use “poor” materials (e.g., recovered or recycled). Decreasing the cost of implementation and reusing and imagining new purposes for the things already available in a normal house seemed like a good way to work.

My achievements documented in the blog are never step-by-step guides to build the robot. I include a list of components to buy, the source code, and sometimes the wiring diagram. But I never provide a complete guide, since I think everyone should try to build their own robot because, once built, the satisfaction is enormous.

Through my blog I am available to help with problems people encounter when they are building robots, but I think it is important to give people the tools to build, rather than providing detailed explanations. Everyone can learn only by fighting the difficulties, without having someone preparing everything perfectly.

CIRCUIT CELLAR: Robottini obviously includes quite a few robotics projects. Why did you build them? Do you have a favorite?

ALESSANDRO: Many times people ask me what is the meaning of the robots I build. The answer that I give them leaves people puzzled. The answer is this: My robots are useless. They are useful only as fun—as a passion. I’m happy when I see my little son, Stefano, who is three years old, watching and laughing at a robot turning around in our house. But this does not mean I don’t follow a branch of research when I build robots.

Initially, I built robots to understand how the driver for the motors works, the sensors, and the problems related to the logic of the robot. Afterward, the first branch of research was the issue of control, how to set the proportional, integral, derivative (PID) control to follow a line or make a robot that is in balance. This has enabled me to address the management of complex sensors, such as the inertial measurement unit (IMU).

To have a robot balance on two wheels it is important to measure how much the robot is tilting from the vertical. To do this, typically a cluster of sensors is used, called IMU, which are based on multi-axes combinations of precision gyroscopes, accelerometers, magnetometers, and pressure sensors. In a more simple version, the IMU uses an accelerometer and a gyroscope, and it is mandatory to use both signals to obtain a correct value of the tilt angle from the vertical (it is called fusion of signals).

The most common method used is based on the Kalman filter, which is a mathematical tool that enables you to combine two or more signals to obtain the value of the angle. But it is a highly sophisticated and difficult for an amateur to understand, and it requires fairly advanced knowledge of mathematics. A new method that is rather simple has been proposed in the last years. It is called the “complementary filter.“

One of the studies I performed and posted on my blog compares in practice the signals of the two filters to verify if the complementary filter is able to approximate the Kalman filter in typical situations coming up in robotics. This post has had a great following, and I’ve been surprised to see that several university-level scientific publications have linked to it. I only wrote the post because I was curious to see a simple and almost trivial method that has become helpful to researchers and hobbyists. It has been a pleasure for me.

In the last year, I have followed the trend of art and interaction (i.e., the possibility of building something that can somehow marry art with technology). It was the theme of the stall I had at Maker Faire Europe in Rome, Italy, in October 2013. Arduino is an electronic circuit without a heart and without a soul. Can an Arduino be an artist? I’m trying to do something with Arduino that could be “art.” The arts include painting, poetry, music, sculpture, and so on. I’m trying to do something in different fields of art.

My first experiment is the Dadaist Poetry Box, which is a box capable of composing and printing Dadaist poems. It’s made with an Arduino and uses a printer for receipts to write poems. The box uses an algorithm to compose the poems in autonomy. You push the button and here is your Dadaist poem.

PoetryRobot

Dadaist poetry box design

Normally, the poem is a valuable asset, the result of an intimate moment when the poet transposes on paper the emotions of his soul. It is an inspired act, an act of concentration and transport. It’s not immediate. The poem box instead is trivial, it seems almost “anti-poem.” But it’s not; it’s a Dadaist poem. A user can push the button and have an original poem. I like the machine because it gives everyone something material to take home. In this way, the experience of interaction with the machine goes beyond the moment.

Another of my favorite robots is one that is capable of drawing portraits. I’ve never been good at drawing, and I’ve always been envious of those who can easily use a pencil to make a portrait. So I tried using my technical skills to fill this gap.

DrawingRobot

Portrait-drawing robot

The search of the algorithm that—starting from a picture—is able to detect the most important lines of the face has been particularly long and difficult. I used the OpenCV open-source libraries for computer vision and image processing, which are very powerful, but hard to handle. Installing the libraries is not a simple undertaking and using them is even more complicated. I used the OpenCV for Processing. Processing is an open-source programming language and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching the fundamentals of computer programming in a visual context.

The algorithm initially found facial lines using the algorithms for calculation of edges of a picture. So I used the Canny edge detector, the Sobel edge detector, and all the other main edge detection algorithms, but none of these proved to be adequate to draw a face. Then I changed the course and used the Laplacian filter with threshold. I think I reached a good result because it takes less than 10 minutes to draw a portrait, which enables me to take pictures of people and make their portrait before they lose their patience.

CIRCUIT CELLAR: What new technologies excite you and why?

ALESSANDRO: I work almost strictly with Arduino microcontrollers. I was excited with the arrival of Linux-embedded mini-PCs (e.g., the Raspberry PI, the pcDuino, and BeagleBoard.org’s BeagleBone Black). Forcibly, I’m very intrigued by the new Arduino Tre, which is a mini-PC with Linux joined with an Arduino Leonardo. Combining a PC’s processing power of with Linux with the real-time management of the sensors and actuators made by an Arduino is an interesting road. It offers the possibility to manage the real-time processing of video streams through, for example, the OpenCV libraries, with the option of acquiring signals from analog sensors and the possibility of drive motors. For example, this enables one to have a completely autonomous 3-D printer and to perform the slicing and management of the 3-D printer. It also opens up new perspectives in the robotics and computer vision. The main limitation, which is now present in embedded systems, is the limited processing capacity. The ability to have in the same card a Linux system—with the world of applications and drivers already available—linked to the ability to manage physical devices brings a revolution. And I’m already excited to see the next results.

Read the complete interview in Circuit Cellar 292 November 2014.

Single-Board, Arduino Uno Shield-Compatible Dev Kit

Nordic Semiconductor’s new Arduino Uno shield-compatible nRF51 DK development kit supports Bluetooth Smart, ANT, and 2.4-GHz designs. Nordic also announced the availability of its nRF51 Dongle, which is a 16 mm × 28 mm USB dongle for the testing, analysis, and development of Bluetooth Smart, ANT, and 2.4-GHz applications.Nordic-nRF51 DK_1

The nRF51 DK is based on Nordic’s nRF51 Series SoC, which combines a 2.4-GHz multiprotocol radio, 32-bit ARM Corte M0 processor, flash memory, and 16- or 32-KB RAM. The SoCs can support a wide range of peripherals and are available in quad flat no-lead (QFN) and wafer level chip scale package (WLCSP) options.

Key points about the nRF51 DK and nRF51 Dongle

  • You can use the nRF51 DK with a variety of third-party Arduino shield expansion boards. It also supports ARM mbed for rapid prototyping projects.
  • The nRF51 DK allows access to all device peripherals, interfaces, and I/Os.
  • The nRF51 DK includes four user-programmable buttons and LEDS plus voltage and current pins to measure device power consumption.
  • nRF51 DK and nRF51 Dongle are supported by standard tool-chain options including Keil, IAR, and Gnu Compiler Collection (GCC).
  • The 63 mm × 101 mm nRF51 DK includes a coin-cell battery holder for field testing
  • You can use nRF51 DKhe DK as a programmer for other target boards that use the nRF51 Series SoC.

The nRF51 DK costs $69. The nRF51 Dongle is $49.

Source: Nordic Semiconductor

Arduino-Based Tube Stereo Preamp Project

If you happen to be electrical engineer as well as an audiophile, you’re in luck. With an Arduino, some typical components, and a little knowhow, you can build DIY tube stereo preamplifier design.

Shannon Parks—owner of Mahomet, IL-based Parks Audio—designed his “Budgie” preamp after reading an article about Arduino while he was thinking about refurbishing a classic Dynaco PAS-3.

Budgie preamp (Source: S. Parks)

Budgie preamp (Source: S. Parks)

In a recent audioXpress article about the project, Parks noted:

Over the last 10 years, I have built many tube power amplifiers but I had never built a tube preamplifier. The source switching seemed particularly daunting. A friend recommended that I refurbish a classic Dynaco PAS-3 which has been a popular choice with many upgrade kit suppliers. Unfortunately, the main part of these older designs is a clumsy rotary selector switch, not to mention the noisy potentiometers and slide switches. In the 1980s, commercial stereo preamplifiers started using IC microcontrollers that permitted cleaner designs with push-button control, relays for signal switching, and a wireless remote. While reading an article about the Arduino last year, I realized these modern features could easily be incorporated into a DIY preamplifier design.

All the circuits are on one custom PCB along with the power supply and microcontroller (Source: S. Parks)

All the circuits are on one custom PCB along with the power supply and microcontroller (Source: S. Parks)

Parks said the Arduino made sense for a few key reasons:

I found these features were incredibly useful:

  • A bank of relays could switch between the four stereo inputs as well as control mute, standby, gain, and bass boost settings.
  • A red power LED could use PWM to indicate if the preamplifier is muted or in standby.
  • An IR receiver with a remote could control a motor-driven volume potentiometer, change the source input selection, and turn the unit on/off. Any IR remote could be used with a code learning mode.
  • A backlit display could easily show all the settings at a glance.
  • Momentary push buttons could select the input device, bass boost, gain, and mute settings.
  • Instead of using several Arduino shields wired to an Arduino board, all the circuits could fit on one custom PCB along with the power supply and the microcontroller.

Parks used an Arduino Nano, which 0.73” × 1.70”. “The tiny Nano can be embedded using a 32-pin dual in-line package (DIP) socket, which cleans up the design. It can be programmed in-circuit and be removed and easily replaced,” he noted.

Parks used an Arduino Nano for the preamp project (Source: S. Parks)

Parks used an Arduino Nano for the preamp project (Source: S. Parks)

Parks described the shift register circuit:

The Budgie preamplifier uses a serial-in, parallel-out (SIPO) shift register to drive a bank of relays ….

A SIPO shift register is used to drive a bank of relays (Source: S. Parks)

A SIPO shift register is used to drive a bank of relays (Source: S. Parks)

Only four Arduino digital outputs—enable, clock, latch, and data—are needed to control eight DPDT relays. These correspond to the four outputs labeled D3, D4, D5, and D7 s …. The Texas Instruments TPIC6C595 shift register used in this project has heavy-duty field-effect transistor (FET) outputs that can handle voltages higher than logic levels. This is necessary for operating the 24-V relays. It also acts as a protective buffer between the Arduino and the relays.

Here you see the how to set up the Arduino Nano, LCD, power supply, push button , IR and motor control circuits (Source: S. Parks)

Here you see the how to set up the Arduino Nano, LCD, power supply, push button , IR and motor control circuits (Source: S. Parks)

As for the audio circuit, Parks explained:

The 12B4 triode was originally designed to be used in televisions as a vertical deflection amplifier. New-old-stock (NOS) 12B4s still exist. They can be purchased from most US tube resellers. However, a European equivalent doesn’t exist. The 12B4 works well in preamplifiers as a one-tube solution, having both high input impedance and low output impedance, without need for an output transformer. An audio circuit can then be distilled down to a simple circuit with few parts consisting of a volume potentiometer and a grounded cathode gain stage.
The 12B4 has about 23-dB gain, which is more than is needed. This extra gain is used as feedback to the grid, in what is often referred to as an anode follower circuit. The noise, distortion, and output impedance are reduced (see Figure 3). Using relays controlled by the Arduino enables switching between two feedback amounts for adjustable gain. For this preamplifier, I chose 0- and 6-dB overall gain. A second relay enables a bass boost with a series capacitor.
You only need a lightweight 15-to-20-V plate voltage to operate the 12B4s at 5 mA. Linearity is very good due to the small signal levels involved, as rarely will the output be greater than 2 VPP. A constant current source (CCS) active load is used with the 12B4s instead of a traditional plate resistor. This maximizes the possible output voltage swing before clipping. For example, a 12B4 biased at 5-mA plate current with a 20-kΩ plate resistor would drop 100 V and would then require a 120-V supply voltage or higher. Conversely, the CCS will only drop about 2 V. Its naturally high impedance also improves the tube’s gain and linearity while providing high levels of power supply noise rejection.

This article first appeared in Circuit Cellar’s sister publication, audioXpress (July 2014).

 

 

DIY Arduino-Based ECG System

Cornell University students Sean Hubber and Crystal Lu built an Arduino-based electrocardiography (ECG) system that enables them to view a heart’s waveform on a mini TV. The basic idea is straightforward: an Arduino Due converts a heartbeat waveform to an NTSC signal.

Here you can see the system in action. The top line (green) has a 1-s time base. The bottom line (yellow) has a 5-s time base. (Source: Hubber & Lu)

Here you can see the system in action. The top line (green) has a 1-s time base. The bottom line (yellow) has a 5-s
time base. (Source: Hubber & Lu)

In their article, “Hands-On Electrocardiography,” Hubber and Lu write:

We used the Arduino Due to convert the heartbeat waveform to an NTSC signal that could be used by a mini-TV. The Arduino Due continuously sampled the input provided by the voltage limiter at 240 sps. Similar to MATLAB, the vectorized signal was shifted left to make room at the end for the most recent sample. This provided a continuous real-time display of the incoming signal. Each frame outputted to the mini-TV contains two waveforms. One has a 1-s screen width and the other has a 5-s screen width. This enables the user to see a standard version (5 s) and a more zoomed in version (1 s). Each frame also contains an integer representing the program’s elapsed time. This code was produced by Cornell University professor Bruce Land.

As you can see in the nearby block diagram, Hubber and Lu’s ECG system comprises a circuit, an Arduino board, a TV display, MATLAB programming language, and a voltage limiter.

The system's block diagram (Circuit Cellar 289, 2014)

The system’s block diagram (Circuit Cellar 289, 2014)

The system’s main circuit is “separated into several stages to ensure that retrieving the signal would be user-safe and that sufficient amplification could be made to produce a readable ECG signal,” Hubber and Lu noted.

The first stage is the conditioning stage, which ensures user safety through DC isolation by initially connecting the dry electrode signals directly to capacitors and resistors. The capacitors help with DC isolation and provide a DC offset correction while the resistors limit the current passing through. This input-conditioning stage is followed by amplification and filtering that yields an output with a high signal-to-noise ratio (SNR). After the circuit block, the signal is used by MATLAB and voltage limiter blocks. Directly after DC isolation, the signal is sent into a Texas Instruments INA116 differential amplifier and, with a 1-kΩ RG value, an initial gain of 51 is obtained. The INA116 has a low bias current, which permits the high-impedance signal source. The differential amplifier also utilizes a feedback loop, which prevents it from saturating.

Following the differentiation stage, the signal is passed through multiple filters and receives additional amplification. The first is a low-pass filter with an approximately 16-Hz cutoff frequency. This filter is primarily used to eliminate 60-Hz noise. The second filter is a high-pass filter with an approximately 0.5-Hz cutoff frequency. This filter is mostly used to eliminate DC offset. The total amplification at this stage is 10. Since the noise was significantly reduced and the SNR was large, this amplification produced a very strong and clear signal. With these stages done, the signal was then strong enough to be digitally analyzed. The signal could then travel to both the MATLAB and voltage limiter blocks.

Hubber and Lu’s article was published in Circuit Cellar 289, 2014. Get it now!

24-Channel Digital I/O Interface for Arduino & Compatibles

SCIDYNE Corp. recently expanded its product line by developing a digital I/O interface for Arduino hardware. The DIO24-ARD makes it easy to connect to solid-state I/O racks, switches, relays, LEDs, and many other commonly used peripheral devices. Target applications include industrial control systems, robotics, IoT, security, and education.Scidyne

The board provides 24 nonisolated I/O channels across three 8-bit ports. Each channel’s direction can be individually configured as either an Input or Output using standard SPI library functions. Outputs are capable of sinking 85 mA at 5 V. External devices attach by means of a 50 position ribbon-cable style header.

The DIO24-ARD features stack-through connectors with long-leads allowing systems to be built around multiple Arduino shields. It costs $38.

[Source: SCIDYNE Corp.]

Q&A with Arduino-Based Skube Codesigner

The Arduino-based Skube

The Arduino-based Skube

Andrew Spitz is a Copenhagen, Denmark-based sound designer, interaction designer, and programmer. Among his various innovative projects is the Arduino-based Skube music player, which is an innovative design that enables users to find and share music.

Spitz worked on the design with Andrew Nip, Ruben van der Vleuten, and Malthe Borch. Check out the video to see the Skube in action. On his blog SoundPlusDesign.com, Spitz writes: “It is a fully working prototype through the combination of using ArduinoMax/MSP and an XBee wireless network. We access the Last.fm API to populate the Skube with tracks and scrobble, and using their algorithms to find similar music when in Discover mode.”

Skube – A Last.fm & Spotify Radio from Andrew Nip on Vimeo.

The following is an abridged  version of an interview that appears in the December 2012 issue of audioXpress magazine, a sister publication of Circuit Cellar magazine..

SHANNON BECKER: Tell us a little about your background and where you live.

Andrew Spitz: I’m half French, half South African. I grew up in France, but my parents are South African so when I was 17, I moved to South Africa. Last year, I decided to go back to school, and I’m now based in Copenhagen, Denmark where I’m earning a master’s degree at the Copenhagen Institute of Interaction Design (CID).

SHANNON: How did you become interested in sound design? Tell us about some of your initial projects.

Andrew: From the age of 16, I was a skydiving cameraman and I was obsessed with filming. So when it was time to do my undergraduate work, I decided to study film. I went to film school thinking that I would be doing cinematography, but I’m color blind and it turned out to be a bigger problem than I had hoped. At the same time, we had a lecturer in sound design named Jahn Beukes who was incredibly inspiring, and I discovered a passion for sound that has stayed with me.

Shannon: What do your interaction design studies at CIID entail? What do you plan to do with the additional education?

Andrew: CIID is focused on a user-centered approach to design, which involves finding intuitive solutions for products, software, and services using mostly technology as our medium. What this means in reality is that we spend a lot of time playing, hacking, prototyping, and basically building interactive things and experiences of some sort.

I’ve really committed to the shift from sound design to interaction design and it’s now my main focus. That said, I feel like I look at design from the lens of a sound designer as this is my background and what has formed me. Many designers around me are very visual, and I feel like my background gives me not only a different approach to the work but also enables me to see opportunities using sound as the catalyst for interactive experiences. Lots of my recent projects have been set in the intersection among technology, sound, and people.

SHANNON: You have worked as a sound effects recordist and editor, location recordist and sound designer for commercials, feature films, and documentaries. Tell us about some of these experiences?

ANDREW: I love all aspects of sound for different reasons. Because I do a lot of things and don’t focus on one, I end up having more of a general set of skills than going deep with one—this fits my personality very well. By doing different jobs within sound, I was able to have lots of different experiences, which I loved! nLocation recording enabled me to see really interesting things—from blowing up armored vehicles with rocket-propelled grenades (RPGs) to interviewing famous artists and presidents. And, documentaries enabled me to travel to amazing places such as Rwanda, Liberia, Mexico, and Nigeria. As a sound effects recordist on Jock of the Bushvelt, a 3-D animation, I recorded animals such as lions, baboons, and leopards in the South African bush. With Bakgat 2, I spent my time recording and editing rugby sounds to create a sound effects library. This time in my life has been a huge highlight, but I couldn’t see myself doing this forever. I love technology and design, which is why I made the move...

SHANNON: Where did the idea for Skube originate?

Andrew: Skube came out of the Tangible User Interface (TUI) class at CIID where we were tasked to rethink audio in the home context. So understanding how and where people share music was the jumping-off point for creating Skube.

We realized that as we move more toward a digital and online music listening experience, current portable music players are not adapted for this environment. Sharing mSkube Videousic in communal spaces is neither convenient nor easy, especially when we all have such different taste in music.

The result of our exploration was Skube. It is a music player that enables you to discover and share music and facilitates the decision process of picking tracks when in a communal setting.

audioXpress is an Elektor International Media publication.

Arduino USB Host Shield

The Arduino USB Host Shield allows you to connect a USB device to your Arduino board. The Arduino USB Host Shield is based on the MAX3421E, which is a USB peripheral/host controller containing the digital logic and analog circuitry necessary to implement a full-speed USB peripheral or a full-/low-speed host compliant to USB specification rev 2.0.ArduinoHostshield

The shield is TinkerKit compatible, which means you can quickly create projects by plugging TinkerKit modules onto the board. The following device classes are supported by the shield:

  • HID devices: keyboards, mice, joysticks, etc.
  • Game controllers: Sony PS3, Nintendo Wii, Xbox360
  • USB to serial converters: FTDI, PL-2303, ACM, as well as certain cell phones and GPS receivers
  • ADK-capable Android phones and tables
  • Digital cameras: Canon EOS, Powershot, Nikon DSLRs and P&S, as well as generic PTP
  • Mass storage devices: USB sticks, memory card readers, external hard drives, etc.
  • Bluetooth dongles

For information on using the shield with the Android OS, refer to Google’s ADK documentation. Arduino communicates with the MAX3421E using the SPI bus (through the ICSP header). This is on digital pins 10, 11, 12, and 13 on the Uno and pins 10, 50, 51, and 52 on the Mega. On both boards, pin 10 is used to select the MAX3421E.

[Source: Arduino website via Elektor]

Nesit

NESIT wants to create, educate, and foster learning in the fields of various technological and other disciplines. They reap the benefits of productivity through volunteer collaboration.

Location 290 Pratt St., Meriden CT 06450
Members 30
Website nesit.org

Read about what Vice President Will Genovese has to say about NESIT.
Tell us about your meeting space!

NESIT meets in a 4000 square feet office that takes place in The Meriden Enterprise Center. A large office and manufacturing building that is home to over 60 businesses.

What tools do you have in your space? 

Soldering stations, oscilloscope, 3-D printer, woodshop, cnc, and a data center.

Are there any tools your group really wants or needs?

A lasercutter would be a nice addition to our arsenal.

What sort of embedded tech does your Hackerspace work with?

We work with PIC, Arduino, and Raspberry Pi, and many more.
In fact one of our recent projects was a DIY PIC Programmer.

Can you tell us about some of your group’s recent tech projects?

1012388_631853183518705_1732534179_n

One of the group’s first tech projects was the “MAME,” a full-size gaming arcade. The project was going well until there was a break in at the location and they lost some equipment; the MAME was put on the backburner.  After they moved to their new location and gained a new member, an art teacher named John, the project garnered interest again. He came up with the design for it. Afterwords it was painted, they got a coin mechanism, speakers were hooked up, and the software was installed and configured. IT was finally finished.

Click here if you want to check it out.

What’s the craziest project you’ve completed?

At the moment we have not yet completed projects I would categorize as “crazy.”

Read more about NESIT on their website. 

Show us your hackerspace! Tell us about your group! Where does your group design, hack, create, program, debug, and innovate? Do you work in a 20′ × 20′ space in an old warehouse? Do you share a small space in a university lab? Do you meet at a local coffee shop or bar? What sort of electronics projects do you work on? Submit your hackerspace and we might feature you on our website!

Engineering Consultant and Roboticist

Eric Forkosh starting building his first robot when he was a teenager and has been designing ever since. This NYC-based electrical engineer’s projects include everything from dancing robots to remote monitoring devices to cellular module boards to analog signals—Nan Price, Associate Editor


NAN: Tell us about your start-up company, Narobo.

forkosh

Eric Forkosh

ERIC: Narobo is essentially the company through which I do all my consulting work. I’ve built everything from dancing robots to cellular field equipment. Most recently I’ve been working with some farmers in the Midwest on remote monitoring. We monitor a lot of different things remotely, and I’ve helped develop an online portal and an app. The most interesting feature of our system is that we have a custom tablet rig that can interface directly to the electronics over just the USB connection. We use Google’s Android software development kit to pull that off.

ERIC: The DroneCell was my second official product released, the first being the Roboduino. The Roboduino was relatively simple; it was just a modified Arduino that made building robots easy. We used to sell it online at CuriousInventor.com for a little while, and there was always a trickle of sales, but it was never a huge success. I still get a kick out of seeing Roboduino in projects online, it’s always nice to see people appreciating my work.

dronecell3

The DroneCell is a cellular module board that communicates with devices with TTL UARTs.

The DroneCell is the other product of mine, and my personal favorite. It’s a cellular module board geared toward the hobbyist. A few years ago, if you wanted to add cellular functionality to your system you had to do a custom PCB for it. You had to deal with really low voltage levels, very high peak power draws, and hard-to-read pins. DroneCell solved the problem and made it very easy to interface to hobbyist systems such as the Arduino. Putting on proper power regulation was easy, but my biggest design challenge was how to handle the very low voltage levels. In the end, I put together a very clever voltage shifter that worked with 3V3 and 5 V, with some calculated diodes and resistors.

NAN: Tell us about your first project. Where were you at the time and what did you learn from the experience?

butlerrobot

Eric’s Butler robot was his first electronics project. He started building it when he was still in high school.

ERIC: The Butler robot was my first real electronics project. I started building it in ninth grade, and for a really stupid reason. I just wanted to build a personal robot, like on TV. My first version of the Butler robot was cobbled together using an old laptop, a USB-to-I/O converter called Phidgets, and old wheelchair motors I bought on eBay.

I didn’t use anything fancy for this robot, all the software was written in Visual Basic and ran on Windows XP. For motor controllers, I used some old DPDT automotive relays I had lying around. They did the job but obviously I wasn’t able to PWM them for speed control.

My second version came about two years later, and was built with the intention of winning the Instructables Robot contest. I didn’t win first place, but my tutorial “How to Build a Butler Robot” placed in the top 10 and was mentioned in The Instructables Book in print. This version was a cleaner version of everything I had done before. I built a sleek black robot body (at least it was sleek back then!) and fabricated an upside-down bowl-shaped head that housed the webcam. The electronics were basically the same. The main new features were a basic robot arm that poured you a drink (two servos and a large DC motor) and a built-in mini fridge. I also got voice command to work really well by hooking up my Visual Basic software with Dragon’s speech-to-text converter.

The Butler robot was a great project and I learned a lot about electronics and software from doing it. If I were to build a Butler robot right now, I’d do it completely differently. But I think it was an important to my engineering career and it taught me that anything is possible with some hacking and hard work.

At the same time as I was doing my Butler robot (probably around 2008), I lucked out and was hired by an entertainer in Hong Kong. He saw my Butler robot online and hired me to build him a dancing robot that was synced to music. We solved the issue of syncing to music by putting dual-tone multi-frequency (DTMF) tones on the left channel audio and music on the right channel. The right channel went to speakers and the left channel went to a decoder that translated DTMF tone sequences to robot movement. This was good because all the data and dance moves were part of the same audio file. All we had to do was prepare special audio files and the robot would work with any music player (e.g., iPod, laptop, CD, etc.). The robot is used in shows to this day, and my performer client even hired a professional cartoon voice actor to give the robot a personality.

NAN: You were an adjunct professor at the Cooper Union for the Advancement of Science and Art in New York City. What types of courses did you teach and what did you enjoy most about teaching?

ERIC: I will be entering my senior year at Cooper Union in the Fall 2014. Two years ago, I took a year off from school to pursue my work. This past year I completed my junior year. I taught a semester of “Microcontroller Projects” at Cooper Union during my year off from being a student. We built a lot of really great projects using Arduino. One final project that really impressed me was a small robot car that parallel parked itself. Another project was a family of spider robots that were remotely controlled and could shrink up into a ball.

Cooper Union is filled with really bright students and teaching exposed me to the different thought processes people have when trying to build a solution. I think teaching helped me grow as a person and helped me understand that in engineering—and possibly in life—there is no one right answer. There are different paths to the same destination. I really enjoyed teaching because it made me evaluate my understanding about electronics, software, and robotics. It forced me to make sure I really understood what was going on in intricate detail.

NAN: You have competed in robotics competitions including RoboCup in Austria. Tell us about these experiences—what types of robots did you build for the competitions?

robocup

Eric worked with his high school’s robotics team to design this robot for a RoboCup competition.

ERIC: In high school I was the robotics team captain and we built a line-following robot and a soccer robot to compete in RoboCup Junior in the US. We won first place in the RoboCup Junior Northeast Regional and were invited to compete in Austria for the International RoboCup Junior games. So we traveled as a team to Austria to compete and we got to see a lot of interesting projects and many other soccer teams compete. I remember the Iranian RoboCup Junior team had a crazy robot that competed against us; it was built out of steel and looked like a miniature tank.

My best memory from Austria was when our robot broke and I had to fix it. Our robot was omnidirectional with four omni wheels in each corner that let it drive at any angle or orientation it wanted. It could zigzag across the field without a problem. At our first match, I put the robot down on the little soccer field to compete… and it wouldn’t move. During transportation, one of the motors broke. Disappointed, we had to forfeit that match. But I didn’t give up. I removed one of the wheels and rewrote the code to operate with only three motors functional. Again we tried to compete, and again another motor appeared to be broken. I removed yet another wheel and stuck a bottle cap as a caster wheel on the back. I rewrote the code, which was running on a little Microchip Technology PIC microcontroller, and programmed the robot to operate with only two wheels working. The crippled robot put up a good fight, but unfortunately it wasn’t enough. I think we scored one goal total, and that was when the robot had just two wheels working.

After the competition, during an interview with the judges, we had a laugh comparing our disabled robot to the videos we took back home with the robot scoring goal after goal. I learned from that incident to always be prepared for the worst, do your best, and sometimes stuff just happens. I’m happy I tried and did my best to fix it, I have no regrets. I have a some of the gears from that robot at home on display as a reminder to always prepare for emergencies and to always try my best.

NAN: What was the last electronics-design related product you purchased and what type of project did you use it with?

ERIC: The last product would be an op-amp I bought, probably the 411 chip. For a current project, I had to generate a –5-to-5-V analog signal from a microcontroller. My temporary solution was to RC filter the PWM output from the op-amp and then use an amplifier with a
gain of 2 and a 2.5-V “virtual ground.” The result is that 2.5 V is the new “zero” voltage. You can achieve –5 V by giving the op-amp 0 V, a –2.5-V difference that is amplified by 2 to yield 5 V. Similarly, 5 V is a 2.5-V difference from the virtual ground, amplified by 2 it provides a 5-V output.

NAN: What do you consider to be the “next big thing” in the industry?

ERIC: I think the next big thing will be personalized health care via smartphones. There are already some insulin pumps and heart monitors that communicate with special smartphone apps via Bluetooth. I think that’s excellent. We have all this computing power in our pockets, we should put it to good use. It would be nice to see these apps educating smartphone users—the patients themselves— about their current health condition. It might inspire patients/users to live healthier lifestyles and take care of themselves. I don’t think the FDA is completely there yet, but I’m excited to see what the future will bring. Remember, the future is what you build it to be.

HackRVA: They provide the tools, you provide the enthusiasm

HackRVA Sign4HackRVA is a Richmond-based makerspace. They like to take things apart, put them back together, figure out how they work, and create new things. Their mission? To learn and make stuff sharing tools and knowledge in technology; including Arduino, Makerbot, Linux, and the Open Source movement.

Aaron Nipper will tell us a little more.

Location 1600 Roseneath Road, Suite E, Richmond, VA 23230
Members 65
Website www.hackrva.org

What’s your meeting space like? 

Our space is about 2,000 square feet. We have an AV and general meeting area, a tech lab, and a fab lab.

What’s in your “toolbox”?

  • Two 3D printers
  • Laser cutter
  • Lots of soldering stations
  • O-scopes
  • Hand and power tools
  • A computer lab

Are there any tools your group really wants or needs?

A CNC Router — like a shopbot. Can’t wait to build that first wiki-house!

Arduino, Raspberry Pi, embedded security… which embedded technologies does your group work with most frequently? 

We use all that stuff. Arduino, R-Pi, whatever we can get our hands on! We’ve designed, from scratch, PCB Badges for RichSec security conference the last three years. Click here to learn more about the PCB Badges project.

What have you been working on lately?

For the past three years, we’ve designed those PCB badges for the RichSec security conference. Here’s another recent build where a member took a Power Wheels and made it Xbox controller driven. Check out the video below or click here to read more about that project.

Do you have any events or initiatives you’d like to tell us about? Where can we learn more about them?

You can learn more about us at hackrva.org. We host the Richmond Maker Guild, have regular Saturday Hackathons, as well as a Noise Night. Members are always coming up with creative events!

Any words of advice for fellow hackers?

My personal motto is fail often, teach others, and post to the web. All those things help me learn and think about projects better.

Want to know more about what HackRVA does? Check out their Facebook page and website.

Show us your hackerspace! Tell us about your group! Where does your group design, hack, create, program, debug, and innovate? Do you work in a 20′ × 20′ space in an old warehouse? Do you share a small space in a university lab? Do you meet a local coffee shop or bar? What sort of electronics projects do you work on? Submit your hackerspace and we might feature you on our website!

Q&A: Raspberry Pi Innovation

Orlando, FL-based web app developer and blogger Shea Silverman recently received Kickstarter funding for the latest version of PiPlay, his Raspberry Pi-based OS. Shea and I discussed his ongoing projects, his Raspberry Pi book, and what’s next for PiPlay.—Nan Price, Associate Editor

 

silverman

Shea Silverman

NAN: What is your current occupation?

SHEA: Web applications developer with the Center for Distributed Learning at the University of Central Florida (UCF).

NAN: Why and when did you decide to start your blog?

SHEA: I’ve been blogging on and off for years, but I could never keep to a schedule or really commit myself to writing. After I started working on side projects, I realized I needed a place to store tips and tricks I had figured out. I installed WordPress, posted some PhoneGap tips, and within a day got a comment from someone who had the same issue, and my tips helped them out. I have been blogging ever since. I make sure to post every Friday night.

NAN: Tell us about PiPlay, the Raspberry Pi OS. Why did you start the OS? What new developments, if any, are you working on?

piplay-case

Shea’s PiPlay Raspberry Pi OS recently reached 400% funding on Kickstarter.

SHEA: PiPlay is a gaming and emulation distribution for the Raspberry Pi single-board computer. It is built on top of the Raspbian OS, and tries to make it as easy as possible to play games on your Raspberry Pi. My blog got really popular after I started posting binaries and tutorials on how to compile different emulators to the Raspberry Pi, but I kept getting asked the same questions and saw users struggling with the same consistent issues.

I decided I would release a disk image with everything preconfigured and ready to be loaded onto an SD card. I’ve been adding new emulators, games, and tools to it ever since.

I just recently completed a Kickstarter that is funding the next release, which includes a much nicer front end, a web GUI, and a better controller configuration system.

NAN: You wrote Instant Raspberry Pi Gaming. Do you consider this book introductory or is it written for the more experienced engineer?

SHEA: Instant Raspberry Pi Gaming is written like a cookbook with recipes for doing various tasks. Some of them are very simple, and they build up to some more advanced recipes. One of the easier tasks is creating your user account on the Pi Store, while the more advanced recipes have you working with Python and using an API to interact with Minecraft.

Readers will learn how to setup a Raspberry Pi, install and use various emulators and games, a bit about the Minecraft API, and common troubleshooting tips.

pitroller

The Pitroller is a joystick and buttons hooked up to the GPIO pins of a Raspberry Pi, which can act as a controller or keyboard for various emulators.

NAN: You are a member of FamiLAB, an Orlando, FL-based community lab/hackerspace. What types of projects have you worked on at the lab?

miniarcade

Disney director Rich Moore poses with Shea’s miniature arcade machine. The machine was based on Fix It Felix Jr. from Disney’s Wreck It Ralph.

SHEA: I spend a lot of time at the lab using the laser cutter. Creating a 2-D vector in Inkscape, and then watching it be cut out on a piece of wood or acrylic is really inspiring. My favorite project was making a little arcade machine featuring Fix It Felix Jr. from Wreck It Ralph. A marketing person from Disney was able to get it into the hands of the director Rich Moore. He sent me a bunch of pictures of himself holding my little arcade machine next to the full size version.

NAN: Give us a little background information. How did you become interested in technology?

SHEA: My mom always likes to remind me that I’ve been using computers since I was 2. My parents were very interested in technology and encouraged my curiosity when it came to computers. I always liked to take something apart and see how it worked, and then try to put it back together. As the years went on, I’ve devoted more and more time to making technology a major part of my life.

NAN: Tell us about the first embedded system you designed.

SHEA: I have a lot of designs, but I don’t think I’ve ever finished one. I’ll be halfway into a project, learn about something new, then cannibalize what I was working on and repurpose it for my new idea. One of the first embedded projects I worked on was a paintball board made out of a PICAXE microcontroller. I never got it small enough to fit inside the paintball marker, but it was really cool to see everything in action. The best part was when I finally had that “ah-ha!” moment, and everything I was learning finally clicked.

NAN: What was the last electronics-design related product you purchased and what type of project did you use it with?

SHEA: At UCF, one of our teams utilizes a ticket system for dealing with requests. Our department does a hack day each semester, so my coworker and I decided to rig up a system that changes the color of the lights in the office depending on the urgency of requests in the box. We coded up an API and had a Raspberry Pi ping the API every few minutes for updates. We then hooked up two Arduinos to the Raspberry Pi and color-changing LED strips to the Arduinos. We set it up and it’s been working for the past year and a half, alerting the team with different colors when there is work to do.

NAN: Are you currently working on or planning any projects?

SHEA: My Kickstarter for PiPlay just finished at 400% funding. So right now I’m busy working on fulfilling the rewards, and writing the latest version of PiPlay.

NAN: What do you consider to be the “next big thing” in the industry?

SHEA: Wearable computing. Google Glass, the Pebble smart watch, Galaxy Gear—I think these are all great indicators of where our technology is heading. We currently have very powerful computers in our pockets with all kinds of sensors and gadgets built in, but very limited ways to physically interact with them (via the screen, or a keypad). If we can make the input devices modular, be it your watch, a heads-up display, or something else, I think that is going to spark a new revolution in user experiences.

Execute Open-Source Arduino Code in a PIC Microcontroller Using the MPLAB IDE

The Arduino single-board computer is a de facto standard tool for developing microcomputer applications within the hobbyist and educational communities. It provides an open-source hardware (OSH) environment based on a simple microcontroller board, as well as an open-source (OS) development environment for writing software for the board.

Here’s an approach that enables Arduino code to be configured for execution with the Microchip Technology PIC32MX250F128B small-outline 32-bit microcontroller. It uses the Microchip Technology MPLAB X IDE and MPLAB XC32 C Compiler and the Microchip Technology Microstick II programmer/debugger.

Your own reasons for using this approach will depend on your personal needs and background. Perhaps as a long-term Arduino user, you want to explore a new processor performance option with your existing Arduino code base. Or, you want to take advantage of or gain experience with the Microchip advanced IDE development tools and debug with your existing Arduino code. All of these goals are easily achieved using the approach and the beta library covered in this article.

Several fundamental open-source Arduino code examples are described using the beta core library of Arduino functions I developed. The beta version is available, for evaluation purposes only, as a free download from the “Arduino Library Code for PIC32” link on my KibaCorp company website, kibacorp.com. From there, you can also download a short description of the Microstick II hardware configuration used for the library.

To illustrate the capabilities in their simplest form, here is a simple Blink LED example from my book Beginner’s Guide to Programming the PIC32. The example shows how this custom library makes it easy to convert Arduino code to a PIC32 binary file.

ARDUINO BLINK EXAMPLE 1
The Arduino code example is as follows: Wire an LED through a 1-K resistor to pin 13 (D7) of the Arduino. An output pin is configured to drive an LED using pinMode () function under setup (). Then under loop () this output is set high and then low using digitalWrite () and delay () functions to blink the LED. The community open-source Arduino code is:

Listing 1forwebPIC32 EXAMPLE 1 CODE MODIFICATIONS
The open-source example uses D13 or physical pin 13 on the Arduino. In relation to the PIC32MX, the D13 is physical pin 25. Pin 25 will be used in prototyping wiring.

Now, let’s review and understand the PIC32 project template and its associated “wrapping functions.”  The Arduino uses two principal functions: setup () to initialize the system and loop () to run a continuous execution loop. There is no Main function. Using the Microchip Technololgy XC32 C compiler, we are constrained to having a Main function. The Arduino setup () and loop () functions can be accommodated, but only as part of an overall template Main “wrapping” function. So within our PIC32 template, we accommodate this as follows:

Listing 2

This piece of code is a small but essential part of the template. Note that in this critical wrapping function, setup () is called once as in Arduino and loop () is configured to be called continuously (simulating the loop () function in Arduino) through the use of a while loop in Main.

The second critical wrapping function for our template is the use of C header files at the beginning of the code. The XC32 C compiler uses the C compiler directive #include reference files within the Main code. Arduino uses import, which is a similar construct that is used in higher-level languages such as Java and Python, which cannot be used by the MPLAB XC32 C.

The two include files necessary for our first example are as follows:

Listing 3

System.h references all the critical Microchip library functions supporting the PIC32MX250F128B. The Ardunio.h provides the Arduino specific library function set. Given these two key “wrapper” aspects, where does the Arduino code go? This is best illustrated with a side-by-side comparison between Arduino code and its Microchip equivalent. The Arduino code is essentially positioned between the wrapper codes as part of the Main function.

Blink side-by-side comparison

Blink side-by-side comparison

This approach enables Arduino code to execute on a Microchip PIC32 within an MPLAB X environment. Note that the Arduino code void setup () now appears as void setup (void), and void loop () appears as void loop (void). This is a minor inconvenience but again necessary for our C environment syntax for C prototype function definitions. Once the code is successfully compiled, the environment enables you to have access to the entire built-in tool suite of the MPLAB X and its debugger tool suite.

RUNNING EXAMPLE 1 CODE
Configure the Microstick II prototype as in the following schematic. Both the schematic and prototype are shown below:

Exercise 1 schematic

Exercise 1 schematic

Exercise 1 prototype

Exercise 1 prototype

BETA LIBRARY
Table 1 compares Arduino core functionality to what is contained in the Microchip PIC32 expanded beta library. In the beta version, I added additional C header files to accomplish the necessary library functionality. Table 2 compares variable types between Arduino and PIC32 variable types. Both Table 1 and Table 2 show the current beta version has a high degree of Arduino core library functionality. Current limitations are the use of only one serial port, interrupt with INT0 only, and no stream capability. In addition, with C the “!” operator is used for conditional test only and not as a complement function, as in Arduino. To use the complement function in C, the “~” operator is used. The library is easily adapted to other PIC32 devices or board types.

Table 1

Table 1: Arduino vs Microchip Technology PIC32 core library function comparison

Talble 2

Table 2: Arduino vs Microchip Technology PIC32 core library variable types

INTERRUPTS
If you use interrupts, you must identify to C the name of your interrupt service routine as used in your Arduino script. See below:

Interrupt support

Interrupt support

For more information on the beta release or to send comments and constructive criticism, or to report any detected problems, please contact me here.

LIBRARY TEST EXAMPLES
Four test case examples demonstrating additional core library functions are shown below as illustrations.

Serial communications

Serial communications

Serial find string test case

Serial find string test case

Serial parse INT

Serial parse INT

Interrupt

Interrupt

Editor’s Note: Portions of this post first appeared in Tom Kibalo’s book Beginner’s Guide to Programming the PIC32 (Electronics Products, 2013). They are reprinted with permission from Chuck Hellebuyck, Electronic Products. If you are interested in reading more articles by Kibalo, check out his two-part Circuit Cellar “robot boot camp” series posted in 2012 : “Autonomous Mobile Robot (Part 1): Overview & Hardware” and “Autonomous Mobile Robot (Part 2): Software & Operation.”

 

Tom Kibalo

Tom Kibalo

ABOUT THE AUTHOR
Tom Kibalo is principal engineer at a large defense firm and president of KibaCorp, a company dedicated to DIY hobbyist, student, and engineering education. Tom, who is also an Engineering Department adjunct faculty member at Anne Arundel Community College in Arnold, MD, is keenly interested in microcontroller applications and embedded designs. To find out more about Tom, read his 2013 Circuit Cellar member profile.

DIY IoT: Build a ‘Net-Connected System Today

It’s time to join the Internet of Things (IoT) revolution. Try building a ‘Net-enabled design with WIZnet’s W5500 “smart” Ethernet chip. It’s easier than you think.

In a thorough introduction to the technology, Tom Cantrell presented a garage door monitoring design. He explained:

The W5500 (see Figure 1) starts with a standard 10/100 Ethernet interface (i.e., MAC and PHY) but then goes further with large RAM buffers (16-KB transmit and 16-KB receive) and hardware TCP/IP protocol processing. I discovered WIZnet’s first chip, the  W3100, way back in 2001. Of course by now, as with all things  silicon, the new W5500 is better, faster, and  lower cost. But the concept is still exactly  the same: “Internet enable” applications by  handling the network chores in hardware so  the application microcontroller doesn’t have to do it in software.

Cantrell - WIZ550io

Figure 1: The WIZnet W5500 is an Ethernet chip with a difference—large RAM buffers and hardware TCP/IP processing that make it easy for any microcontroller to go online.

The large RAM buffers help decouple the  microcontroller from network activity. In a  recent project (see my article, “Weatherize  Your Embedded App,” Circuit Cellar 273,  2013), I used the RAM to receive an entire  10-KB+ webpage, completely eliminating the  need for the microcontroller to juggle data at  network speed. And any of the 32-KB on-chip  RAM that isn’t needed for network buffering  is free for general-purpose use, a big plus for  typically RAM-constrained microcontrollers. The other major WIZnet hardware assist  is TCP/IP processing using IP addresses, sockets, and familiar commands including OPEN, CONNECT, SEND, RECEIVE, DISCONNECT.  The high-level interface to the network frees  up microcontroller cycles and code space that  would otherwise be needed for a software TCP/IP stack.

Cantrell goes on to present his design for a ‘Net-connected garage door monitoring system.

For prototyping, check out the WIZnet  ioShield (see Photo 1), which is a baseboard  for the WIZ550io that includes an SD card  socket. There are ioShields for different  platforms (e.g., Arduino, LaunchPad,  mbed, etc.), and with 0.1” headers they are  breadboard friendly.

Photo 1: If you want a fancy server with lots of eye candy, a microSD card is the way to go. The WIZnet ioShields include the card socket and are available for various platforms. The Arduino version is shown here.

Photo 1: If you want a fancy server with lots of eye candy, a microSD card is the way to go. The WIZnet ioShields include the card socket and are available for various platforms. The Arduino version is shown here.

Cantrell prototyped a client version of what he calls his “garage  door ‘Thing’ using an Arduino  and a WIZ550io connected to Exosite (see Photo 2).

A prototype of the client version of my garage “Thing” is shown.

Photo 2: A prototype of the client version of my garage “Thing”

Wondering how to get two clients (e.g., ) to interact with each other? Cantrell used Exosite.

Over on the Exosite website, after signing up for a  free “Developer” account, it was a quick and easy mainly point-and-click exercise to configure my “Device,” “Data,”  “Events,” and “Alerts” (see Photo 3).  As a client, there’s no need to keep the “Thing’s”  Ethernet link powered all the time. Data only needs to  be sent when the garage door opens or closes, but I also  recommend sending a periodic heartbeat just in case. My  garage door monitor will only generate a minute or two  of network activity (i.e., door state changes and hourly  heartbeats) per day, so there’s opportunity for significant  energy savings compared to a 24/7 server.

It only takes a few minutes to set up a simple Exosite dashboard including an e-mail alert. I can “see“ my  garage door without getting off the couch and now, via Exosite, from the farthest reaches of the web.

It only takes a few minutes to set up a simple Exosite dashboard including an e-mail alert. I can “see“ my garage door without getting off the couch and now, via Exosite, from the farthest reaches of the web.

You can download the entire article,  “Connect the Magic: An Introduction to the WIZnet W550,” for free to learn about Cantrell’s garage door control system built with a WIZnet and an Arduino Uno.

Editor’s note: If you have an idea for an innovative, ’Net-enabled electronics system, this is your opportunity to share your original design with the world. Enter the WIZnet Connect the Magic 2014 Design Challenge for a chance to win a share of $15,000 in prizes and gain recognition by Elektor International Media and Circuit Cellar. WIZnet is the sponsor. Eligible entries will be judged on their technical merit, originality, usefulness, cost-effectiveness, and design optimization. The Entry submission deadline is 12:00 PM EST August 3, 2014. How to enter: Implement WIZnet’s WIZ550io Ethernet module, or W5500 chip, in an innovative design; document your project; and then submit your entry. The complete rules and regulations are available on the Challenge webpage.