About Mary Wilson

Mary Wilson is Circuit Cellar's Managing Editor. You can reach her at mwilson@circuitcellar.com and @mgeditor_cc.

A Shed Packed with Projects and EMF Test Equipment

David Bellerose, a retired electronic equipment repairman for the New York State Thruway, has had a variety of careers that have honed the DIY skills he employs in his Lady Lake, FL, workspace.

Bellerose has been a US Navy aviation electronics technician and a computer repairman. “I also ran my own computer/electronic and steel/metal welding fabrication businesses, so I have many talents under my belt,” he says.

Bellerose’s Protostation, purchased on eBay, is on top shelf (left). He designed the setup on the right, which includes a voltmeter, a power supply, and transistor-transistor logic (TTL) oscillators. A second protoboard unit is on the middle shelf (left). On the right are various Intersil ICM7216D frequency-counter units and DDS-based signal generator units from eBay. The bottom shelf is used for protoboard storage.

Bellerose’s Protostation, purchased on eBay, is on top shelf (left). He designed the setup on the right, which includes a voltmeter, a power supply, and transistor-transistor logic (TTL) oscillators. A second protoboard unit is on the middle shelf (left). On the right are various Intersil ICM7216D frequency-counter units and DDS-based signal generator units from eBay. The bottom shelf is used for protoboard storage.

Bellerose’s project interests include model rockets, video security, solar panels, and computer systems. “My present project involves Intersil ICM7216D-based frequency counter modules to companion with various frequency generator modules, which I am also designing for a frequency range of 1 Hz to 12 GHz,” he says.

His workspace is an 8′-by-15′ shed lined with shelves and foldable tables. He describes how he tries to make the best use of the space available:

“My main bench is a 4′-by-6’ table with a 2’-by-6’ table to hold my storage drawers. A center rack holds my prototype units—one bought on eBay and two others I designed and built myself. My Tektronix 200-MHz oscilloscope bought on eBay sits on the main rack on the left, along with a video monitor. On the right is my laptop, a Heathkit oscilloscope from eBay, a 2.4-GHz frequency counter and more storage units. All the units are labeled.

“I try to keep all projects on paper and computer with plenty of storage space. My network-attached storage (NAS) totals about 23 terabytes of space.

“I get almost all of my test equipment from eBay along with parts that I can’t get from my distributors, such as the ICM7216D chips, which are obsolete. I try to cover the full EMF spectrum with my test equipment, so I have photometers, EMF testers, lasers, etc.”

The main workbench has a 4′-by-6′ center rack and parts storage units on the left and right. The main bench includes an OWON 25-MHz oscilloscope, storage drawers for lithium-ion (Li-on) batteries (center), voltage converter modules, various project modules on right, a Dremel drill press, and a PC monitor.

The main workbench has a 4′-by-6′ center rack and parts storage units on the left and right. The main bench includes an OWON 25-MHz oscilloscope, storage drawers for lithium-ion (Li-on) batteries (center), voltage converter modules, various project modules on the right, a Dremel drill press, and a PC monitor.

Photo 3: This full-room view shows the main bench (center), storage racks (left), and an auxiliary folding bench to work on large repairs. The area on right includes network-attached storage (NAS) storage and two PCs with a range extender and 24-port network switch.

Photo 3: This full-room view shows the main bench (center), storage racks (left), and an auxiliary folding bench to work on large repairs. The area on right includes network-attached storage (NAS) and two PCs with a range extender and 24-port network switch.

Photo 4: Various versions of Bellerose’s present project are shown. The plug-in units are for eight-digit displays. They are based on the 28-pin Intersil ICM 7216D chip with a 10-MHz time base oscillator, a 74HC132 input buffer, and a 74HC390 prescaler to bring the range to 60 MHz. The units’ eight-digit displays vary from  1″ to 0.56″ and 0.36″.

Various versions of Bellerose’s present project are shown. The plug-in units are for eight-digit displays. They are based on the 28-pin Intersil ICM 7216D chip with a 10-MHz time base oscillator, a 74HC132 input buffer, and a 74HC390 prescaler to bring the range to 60 MHz. The units’ eight-digit displays vary from 1″ to 0.56″ and 0.36″.

Photo 5: This is a smaller version of Bellerose’s project with a 0.36″ display mounted over an ICM chip with 74hc132 and 74hc390 chips and 5-V regulators. Bellerose is still working on the final PCB layout. “With regulators, I can use a 9-V adapter,” he says.  “Otherwise, I use 5 V for increased sensitivity. I use monolithic microwave (MMIC) amplifiers (MSA-0486) for input.”

This is a smaller version of Bellerose’s project with a 0.36″ display mounted over an ICM chip with 74HC132 and 74HC390 chips and 5-V regulators. Bellerose is still working on the final PCB layout. “With regulators, I can use a 9-V adapter,” he says. “Otherwise, I use 5 V for increased sensitivity. I use monolithic microwave (MMIC) amplifiers (MSA-0486) for input.”

 

 

Remote-Control Powered Trapdoor Lift

William Wachsmann, a retired electronic technologist from Canada, has more than 35 years of experience working with minicomputers, microcomputers, embedded systems, and programming in industries ranging from nuclear and aerospace to voicemail and transportation systems.

But despite the complexity of the work he has done over the years, when it came to building a remote-controlled, powered trapdoor lift system for his home, he had two priorities: simplicity and price.

“Although it can be fulfilling to design your own hardware, why reinvent the wheel if you don’t have to? Many reasonably priced modules can be wired together,” Wachsmann says in his article about the project, which appears in Circuit Cellar’s May issue. “Add some software to express the functionality required and you can quickly and inexpensively put together a project. Not only is this method useful for a homebuilt one-of-a-kind application, but it can also be used for proof-of-concept prototyping. It leaves you free to concentrate on solving the problems pertinent to your application.”

Wachsmann’s project relies on off-the-shelf modules for the electrical functions of a trapdoor lift system that provides access to his basement.

“Lifting the trapdoor was hard on my wife’s back,” he says. “If her arms were full when she came upstairs and the door was open, she had to twist her body to release the mechanical latching mechanism while simultaneously stopping the door from falling on her head.”

The multidisciplinary project includes mechanical, electronic, and software components. For the full details—including programming of the project’s Freescale Semiconductor FRDM-KL25Z microprocessor using the mbed online IDE—check out the May issue now available for membership download and single-issue purchase.

(And if you’re interested in other articles about remote-control projects, check out Raul Alvarez’s Home Energy Gateway system, which enables users to remotely monitor home energy consumption and monitor household devices. Alvarez’s project won second place in the 2012 DesignSpark chipKIT challenge administered by Circuit Cellar.)

Excerpts from Wachsmann’s article below describe his system’s mechanical and hardware elements.

INS AND OUTS
I used a screw lift from an old treadmill. It has a 48-VDC motor that draws about 1 A under a 100-lb load. The screw mechanism has a 6” travel distance. Built-in limit switches shut off the motor when the screw reaches the end of its travel in each direction. The screw’s length is nominally 30” when closed and 36” when open. The length can be adjusted slightly by rotating the screw by hand, but the overall travel distance is still 6”.

A simple switch would have sufficed to control the screw lift’s DC motor, but I wanted it to be remotely controlled so the trapdoor could be raised and lowered from anywhere upstairs and from the basement. When someone is in the basement with the trapdoor closed there is no visible way for them to know if the door is obstructed. Initially, I was going to install a warning beeper that the door was opening, but that wouldn’t help if an inanimate object (e.g., a bag of groceries) was on top of the door. I needed to incorporate some form of sensing mechanism into the design.

Figure 1: This diagram represents the trapdoor mechanics. The arm’s down position is shown in red; the up position is shown in blue. Vertical red arrows are labeled with the downward force in pounds

Figure 1: This diagram represents the trapdoor mechanics. The arm’s down position is shown in red; the up position is shown in blue. Vertical red arrows are labeled with the downward force in pounds

THE MECHANICS
I needed a levered system design that used a pivoted bar and the motorized screw lift. The lift also had to enable the door to be manually opened in case of a power failure.
I used IMSI/Design’s TurboCAD program for the mechanical design. By using CAD software, I could experiment with the pivot position, moment arms, and torque requirements to meet the mechanical constraints imposed by the screw lift and the trapdoor’s size and weight.

Photo 1: The screw lift and pivot arm mechanism with a spring assist are shown.

Photo 1: The screw lift and pivot arm mechanism with a spring assist are shown.

Figure 1 shows a diagram of the trapdoor, which is hinged on the left. The opposite side of the door exerts a 15.2-lb downward force. This means the torque (force × distance) required to open the door is 509.2 in-lbs. The pivot arm in red is the position when the door is closed. The blue pivot arm shows the position when the door is open to an 80° angle.

To keep within the 6” lift constraint, I used a 4.25” moment arm to pull down on the pivot arm. This left me with the force required to initially lift the door at 119.5 lb. Also this did not include the added torque due to the pivot arm’s weight.

After mulling this over for a couple of days (and nights) I had an idea. I realized that 119.5 lb is only needed when the door is completely closed. As the door opens, the torque requirement lessens. I incorporated a heavy spring (see Photo 1). When the door is closed the spring extension provides an additional downward force of about 35 lb. This is enough to lessen the load on the screw lift and to compensate for the pivot arm’s additional 2.2 lb. Using a screw lift meant the arm would not spring up if the door was manually opened.

I used an angle iron for the pivot arm. It is 28” long because it had to push up on the door to the right of the door’s center of gravity at 16.75” without adding too much additional torque. The roller is the type used as feet on beds. I used an arbor and 0.75”-diameter bolt through the floor joist for the pivot (see Photo 2).

An arbor is used as a bearing with a 0.75” bolt through the floor joist. The lift mechanism pivots at this point.

Photo 2: An arbor is used as a bearing with a 0.75” bolt through the floor joist. The lift mechanism pivots at this point.

THE HARDWARE
I had set an arbitrary $100 limit for the rest of the system and I quickly realized I would easily come in under budget. I used a $24.25 two-channel RF wireless garage door remote-control receiver, which I purchased from eBay (see Photo 3). This controller can be used in a latched or an unlatched mode. The latched mode requires a momentary push of one of the buttons to cause one of the relays to switch and stay in the On position. When the controller is in unlatched mode, you must hold the button down to keep the relay switched.

Photo 3: The two-channel wireless remote control is shown with the cover removed from the receiver. It came with two keychain-style remotes, which I marked with Up and Down arrows.

Photo 3: The two-channel wireless remote control is shown with the cover removed from the receiver. It came with two keychain-style remotes, which I marked with Up and Down arrows.

Unfortunately, this remote control and any similar ones only come with single-pole double-throw (SPDT) relays. What I really wanted were double-pole double-throw (DPDT) relays to switch both sides of the motor to enable current reversal through the motor.
A remote control system with two remotes seemed ideal and was possible to design with SPDT, so I purchased the relays. Figure 2 shows the circuit using two bridge rectifier DC power supplies. It turns out there were problems with this approach.

SW1 and SW2 represent the Up and Down relays. In latched mode, the door would open when SW1 was energized using the A button on a remote. Pressing the A button again would stop the motor while the door was opening. So would pressing the B button, but then to continue opening the door you needed to press the B button again. Pressing the A  button in this state would cause the door to close because SW2 was still energized. Added to this confusion was the necessity of pressing the A button again when the door was fully opened and stopped due to the internal limit switches. If you didn’t do this, then pressing the B button to close the door wouldn’t work because SW1 was still energized.

Figure 2: It would be theoretically possible to use dual-power supplies and single-pole double-throw (SPDT) switches to control a motor in two directions. When SW1 (b,c) is connected, current flows through D2. When SW2 (b,c) is connected, current flows through D1 in the opposite direction.

Figure 2: It would be theoretically possible to use dual-power supplies and single-pole double-throw (SPDT) switches to control a motor in two directions. When SW1 (b,c) is connected, current flows through D2. When SW2 (b,c) is connected, current flows through D1 in the opposite direction.

I decided to just use the door in unlatched mode and continuously hold down the A button until the door was fully open. What was the problem with this? Noise! Interference from the motor was getting back into the control and causing the relay to frequently switch on and off. This is not good for mechanical relays that have a finite contact life.

After playing around for a while with both operation modes, I noticed that even in the latched mode the motor would sometimes stop and it would occasionally even reverse itself. This was really bad and it became worse.

If both SW1 and SW2 happened to switch at the same time and if the current was at a maximum and there was arcing at the terminal, there could conceivably be a momentary short through a diode in each of the bridge rectifiers that would burn them out. Arc suppression devices wouldn’t help because when active at high voltages, they would almost look like a short between the switch’s terminals A,C. I needed to step back and rethink this.

I found an $8.84 two-channel DPDT relay switch board module on eBay. The module enabled me to use a single-power supply and isolated the motor current from the remote-control board. These relays boards have TTL inputs, so it is tricky to use relays on the remote control board to control the relays on the second relay board. You have to contend with contact bounce. Even if I incorporated debounce circuits, I still didn’t have a way stop the door from opening if it was obstructed.

It was time to get with the 21st century. I needed to use a microcontroller and handle all the debounce and logic functions in firmware.

I bought a $12.95 Freescale Semiconductor FRDM-KL25Z development board, which uses the Kinetis L series of microcontrollers. The FRDM-KL25Z is built on the ARM Cortex-M0+ core. This board comes with multiple I/O pins, most of which can be programmed as required. It also has two micro-USB ports, one of which is used for downloading your program onto the microcontroller and for debugging (see Figure 3).

Figure 3: This is the system’s complete wiring diagram. On the left is a 48-V AC supply and an unregulated 12-V DC motor. A 2.7-Ω, 5-W resistor, which is used for current sensing, is in series with the motor.

Figure 3: This is the system’s complete wiring diagram. On the left is a 48-V AC supply and an unregulated 12-V DC motor. A 2.7-Ω, 5-W resistor, which is used for current sensing, is in series with the motor.

A Timely Look at RFID Technology

Most of us have had that annoying experience of setting off an alarm as we leave a store because one item in our bags has a still-active radio-frequency identification (RFID) tag. So it’s back to the cashier for some deactivation (or to security for some questioning).

Retailers love RFID, for obvious reasons. So do other industries and governments dealing with limiting building access; tracking goods, livestock and people; collecting highway tolls and public transit fares; checking passports; finding airport baggage; managing hospital drug inventory… The list goes on and on.

RFIDRFID is a big business, and it is anticipated to grow despite concerns about privacy issues. Market researcher IDTechEx recently estimated that the RFID market—including tags, readers, and software and services for RFID labels, fobs, cards, and other form factors—will hit $9.2 billion in 2014 and increase to $30.24 billion in 2024.

So it’s good timing for columnist Jeff Bachiochi’s series about passive RFID tagging. Part 1 appears in Circuit Cellar’s May issue and focuses on read-only tags and transponder circuitry. It also hints at Bachiochi’s unfolding RFID project.

Other May issue highlights include DIY project articles describing an MCU-based trapdoor lift system, a customizable approach to an ASCII interface for sending commands to a sensor tool and receiving data, and a solar-powered home automation controller that enables household-device management and cloud connectivity to log temperature, energy use, and other data.

In addition, our columnists explore low-power wireless data receivers, testing and analyzing old and new batteries in a personal collection, and designing data centers to participate in smart-grid power management.

If you are a female engineer in search of some inspiration, read our interview with embedded systems expert Elecia White. Also, find out why new technology means a bright future for LEDs in emissive microdisplays.

Electronics Workspace: Pure Function, Minimal Form

Engineering consultant Steve Hendrix of Sagamore Hills, OH, says the “corporate headquarters” of Hx Engineering, LLC, pictured below, “is pure function, minimal form, and barely fits.”

This basement workspace reflects Steven's diverse projects and clients.

This basement workspace reflects Steve’s diverse projects and clients.

It’s a home basement workspace that reflects a variety of projects and clients. “I do a range of design work, from transistor-level hardware design through microcontrollers and FPGAs, as well as the embedded firmware and PC-side software to run the products,” Hendrix says. “Most of my clients are small to medium businesses in northeast Ohio, although I’ve done designs for companies as far west as New Mexico, as far south as Florida, and as far east as Cypress.”

Hendrix describes a workspace layout that stresses utility and a certain attention to thriftiness:

As I look through my equipment, probably the central theme is cost-effective solid equipment, without necessarily being the ‘first kid on the block.’ I learned long ago to be the second kid on the block with the newest toy… er… TOOL. The early bird gets the worm, but the second mouse gets the cheese.

He provides the following detailed description of his equipment and desk, which is a very large, solid-core door purchased cheaply from a lumberyard because it had been damaged:

Being natural wood and not plastic, it makes an inherently anti-static workstation. I used a router to round the front edge to be a bit friendlier to elbows, and carefully trimmed it and wedged it between the wall on the right and the utility room wall on the left, supported by vertical plywood against the walls. My PCs are in the adjacent utility room so I don’t have to listen to fans all day and they’re up on custom brackets on the wall so I don’t have to shinny under the desk to get to them. All the wires pass through plumbing fittings in the wall. The main work computer runs the lower dual monitors. The next-older work computer is still used for some specialized hardware, via the monitor above and an extra mouse. Under the left monitor is an all-band receiver that I sometimes use to monitor equipment under development, but also listen to broadcast music.

My late father-in-law was always extremely thrifty, and salvaged the flatbed scanner at the top left from a dumpster. It’s turned out to be the best scanner I’ve seen, and I used it to scan their family pictures. There’s also an HP Photosmart scanner that’s excellent on slides and negatives.

The middle stack has a parts cabinet that I really should retire, holding mainly SN74 series dual in-line packages (DIPs) that I very rarely use these days. Below that is an Ethernet-enabled power switch that controls various equipment. Next down is my trusty old Tektronix TDS-220 oscilloscope

I was pleased to note that past contributors to [Circuit Cellar’s Workspace feature] also use that same scope. It was the first digital scope I ever encountered that wouldn’t fib to me about aliasing, and it’s still a real workhorse. The ability to do screen captures with the free PC software helps a lot in documenting a finished product and in discussing problems remotely. Below that is a very solid bench multimeter. If it just had a capacitance function, I could abandon my Fluke 12! Then there’s a basic analog function generator, and some manual switches for AC.

Over on the far right are some more parts cabinets, several power supplies (including the ±5V/±12V supply my dad helped me build during my very first excursions into the then-new SN74 series of logic), an RF signal generator, and a good old boat-anchor Hewlett-Packard (HP) spectrum analyzer. I got that one off eBay, and spent as much again to get it repaired and calibrated. It’s in many ways better than the newer instruments. If it had a synthesized local oscillator and a computer interface, it would do it all. Actually, I have on occasion faked a computer interface by connecting the video outputs on its front panel to my TDS-220, and then capturing the resulting waveform.

In front of that is my solder station and stereo zoom microscope. Sitting on its stage is a backup prototype identical to the one currently controlling 4,800 W of my total 6,800 W of installed solar capacity. I routinely do prototypes using 0603 parts and recently more 0402 parts, with occasional 0201 parts. Don’t sneeze around those! The cabinets on the right wall are mainly connectors and surface-mount parts.

I needed some more bench space for a project, so I added a “temporary” shelf between the right end of my bench and the bookshelves on the wall to the right. As you can imagine, the “temporary” part of that wasn’t. So now it holds a voltage standard, on which sits my solder station and a ham radio. The latter is powered directly by 12-V solar power. At the extreme right are an inverter connected to the same solar batteries and the side of a breaker panel that allows me to safely connect to those same batteries when I need a heavy-duty 12-V power supply.

The whole office is lighted by strips of white LEDs run directly by 12-V solar power. The self-adhesive strips are just stuck to the drop-ceiling rails on each side of the standard florescent fixture. The standard fixture is still present and functional as a backup, but the solar lights are actually brighter and don’t flicker like a florescent. The 12-V solar is also wired to the rear jacks of the HP multimeter, so I can get an instant reading on the battery charge state. I have future plans to move some or all of my office circuits to the 120 VAC solar power that runs a portion of our home.

To the right and out of the picture is a solid wall of bookshelves that I built to hold databooks when I first set up this office over 20 years ago. The Internet and PDFs have pretty much made that obsolete, so those shelves now hold various supplies, projects in various states of completion, and some archival data. Behind me as I take this picture is a long table, made of another big door sitting atop filing cabinets. My original intent was for the desk to be for software/firmware, and the long table to be for hardware. Indeed, there are still a couple of RS-232 lines up through the ceiling and down to the table. However, now it serves as an assembly area when I have contractors doing assembly, as well as for storage and general workspace. But there’s Ethernet available on both the desk and the bench, for connecting Ethernet-enabled prototypes.

The biggest drawback to this office comes on a clear, cold, sunny day. The upstairs has lots of glass, so it absorbs lots of free solar heat. However, that means the furnace doesn’t run at all (even near zero outside), so the office and the rest of the basement get really cold. But since the furnace blower is on solar power, which is abundant under those conditions, I just force the blower on to share some of that heat!

If you’re interested in learning more about Hendrix’s work, check out our member profile posted last year. Also, be sure to pick up Circuit Cellar‘s upcoming July and August issues, which will include Hendrix’s two-part series on his personal solar-power setup.

These solar panels are mounted on Steve's east-facing roof.

These solar panels are mounted on Steve’s east-facing roof.

 

Specialized Linux File Systems

Since Linux was released in 1991, it has become the operating system for “98% of the world’s super computers, most of the servers powering the Internet, the majority of financial trades worldwide, and tens of millions of Android mobile phones and consumer devices,” according to the Linux Foundation. ”In short, Linux is everywhere.”

Linux offers a variety of file systems that are relatively easy to implement. Circuit Cellar columnist Bob Japenga, co-founder of MicroTools, writes about these specialized Linux file systems as part of his ongoing series examining embedded file systems. His latest article, which also discusses the helpful Samba networking protocol, appears in the magazine’s April issue.

The following article excerpts introduce the file systems and when they should be used. For more details, including instructions on how to use these file systems and the Samba protocol, refer to Japenga’s full article in the April issue.

CRAMFS
What It Is—Our systems demand more and more memory (or file space) and a compressed read-only file system (CRAMFS) can be a useful solution in some instances.

CRAMFS is an open-source file system available for Linux. I am not sure where CRAMFS gets its name. Perhaps it gets its name because CRAMFS is one way to cram your file system into a smaller footprint. The files are compressed one page at a time using the built-in zlib compression to enable random access of all of the files. This makes CRAMFS relatively fast. The file metadata (e.g., information about when the file was created, read and write privileges, etc.) is not compressed but uses a more compact notation than is present in most file systems.

When to Use It—The primary reason my company has used CRAMFS is to cut down on the flash memory used by the file system. The first embedded Linux system we worked on had 16 MB of RAM and 32 MB of flash. There was a systems-level requirement to provide a means for the system to recover should the primary partition become corrupt or fail to boot in any way. (Refer to Part 3 of this article series “Designing Robust Flash Memory Systems,” Circuit Cellar 283, 2014, for more detail.) We met this requirement by creating a backup partition that used CRAMFS.

The backup partition’s only function was to enable the box to recover from a corrupted primary partition… We were able to have the two file systems identical in file content, which made it easy to maintain. Using CRAMFS enabled us to cut our backup file system space requirements in half.

A second feature of CRAMFS is its read-only nature. Given that it is read-only, it does not require wear leveling. This keeps the overhead for using CRAMFS files very low. Due to the typical data retention of flash memory, this also means that for products that will be deployed for more than 10 years, you will need to rewrite the CRAMFS partition every three to five years…

RAM FILE SYSTEMS
What It Is—Linux provides two types of RAM file systems: ramfs and tmpfs. Both are full-featured file systems that reside in RAM and are thus very fast and volatile (i.e., the data is not retained across power outages and system restarts).

When the file systems are created with the mount command, you specify the ramfs size. However, it can grow in size to exceed that amount of RAM. Thus ramfs will enable you to use your entire RAM and not provide you with any warning that it is doing it. tmpfs does not enable you to write more than the space allocated at mount time. An error is returned when you try to use more than you have allocated. Another difference is that tmpfs uses swap space and can swap seldom used files out to a flash drive. ramfs does not use swapping. This difference is of little value to us since we disable swapping in our embedded systems.

When to Use It—Speed is one of the primary reasons to use a RAM file system. Disk writes are lightning fast when you have a RAM disk. We have used a RAM file system when we are recording a burst of high-speed data. In the background, we write the data out to flash.

A second reason to use a RAM file system is that it reduces the wear and tear on the flash file system, which has a limited write life. We make it a rule that all temporary files should be kept on the RAM disk. We also use it for temporary variables that are needed across threads/processes.

Figure 1: An example of a network file system is shown.

Figure 1: An example of a network file system is shown.



NETWORK FILE SYSTEM (NFS)
What It Is—In the early 1990s I started working with a company that developed embedded controllers for machine control. These controllers had a user interface that consisted of a PC located on the factory floor. The company called this the production line console (PLC). The factory floor was hot, very dirty, and had a lot of vibration. The company had designed a control room console (CRC) that networked together several PLCs. The CRC was located in a clean and cool environment. The PLC and the CRC were running QNX and the PLC was diskless. The PLC booted from and stored all of its data on the CRC (see Figure 1).

This was my first exposure to a Network File System (NFS). It was simple and easy to configure and worked flawlessly. The PLCs could only access their “file system.” The CRC could access any PLC’s files.

QNX was able to do this using the NFS protocol. NFS is a protocol developed initially by Sun Microsystems (which is now owned by Oracle). Early in its lifetime, Sun turned the specification into an open standard, which was quickly implemented in Unix and its derivatives (e.g., Linux and QNX).

When to Use It—One obvious usage of NFS is for environments where a hard drive cannot easily survive, as shown in my earlier example. However, my example was before flash file systems became inexpensive and reliable so that is not a typical use for today.
Another use for NFS would be to simplify software updates. All of the software could be placed in one central location. Each individual controller would obtain the new software once the central location was updated.

The major area in which we use NFS today is during software development. Even though flash file systems are fast and new versions of your code can be seamlessly written to flash, it can be time consuming. For example, you can use a flash memory stick over USB to update the flash file system on several of our designs. This is simple but can take anywhere from several seconds to minutes.

With NFS, all of your development tools can be on a PC and you never have to transfer the target code to the target system. You use all of your PC tools to change the file on your PC, and when the embedded device boots up or the application is restarted, those changed files will be used on the device.

SAMBA
What It Is—Although we don’t like to admit it, many of us still have Windows machines on our desks and on our laptops. And many of us are attached to some good development tools on our Windows machines.

Samba is not exactly a file system but rather a file system/networking protocol that enables you to write to your embedded system’s file system from your Windows machine as if it were a Windows file system. Samba can also be used  to access your embedded system’s files from other OSes that support the SMB/CIFS networking protocol.

When to Use It—Although I primarily see Samba, like NFS, as a development tool, you could certainly use it in an environment where you needed to talk to your embedded device from a Windows machine. We have never had a need for this, but I can imagine it could be useful in certain scenarios. The Linux community documents a lot of Samba users for embedded Linux.