Q&A: Networking Expert Dru Lavigne

Dru Lavigne wasn’t always interested in networking applications. I recently interviewed her about how she discovered UNIX and launched her career as an OS specialist and technical writer. She also described her “to-do” list, which includes more writing, and her hopes for the future of the BSD OS.—Nan Price, Associate Editor

 

Dru LavigneNAN: What is your current occupation?

DRU: I’m the lead tech writer for iXsystems, a hardware solutions provider and corporate sponsor of the FreeNAS and PC-BSD open-source projects. Since both of these projects publish a comprehensive user’s guide with each software release, most of my time is spent making sure each guide is kept up to date as changes are made to these OSes. I’m also involved in the FreeBSD Documentation Project and I am currently assisting in updating and preparing the FreeBSD Handbook for publication in a two-volume format.

NAN: What is the FreeBSD Foundation?

DRU: The FreeBSD Foundation is a 501.c3 nonprofit that provides financial support and a legal entity for the FreeBSD Project.

The FreeBSD Foundation provides grants so developers can attend conferences and developer summits, sponsors developers to work on specific software projects that would benefit the FreeBSD community, interacts with companies that use FreeBSD to determine their needs, and assists in introducing developers to the community. As a director, I assist in fundraising and advocacy, reviewing project proposals, and developing relationships.

NAN: What is BSD? What is the difference between BSD and Linux?

DRU: BSD is a UNIX-like OS that was originally developed at the University of California Berkeley in the 1970s. When the university stopped developing the OS, several open-source projects began to continue development.

Its lineage differs from Linux as Linux is derived from a different UNIX branch known as SysV. Traditionally, the most noticeable difference is that SysV systems use run levels whereas BSD systems do not. The release engineering process also differs between BSD and Linux. BSD projects release an entire OS with a set of base tools included in the OS’s userland. The entire OS has a release engineering team that is responsible for the release and a security team that is responsible for security advisories until a release reaches its end-of-life (EOL). In contrast, Linux itself is only the kernel. Each distro integrates that kernel into its installer, package management system, and userland to create a complete OS.

NAN: How long have you been using BSD? When and how did you become interested?

DRU: I started using FreeBSD in 1997. I went “cold turkey” by installing it on my only computer and learned how to do what I needed to do as I needed to do it. Once I was comfortable with FreeBSD, I ventured into learning how to use NetBSD and OpenBSD, and when PC-BSD came along, I switched to that as my main desktop system.

NAN: Describe your involvement with the BSD Certification Group.

DRU: I founded the BSD Certification Group to create a community-based and psychometrically valid certification exam for system administrators of BSD OSes. The group is composed of volunteers who have been involved in BSD for quite some time as educators, authors, and/or system administrators. We have worked hard to provide a globally affordable examination that provides real value to employers.

NAN: You’ve written several books, including BSD Hacks, The Best of FreeBSD Basics and The Definitive Guide to PC-BSD. What can readers expect to learn from the books?

DRU: How to be comfortable on a UNIX system and how to think using the logic of a UNIX system.

NAN: Do you consider your books introductory or are they written for more experienced engineers?

DRU: These books are written in the style: “Now that you have BSD, did you know that you can do these cool things?” I’m a hands-on person and I like to know what I can do and to understand what I’m seeing when something I do acts differently than I expected it to.

The great thing about UNIX is that you can learn how to do something useful now, even if you have never seen a UNIX command line before. And, even if you’ve been around forever, there is always something you haven’t come across before or a cool new way to do something that you haven’t thought of before. So, these books can appeal to both the introductory user (the main target audience) as well as the advanced user (who will still pick up a trick or two before passing the book along to an introductory user).

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

DRU: I do have a to-do list, book-wise. It’s interesting that I currently write the equivalent of three 300ish page books per year, but these are available for free online at doc.freenas.org  and wiki.pcbsd.org.

In addition, my current big project is the two-volume set for the FreeBSD Handbook, which will be a good 900 pages when it is complete. Once that project is finished, next in line is modernizing The Best of FreeBSD Basics for FreeBSD 10.x. Then, I’d like to write a second BSD Hacks-type book.

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

DRU: Since my expertise is in BSD, I’ll frame my answer from that perspective.
The first is creating usable frameworks for securing/sandboxing existing non-secure applications. FreeBSD is leading the development and research in this area in its Capsicum framework (see the article “Capsicum: Practical Capabilities for UNIX” on the University of Cambridge website).

The second is modern file systems that aren’t limited by the hardware restrictions that were around when most file systems were created. Examples include the OpenZFS storage platform and DragonFly BSD’s HAMMER file system.

NAN: Give us some background information. Where are you located? Where and what did you study?

DRU: I’m a recent transplant to Northwest Arkansas, having lived in Canada for many years. I went back to school in my early 30s to get a technical diploma in Networking and Telecommunications. I also earned the following certifications: MCSE, CNE, CCNA, CCSA, Security+, and probably others, which I have since forgotten.

NAN: How did you become interested in OSes and IT?

DRU: I was working in a dead-end position for a municipal department (low pay, very low glass ceiling) and wanted to expand my horizons. Many of our clients were being referred to a technical college for a networking program at a time when networking was a “hot” topic.

I had no idea what networking was, but figured it couldn’t be any worse than what I was doing, so I negotiated half days with my employer so I could attend classes. I quickly found that the course interested me and I seemed to be good at it.

Toward the end of the program, when I was researching employment opportunities, I noticed that the interesting and well-paying positions wanted UNIX experience. Having no idea what that was, and having no money as a poor student, I did an Internet search for “free UNIX.” The first hit was freebsd.org. I went to the website and my gut told me “this is it.” The rest, as they say, is history.

Q&A: Scott Garman, Technical Evangelist

Scott Garman is more than just a Linux software engineer. He is also heavily involved with the Yocto Project, an open-source collaboration that provides tools for the embedded Linux industry. In 2013, Scott helped Intel launch the MinnowBoard, the company’s first open-hardware SBC. —Nan Price, Associate Editor

Scott Garman

Scott Garman

NAN: Describe your current position at Intel. What types of projects have you developed?

SCOTT: I’ve worked at Intel’s Open Source Technology Center for just about four years. I began as an embedded Linux software engineer working on the Yocto Project and within the last year, I moved into a technical evangelism role representing Intel’s involvement with the MinnowBoard.

Before working at Intel, my background was in developing audio products based on embedded Linux for both consumer and industrial markets. I also started my career as a Linux system administrator in academic computing for a particle physics group.

Scott was involved with an Intel MinnowBoard robotics and computer vision demo, which took place at LinuxCon Japan in May 2013.

Scott was involved with an Intel MinnowBoard robotics and computer vision demo, which took place at LinuxCon Japan in May 2013.

I’m definitely a generalist when it comes to working with Linux. I tend to bounce around between things that don’t always get the attention they need, whether it is security, developer training, or community outreach.

More specifically, I’ve developed and maintained parallel computing clusters, created sound-level management systems used at concert stadiums, worked on multi-room home audio media servers and touchscreen control systems, dug into the dark areas of the Autotools and embedded Linux build systems, and developed fun conference demos involving robotics and computer vision. I feel very fortunate to be involved with embedded Linux at this point in history—these are very exciting times!

Scott is shown working on an Intel MinnowBoard demo, which was built around an OWI Robotic Arm.

Scott is shown working on an Intel MinnowBoard demo, which was built around an OWI Robotic Arm.

NAN: Can you tell us a little more about your involvement with the Yocto Project (www.yoctoproject.org)?

SCOTT: The Yocto Project is an effort to reduce the amount of fragmentation in the embedded Linux industry. It is centered on the OpenEmbedded build system, which offers a tremendous amount of flexibility in how you can create embedded Linux distros. It gives you the ability to customize nearly every policy of your embedded Linux system, such as which compiler optimizations you want or which binary package format you need to use. Its killer feature is a layer-based architecture that makes it easy to reuse your code to develop embedded applications that can run on multiple hardware platforms by just swapping out the board support package (BSP) layer and issuing a rebuild command.

New releases of the build system come out twice a year, in April and October.

Here, the OWI Robotic Arm is being assembled.

Here, the OWI Robotic Arm is being assembled.

I’ve maintained various user space recipes (i.e., software components) within OpenEmbedded (e.g., sudo, openssh, etc.). I’ve also made various improvements to our emulation environment, which enables you to run QEMU and test your Linux images without having to install it on hardware.

I created the first version of a security tracking system to monitor Common Vulnerabilities and Exposures (CVE) reports that are relevant to recipes we maintain. I also developed training materials for new developers getting started with the Yocto Project, including a very popular introductory screencast “Getting Started with the Yocto Project—New Developer Screencast Tutorial

NAN: Intel recently introduced the MinnowBoard SBC. Describe the board’s components and uses.

SCOTT: The MinnowBoard is based on Intel’s Queens Bay platform, which pairs a Tunnel Creek Atom CPU (the E640 running at 1 GHz) with the Topcliff Platform controller hub. The board has 1 GB of RAM and includes PCI Express, which powers our SATA disk support and gigabit Ethernet. It’s an SBC that’s well suited for embedded applications that can use that extra CPU and especially I/O performance.

Scott doesn’t have a dedicated workbench or garage. He says he tends to just clear off his desk, lay down some cardboard, and work on things such as the Trippy RGB Waves Kit, which is shown.

Scott doesn’t have a dedicated workbench or garage. He says he tends to just clear off his desk, lay down some cardboard, and work on things such as the Trippy RGB Waves Kit, which is shown.

The MinnowBoard also has the embedded bus standards you’d expect, including GPIO, I2C, SPI, and even CAN (used in automotive applications) support. We have an expansion connector on the board where we route these buses, as well as two lanes of PCI Express for custom high-speed I/O expansion.

There are countless things you can do with MinnowBoard, but I’ve found it is especially well suited for projects where you want to combine embedded hardware with computing applications that benefit from higher performance (e.g., robots that use computer vision, as a central hub for home automation projects, networked video streaming appliances, etc.).

And of course it’s open hardware, which means the schematics, Gerber files, and other design files are available under a Creative Commons license. This makes it attractive for companies that want to customize the board for a commercial product; educational environments, where students can learn how boards like this are designed; or for those who want an open environment to interface their hardware projects.

I created a MinnowBoard embedded Linux board demo involving an OWI Robotic Arm. You can watch a YouTube video to see how it works.

NAN: What compelled Intel to make the MinnowBoard open hardware?

SCOTT: The main motivation for the MinnowBoard was to create an affordable Atom-based development platform for the Yocto Project. We also felt it was a great opportunity to try to release the board’s design as open hardware. It was exciting to be part of this, because the MinnowBoard is the first Atom-based embedded board to be released as open hardware and reach the market in volume.

Open hardware enables our customers to take the design and build on it in ways we couldn’t anticipate. It’s a concept that is gaining traction within Intel, as can be seen with the announcement of Intel’s open-hardware Galileo project.

NAN: What types of personal projects are you working on?

SCOTT: I’ve recently gone on an electronics kit-building binge. Just getting some practice again with my soldering iron with a well-paced project is a meditative and restorative activity for me.

Scott’s Blinky POV Kit is shown. “I don’t know what I’d do without my PanaVise Jr. [vise] and some alligator clips,” he said.

Scott’s Blinky POV Kit is shown. “I don’t know what I’d do without my PanaVise Jr. [vise] and some alligator clips,” he said.

I worked on one project, the Trippy RGB Waves Kit, which includes an RGB LED and is controlled by a microcontroller. It also has an IR sensor that is intended to detect when you wave your hand over it. This can be used to trigger some behavior of the RGB LED (e.g., cycling the colors). Another project, the Blinky POV Kit, is a row of LEDs that can be programmed to create simple text or logos when you wave the device around, using image persistence.

Below is a completed JeeNode v6 Kit Scott built one weekend.

Below is a completed JeeNode v6 Kit Scott built one weekend.

My current project is to add some wireless sensors around my home, including temperature sensors and a homebrew security system to monitor when doors get opened using 915-MHz JeeNodes. The JeeNode is a microcontroller paired with a low-power RF transceiver, which is useful for home-automation projects and sensor networks. Of course the central server for collating and reporting sensor data will be a MinnowBoard.

NAN: Tell us about your involvement in the Portland, OR, open-source developer community.

SCOTT: Portland has an amazing community of open-source developers. There is an especially strong community of web application developers, but more people are hacking on hardware nowadays, too. It’s a very social community and we have multiple nights per week where you can show up at a bar and hack on things with people.

This photo was taken in the Open Source Bridge hacker lounge, where people socialize and collaborate on projects. Here someone brought a brainwave-control game. The players are wearing electroencephalography (EEG) readers, which are strapped to their heads. The goal of the game is to use biofeedback to move the floating ball to your opponent’s side of the board.

This photo was taken in the Open Source Bridge hacker lounge, where people socialize and collaborate on projects. Here someone brought a brainwave-control game. The players are wearing electroencephalography (EEG) readers, which are strapped to their heads. The goal of the game is to use biofeedback to move the floating ball to your opponent’s side of the board.

I’d say it’s a novelty if I wasn’t so used to it already—walking into a bar or coffee shop and joining a cluster of friendly people, all with their laptops open. We have coworking spaces, such as Collective Agency, and hackerspaces, such as BrainSilo and Flux (a hackerspace focused on creating a welcoming space for women).

Take a look at Calagator to catch a glimpse of all the open-source and entrepreneurial activity going on in Portland. There are often multiple events going on every night of the week. Calagator itself is a Ruby on Rails application that was frequently developed at the bar gatherings I referred to earlier. We also have technical conferences ranging from the professional OSCON to the more grassroots and intimate Open Source Bridge.

I would unequivocally state that moving to Portland was one of the best things I did for developing a career working with open-source technologies, and in my case, on open-source projects.

CC281: Overcome Fear of Ethernet on an FPGA

As its name suggests, the appeal of an FPGA is that it is fully programmable. Instead of writing software, you design hardware blocks to quickly do what’s required of a digital design. This also enables you to reprogram an FPGA product in the field to fix problems “on the fly.”

But what if “you” are an individual electronics DIYer rather than an industrial designer? DIYers can find FPGAs daunting.

Issue281The December issue of Circuit Cellar issue should offer reassurance, at least on the topic of “UDP Streaming on an FPGA.” That’s the focus of Steffen Mauch’s article for our Programmable Logic issue (p. 20).

Ethernet on an FPGA has several applications. For example, it can be used to stream measured signals to a computer for analysis or to connect a camera (via Camera Link) to an FPGA to transmit images to a computer.

Nonetheless, Mauch says, “most novices who start to develop FPGA solutions are afraid to use Ethernet or DDR-SDRAM on their boards because they fear the resulting complexity.” Also, DIYers don’t have the necessary IP core licenses, which are costly and often carry restrictions.

Mauch’s UDP monitor project avoids such costs and restrictions by using a free implementation of an Ethernet-streaming device based on a Xilinx Spartan-6 LX FPGA. His article explains how to use OpenCores’s open-source tri-mode MAC implementation and stream UDP packets with VHDL over Ethernet.

Mauch is not the only writer offering insights into FPGAs. For more advanced FPGA enthusiasts, columnist Colin O’Flynn discusses hardware co-simulation (HCS), which enables the software simulation of a design to be offloaded to an FPGA. This approach significantly shortens the time needed for adequate simulation of a new product and ensures that a design is actually working in hardware (p. 52).

This Circuit Cellar issue offers a number of interesting topics in addition to programmable logic. For example, you’ll find a comprehensive overview of the latest in memory technologies, advice on choosing a flash file system for your embedded Linux system, a comparison of amplifier classes, and much more.

Mary Wilson
editor@circuitcellar.com

Scott Garman, Technical Evangelist

This article was a preview of an upcoming interview in the February issue of Circuit Cellar. The full interview is now available here.
Garman_web

Scott Garman is a Portland, OR-based Linux software engineer. Scott is very involved with the Yocto Project, an open-source collaboration that provides tools for the embedded Linux industry. Scott tells us about how he recently helped Intel launch MinnowBoard, the company’s first open-hardware SBC. The entire interview will be published in Circuit Cellar’s February issue.—Nan Price, Associate Editor

NAN: What is the Yocto Project?

 SCOTT: The Yocto Project is centered on the OpenEmbedded build system, which offers a tremendous amount of flexibility in how you can create embedded Linux distros. It gives you the ability to customize nearly every policy of your embedded Linux system.

I’ve developed training materials for new developers getting started with the Yocto Project, including “Getting Started with the Yocto Project—New Developer Screencast Tutorial.”

MinnowBoardWEB

Scott was involved with a MinnowBoard robotics and computer vision demo at LinuxCon Japan, May 2013.

NAN: Tell us about Intel’s recently introduced the MinnowBoard SBC.

SCOTT: The MinnowBoard is based on Intel’s Queens Bay platform, which pairs a Tunnel Creek Atom CPU (the E640 running at 1 GHz) with the Topcliff Platform controller hub. The board has 1 GB of RAM and includes PCI Express, which powers our SATA disk support and gigabit Ethernet. It’s an SBC that’s well suited for embedded applications that can use that extra CPU and especially I/O performance.

MinnowBoardOWI_web

Scott worked on a MinnowBoard demo built around an OWI Robotic Arm.

The MinnowBoard also has embedded bus standards including GPIO, I2C, SPI, and even CAN (used in automotive applications) support. We have an expansion connector on the board where we route these buses, as well as two lanes of PCI Express for custom high-speed I/O expansion.

NAN: What compelled Intel to make the MinnowBoard open hardware?

SCOTT: The main motivation for the MinnowBoard was to create an affordable Atom-based development platform for the Yocto Project. We also felt it was a great opportunity to try to release the board’s design as open hardware.

Two Campuses, Two Problems, Two Solutions

In some ways, Salish Kootenai College (SKC)  based in Pablo, MT, and Penn State Erie, The Behrend College in Erie, PA, couldn’t be more different

SKC, whose main campus is on the Flathead Reservation, is open to all students but primarily serves Native Americans of the Bitterroot Salish, Kootenai, and Pend d’Orellies tribes. It has an enrollment of approximately 1,400. Penn State Erie has roughly 4,300.

But one thing the schools have in common is enterprising employees and students who recognized a problem on their campuses and came up with technical solutions. Al Anderson, IT director at the SKC, and Chris Coulston, head of the Computer Science and Software Engineering department at Penn State Erie, and his team have written articles about their “campus solutions” to be published in upcoming issues of Circuit Cellar.

In the summer of 2012, Anderson and the IT department he supervises direct-wired the SKC dorms and student housing units with fiber and outdoor CAT-5 cable to provide students better  Ethernet service.

The system is designed around the Raspberry Pi device. The Raspberry Pi queries the TMP102 temperature sensor. The Raspberry Pi is queried via the SNMP protocol.

The system is designed around the Raspberry Pi device. The Raspberry Pi queries the TMP102 temperature sensor. The Raspberry Pi is queried via the SNMP protocol.

“Prior to this, students accessed the Internet via a wireless network that provided very poor service.” Anderson says. “We wired 25 housing units, each with a small unmanaged Ethernet switch. These switches are daisy chained in several different paths back to a central switch.”

To maintain the best service, the IT department needed to monitor the system’s links from Intermapper, a simple network management protocol (SNMP) software. Also, the department had to monitor the temperature inside the utility boxes, because their exposure to the sun could cause the switches to get too hot.

This is the final installation of the Raspberry Pi. The clear acrylic case can be seen along with the TMP102 glued below the air hole drilled into the case. A ribbon cable was modified to connect the various pins of the TMP102 to the Raspberry Pi.

This is the final installation of the Raspberry Pi in the SKC system. The clear acrylic case can be seen along with the TMP102 glued below the air hole drilled into the case. A ribbon cable was modified to connect the various pins of the TMP102 to the Raspberry Pi.

“We decided to build our own monitoring system using a Raspberry Pi to gather temperature data and monitor the network,” Anderson says. “We installed a Debian Linux distro on the Raspberry Pi, added an I2C Texas Instruments TMP102 temperature sensor…, wrote a small Python program to get the temperature via I2C and convert it to Fahrenheit, installed SNMP server software on the Raspberry Pi, added a custom SNMP rule to display the temperature from the script, and finally wrote a custom SNMP MIB to access the temperature information as a string and integer.”

Anderson, 49, who has a BS in Computer Science, did all this even as he earned his MS in Computer Science, Networking, and Telecommunications through the Johns Hopkins University Engineering Professionals program.

Anderson’s article covers the SNMP server installation; I2C TMP102 temperature integration; Python temperature monitoring script; SNMP extension rule; and accessing the SNMP Extension via a custom MIB.

“It has worked flawlessly, and made it through the hot summer fine,” Anderson said recently. “We designed it with robustness in mind.”

Meanwhile, Chris Coulston, head of the Computer Science and Software Engineering department at Penn State Erie, and his team noticed that the shuttle bus

The mobile unit to be installed in the bus. bus

The mobile unit to be installed in the bus.

introduced as his school expanded had low ridership. Part of cause was the unpredictable timing of the bus, which has seven regular stops but also picks up students who flag it down.

“In order to address the issues of low ridership, a team of engineering students and faculty constructed an automated vehicle locator (AVL), an application to track the campus shuttle and to provide accurate estimates when the shuttle will arrive at each stop,” Coulston says.

The system’s three main hardware components are a user’s smartphone; a base station on campus; and a mobile tracker that stays on the traveling bus.

The base station consists of an XTend 900 MHz wireless modem connected to a Raspberry Pi, Coulston says. The Pi runs a web server to handle requests from the user’s smart phones. The mobile tracker consists of a GPS receiver, a Microchip Technology PIC 18F26K22 and an XTend 900 MHz wireless modem.

Coulston and his team completed a functional prototype by the time classes started in August. As a result, a student can call up a bus locater web page on his smartphone. The browser can load a map of the campus via the Google Maps JavaScript API, and JavaScript code overlays the bus and bus stops. You can see the bus locater page between 7:40 a.m. to 7 p.m. EST Monday through Friday.

“The system works remarkably well, providing reliable, accurate information about our campus bus,” Coulston says. “Best of all, it does this autonomously, with very little supervision on our part.  It has worked so well, we have received additional funding to add another base station to campus to cover an extended route coming next year.”

The base station for the mobile tracker is a sandwich of Raspberry Pi, interface board, and wireless modem.

The base station for the mobile tracker is a sandwich of Raspberry Pi, interface board, and wireless modem.

And while the system has helped Penn State Erie students make it to class on time, what does Coulston and his team’s article about it offer Circuit Cellar readers?

“This article should appeal to readers because it’s a web-enabled embedded application,” Coulston says. “We plan on providing users with enough information so that they can create their own embedded web applications.”

Look for the article in an upcoming issue. In the meantime, if you have a DIY wireless project you’d like to share with Circuit Cellar, please e-mail editor@circuitcellar.com.

 

 

 

 

Q&A: Krystal Horton, the Raspberry Pi Kid

Eben Upton and Krystal met in October at the Broadcom MASTERS

Krystal Horton is the clever kid behind the blog Raspberry Pi Kid: An 11-Year-Old’s Adventures with Raspberry Pi.  Since starting her blog in January 2013, her entries have covered everything from unpacking her first Pi, to projects she has created with the SBC, to her recent dinner with Eben Upton, founder and trustee of the Raspberry Pi Foundation, and his wife, Liz Upton, who oversees the foundation website.

Krystal met the couple in October 2013 in Washington, D.C., as one of 30 finalists competing in the 2013 Broadcom MASTERS, a national science, technology, engineering, and math competition for middle school students.  (At the competition, Krystal was named one of two Rising Stars students who will represent Broadcom MASTERS at the 2014 International Science and Engineering Fair, the world’s largest international high school science fair competition.)

“They also gave each of the finalists their own Raspberry Pi,” Krystal says in her October 2 blog entry from Washington, D.C.  “I’m hoping to have each of the finalists guest post on my blog after they’ve had a chance to try out the RPi.”

Liz Upton describes Krystal as “brilliant.” Recently, Circuit Cellar Managing Editor Mary Wilson asked the seventh-grader several questions about her interest in the Raspberry Pi and the blog she created to complement it.

Krystal and her oak borer beetle infestation science project.

Krystal and her oak borer beetle infestation science project.

MARY: Tell us a little bit about yourself and why you became interested in working with the Raspberry Pi.

KRYSTAL: I am an 11-year-old seventh-grader in Southern California. I have been interested in science and technology ever since I can remember. My cousin got a Raspberry Pi for Christmas and my uncle saw how curious I was. So, he gave me one for New Year’s. He gave me some basic lessons on how to hook it up, turn it on, and type into Vim. That and some YouTube videos, tutorials, and eBooks and I was off and running. I now blog at http://raspberrypikid.wordpress.com and sometimes I tweet through @kid_pi.

MARY: Why did you decide to start your blog Raspberry Pi Kid? What type of feedback/comments have you gotten from visitors to your site? Will you rename the blog and keep posting when you’re 12?

KRYSTAL: I’ve learned so much from other people’s blogs, but they’re written for adults and are very hard for a kid to understand. So, I thought that I could put things in kid language and in simple steps so that other kids would be inspired and learn from what I’ve done. I want to give back to the Raspberry Pi and blogging communities.

On my blog, I’m often talking about problems that I’m having (I still haven’t figured out analog to digital conversion) and a lot of people offer to help me out. Others congratulate me and wish that they’d had an RPi when they were my age. I’ve also heard from other kids my age who are learning to code. I put my dad’s email address on the account and he gets invitations for me to Skype with CoderDojos and to guest blog for people. I have over 52,000 views to my blog right now. I hadn’t even thought about whether the name would change when I turn 12, but I’ll definitely keep blogging.

MARY:  Was the SBC difficult to set up? What was the first project you worked on with it?

KRYSTAL: The only hard thing about setting it up is all of the accessories that you need. It doesn’t even come with a power supply, keyboard, or mouse. My uncle gave me some of the stuff (power supply, wireless keyboard/mouse, breadboard), I had some stuff at home (memory card, network cable), and I bought some stuff from Adafruit’s very useful website (wireless adapter, ADC chip, breadboard accessories).

I really like the idea of programming the computer to do things. So, the first thing I did was start programming in Python through Vim and IDLE. I got a book from the library, read tutorials online, and emailed my uncle questions.

MARY: Can you tell me about some other Pi-based projects you have finished or are working on? Do you have something you would like to do next? Where do you get your ideas? Where do you go for guidance?

Krystal and her robot

Krystal and her robot

KRYSTAL: I love playing Minecraft, so when I saw that there’s a Pi version, I installed it and blogged about it. I’ve also used the Scratch programming language to create games and blink LEDs. I’ve used RPi as a Linux computer with the Wheezy version. I just wish that Midori would play YouTube videos so that I could watch Pi tutorials on my Pi. I have also installed OpenELEC (Open Embedded Linux Entertainment Center) so that I can stream HD video to my TV. I’ve also used PuTTY to control the Pi with a laptop (my uncle showed me that one).

In the future, I want to keep working with Scratch, a free visual programming language for kids from MIT (where I want to go to college). I want to figure out analog to digital so that I can connect sensors. And I want to use the RPi to do a science fair project. I really, really want to get a 3-D printer and connect it to the Pi.  I’m planning to order a MakiBOX soon, but it’ll take six-10 weeks to arrive and then I have to build it and learn how to use it.

When I don’t know how to do something, my dad helps me find answers on YouTube or other people’s blogs. He’s a scientist, not a programmer, so he learns with me sometimes. If he can’t help me, I email my uncle who does know how to program. He has automated his house with a RasPi. If I can’t get in touch with him, then I post a question on a forum and wait for answers.

Close up view of the credit-card sized Pi

Close up view of the credit-card sized Pi

MARY: What were some of the challenges you had to overcome with the Pi? What, if anything, would you change about it?

KRYSTAL: One of the problems I’ve had is when things don’t work for me as the blogs say they should. I had a really hard time getting Wi-Fi to work even though I followed the instructions exactly.

If I could change anything, I’d label the GPIO pins right on the board. I’ve had to look up that diagram soooo many times. There are several versions now, so I’d recommend marking them to make it easier to tell which one it is when getting a case for it. I’ve read stories about people breaking off the connector where the memory card goes. That’s scary, I hope they fix that if they can.

MARY: What do you think are the SBC’s best features?

KRYSTAL: Everyone says that the price and size are the Pi’s best features and I agree. But I also like that it’s so open to let me put any kind of Linux I want on it. Some people have even put the Android Operating System on it. Not me… yet.

MARY: What new skills/tools have you learned about through your Pi?

KRYSTAL: Some of the things I’ve learned through using my Pi are: coding in Python and Scratch, basic electronics (how to use a breadboard, multimeter, LEDs, etc.), and using Linux and all of the absolutely free software for it. These are very valuable skills for anyone to learn. I’ve learned about IP addresses and using a computer without the graphical interface at times also.

MARY: What advice would you give to another kid (or adult tinkerer) who is interested in getting started with the Raspberry Pi?

KRYSTAL: The advice that I’d give is to work on fun projects. This shouldn’t feel like boring work. Also, don’t get frustrated if things don’t work right the first time. That’s just part of coding. Most big cities also have groups of computer users. Find one and connect with them.

MARY: How many other 11-year-old girls do you know who are drawn to the Raspberry Pi? Any thoughts about that?

KRYSTAL: I’ve met online several kids who are using Pi. I spoke through Skype with a group in Washington, D.C., one Saturday morning. There were probably 15 kids and many were girls. I watched a video of a girl who tests all of the Raspberry Pis that get sent back as broken.

I think that computers and technology are going to be incredibly important to my generation. It is very scary that so few (girls or boys) are learning how technology works and how to code. Coders are going to rule the future, and I want be a part of that. All kids should. And their parents need to encourage it.  Websites like code.org and adafruit.com and devices like Raspberry Pi are helping.

CC279: What’s Ahead in the October Issue

Although we’re still in September, it’s not too early to be looking forward to the October issue already available online.

The theme of the issue is signal processing, and contributor Devlin Gualtieri offers an interesting take on that topic.

Gualtieiri, who writes a science and technology blog, looks at how to improve Improvig Microprocessor Audio microprocessor audio.

“We’re immersed in a world of beeps and boops,” Gualtieri says. “Every digital knick-knack we own, from cell phones to microwave ovens, seeks to attract our attention.”

“Many simple microprocessor circuits need to generate one, or several, audio alert signals,” he adds. “The designer usually uses an easily programmed square wave voltage as an output pin that feeds a simple piezoelectric speaker element. It works, but it sounds awful. How can microprocessor audio be improved in some simple ways?”

Gualtieri’s article explains how analog circuitry and sine waves are often a better option than digital circuitry and square waves for audio alert signals.

Another article that touches on signal processing is columnist Colin Flynn’s look at advanced methods of debugging an FPGA design. It’s the debut of his new column Programmable Logic in Practice.

“This first article introduces the use of integrated logic analyzers, which provide an internal view of your running hardware,” O’Flynn says. “My next article will continue this topic and show you how hardware co-simulation enables you to seamlessly split the verification between real hardware interfacing to external devices and simulated hardware on your computer.”

You can find videos and other material that complement Colin’s articles on his website.

Another October issue highlight is a real prize-winner. The issue features the first installment of a two-part series on the SunSeeker Solar Array Tracker, which won third SunSeekerplace in the 2012 DesignSpark chipKit challenge overseen by Circuit Cellar.

The SunSeeker, designed by Canadian Graig Pearen, uses a Microchip Technology chipKIT Max32 and tracks, monitors, and adjusts PV arrays based on weather and sky conditions. It measures PV and air temperature, compiles statistics, and communicates with a local server that enables the SunSeeker to facilitate software algorithm development. Diagnostic software monitors the design’s motors to show both movement and position.

Pearen, semi-retired from the telecommunications industry and a part-time solar technician, is still refining his original design.

“Over the next two to three years of development and field testing, I plan for it to evolve into a full-featured ‘bells-and-whistles’ solar array tracker,” Pearen says. “I added a few enhancements as the software evolved, but I will develop most of the additional features later.”

Walter Krawec, a PhD student studying Computer Science at the Stevens Institute of Technology in Hoboken, NJ, wraps up his two-part series on “Experiments in Developmental Robotics.”

In Part 1, he introduced readers to the basics of artificial neural networks (ANNs) in robots and outlined an architecture for a robot’s evolving neural network, short-term memory system, and simple reflexes and instincts. In Part 2, Krawec discusses the reflex and instinct system that rewards an ENN.

“I’ll also explain the ‘decision path’ system, which rewards/penalizes chains of actions,” he says. “Finally, I’ll describe the experiments we’ve run demonstrating this architecture in a simulated environment.”

Videos of some of Krawec’s robot simulations can be found on his website.

Speaking of robotics, in this issue columnist Jeff Bachiochi introduces readers to the free robot control programming language RobotBASIC and explains how to use it with an integrated simulator for robot communication.

Other columnists also take on a number of very practical subjects. Robert Lacoste explains how inexpensive bipolar junction transistors (BJTs) can be helpful in many designs and outlines how to use one to build an amplifier.

George Novacek, who has found that the cost of battery packs account for half the DIY Battery Chargerpurchase price of his equipment, explains how to build a back-up power source with a lead-acid battery and a charger.

“Building a good battery charger is easy these days because there are many ICs specifically designed for battery chargers,” he says.

Columnist Bob Japenga begins a new series looking at file systems available on Linux for embedded systems.

“Although you could build a Linux system without a file system, most Linux systems will have some sort of file system,” Japenga says. “And there are various types. There are files systems that do not retain their data (volatile) across power outages (i.e., RAM drives). There are nonvolatile read-only file systems that cannot be changed (e.g., CRAMFS). And there are nonvolatile read/write file systems.”

Linux provides all three types of file systems, Japenga says, and his series will address all of them.

Finally, the magazine offers some special features, including an interview with Alenka Zajić, who teaches signal processing and electromagnetics at Georgia Institute of Technology’s School of Electrical and Computer Engineering. Also, two North Carolina State University researchers write about advances in 3-D liquid metal printing and possible applications such as electrical wires that can “heal” themselves after being severed.

For more, check out the Circuit Cellar’s October issue.

 

 

CC 277: Using Files in Concurrent Linux Designs

In the August issue of Circuit Cellar, columnist Robert Japenga, who has been designing embedded systems since 1973, wraps up his eight-part series on the benefits and challenges of designing concurrency into your systems and some of the specific tools Linux provides for IPC.

His final installment discusses file usage. It also recounts how the development of read/write nonvolatile memory (i.e., flash technology) enabled embedded systems to contain cost-competitive file systems.

“Disk drives in the early days were too big and weren’t reliable enough for embedded systems. The first real disk drive I used in 1975 was a Digital Equipment RK-05 for a PDP-11 that held an amazing 2.5 MB of data,” Japenga says in his column. “The RK-05 was released in 1972. It initially weighed 100 lbs. The $74 monthly maintenance cost would buy a 1-TB drive today or 12 per year.

In 1972, a Digital Equipment RK-05 disk drive held only 2.5 MB of data. (Photo courtesy of Mark Csele)

“In 1977, a friend from Bell Labs carried an RK-05 with a copy of Unix onto a plane. At the gate, the inspector opened the lid and put his finger on the magnetic platter. Whoops. The disk gloriously crashed when inserted into my disk drive. It seemed I would have to wait for my first copy of Unix.

“”For a time, companies produced hardened disk drives. The cost was very prohibitive and the reliability was questionable. Then in 2001, the iPod changed all that when Apple used Toshiba’s 1.8” hard drive, which is only 0.2” thick. As a consumer product, it had to be extremely rugged. Very small embedded systems now had hard drives.

“But not all of us built millions of systems, nor could we afford to put a hard disk in our temperature controllers, motion-control devices, or avionics boxes. However, with the advent of read/write nonvolatile memory (i.e., flash technology), embedded systems now had a way to contain cost-competitive file systems. This paved the way for putting real OSes into embedded systems. In the late 1990s and later, we were putting DOS on a flash card. Well, not everything was a real OS! And that is where Linux comes into the picture.”

Japenga’s column goes on to discuss file systems and the mechanisms to create concurrent systems, including nonvolatile flag files, volatile flag files, data sharing, and event triggering. It concludes with a thorough discussion of some of the risks of using a file system in a concurrent system.

“Modern embedded systems are doing more than I ever imagined when I started out,” Japenga says. “Adding a file system to your design can provide significant advantages to improve your product. As with all OS functions, we need to understand how our file system works if we are going to use it properly—especially in systems with concurrency.”

For more, check out  Japenga’s column, Embedded in Thin Slices, in Circuit Cellar‘s August issue.

Free Raspberry Pi Poster

The Raspberry Pi is a computer with no casing, no keyboard, no hard disk and no screen. Despite all that, it’s taking the world by storm!

Get your free Raspberry Pi poster now, courtesy of Elektor, RS Components, and CC! Go ahead: download, print, and then enjoy!

Like free stuff?
Sign up for our newsletter to enter the weekly raffle for free stuff!

Free Raspberry Pi Poster

RASPBERRY PI ESSENTIALS

Model A has 256-MB RAM, one USB port, and no Ethernet port (network connection). Model B has 512-MB RAM, two USB ports, and an Ethernet port.

The Raspberry Pi Model B, revision 2 board:

  • Status led labels: top led has label “ACT” and bottom led has label “100”
  • Header P2 is not populated
  • The text underneath the Raspberry Pi logo reads: “(C) 2011,12”
  • The area next to the micro usb port has CE and FCC logos and the text “Made in China or UK” along the board edge.
  • There are two 2.9-mm holes in the PCB, which can be used as mounting holes.
  • P5 is a new GPIO header with four additional GPIO pins and four power pins. Also note that some pin and I2C port numbers of connector P1 have been modified between revisions!
  • Header P6 (left from the HDMI port) was added, short these two pins to reset the computer or wake it up when powered down with the “sudo halt” command.

The Raspberry Pi measures 85.60 mm × 56 mm × 21 mm, with a little overlap for the SD card and connectors which project over the edges. It weighs 45 g.

The SoC is a Broadcom BCM2835. This contains an ARM ARM1176JZFS, with floating point, running at 700 MHz, and a Videocore 4 GPU. The GPU is capable of BluRay quality playback, using H.264 at 40 Mbps. It has a fast 3D core which can be accessed using the supplied OpenGL ES2.0 and OpenVG libraries.

The Raspberry Pi is capable of using hardware acceleration for MPEG-2 and VC-1 playback, but you’ll need to buy license keys at the Raspberry Pi Store to unlock this functionality.

Which programming languages can you use? Python, C/C++, Perl, Java, PHP/MySQL, Scratch, and many more that can run under Linux.

TROUBLESHOOTING TIPS

If you’re getting a flashing red PWR LED or random restarts during the booting process, it’s likely that your PSU or USB cable has problems. The Raspberry Pi is pretty picky and requires a solid 5-V/1000-mA power supply. For other issues and more troubleshooting tips check out the extensive overview at the eLinux website

Circuitcellar.com is an KCK Media website.

Member Profile: Thomas Struzik

Member Thomas Struzik at his bench.

 

  • Member Name: Thomas Struzik
  • Location: Houston, TX
  • Education: BSEE, Purdue University
  • Occupation: Software architect
  • Member Status: He has been a subscriber since day one. “I’ve got Issue 1 sitting in a box somewhere,” he said. Thomas adds that he was a BYTE magazine subscriber before Circuit Cellar.
  • Technical Interests: Thomas enjoys automation through embedded technology, robotics, low-level programming, and electronic music generation / enhancement.
  • Most Recent Embedded Tech-Related Purchase: He recently bought a CWAV USBee SX Digital Test Pod and an Atmel AVR Dragon.
  • Current and Recent Projects: Thomas is working on designing an isolated USB power supply for his car.
  • Thoughts on the Future of Embedded Technology: Ever-increasing complexity is becoming a stumbling block for the “average” user. “Few people even realize the technology embedded in everyday items,” he said. “How many people know that brand-new LCD TV they’ve got is actually running Linux under the covers? Fortunately, there seems to be a resurgence of ‘need-to-know how stuff works’ with the whole DIY/maker culture. But even that is still a small island compared to the population in general.”

CC269: Break Through Designer’s Block

Are you experiencing designer’s block? Having a hard time starting a new project? You aren’t alone. After more than 11 months of designing and programming (which invariably involved numerous successes and failures), many engineers are simply spent. But don’t worry. Just like every other year, new projects are just around the corner. Sooner or later you’ll regain your energy and find yourself back in action. Plus, we’re here to give you a boost. The December issue (Circuit Cellar 269) is packed with projects that are sure to inspire your next flurry of innovation.

Turn to page 16 to learn how Dan Karmann built the “EBikeMeter” Atmel ATmega328-P-based bicycle computer. He details the hardware and firmware, as well as the assembly process. The monitoring/logging system can acquire and display data such as Speed/Distance, Power, and Recent Log Files.

The Atmel ATmega328-P-based “EBikeMeter” is mounted on the bike’s handlebar.

Another  interesting project is Joe Pfeiffer’s bell ringer system (p. 26). Although the design is intended for generating sound effects in a theater, you can build a similar system for any number of other uses.

You probably don’t have to be coerced into getting excited about a home control project. Most engineers love them. Check out Scott Weber’s garage door control system (p. 34), which features a MikroElektronika RFid Reader. He built it around a Microchip Technology PIC18F2221.

The reader is connected to a breadboard that reads the data and clock signals. It’s built with two chips—the Microchip 28-pin PIC and the eight-pin DS1487 driver shown above it—to connect it to the network for testing. (Source: S. Weber, CC269)

Once considered a hobby part, Arduino is now implemented in countless innovative ways by professional engineers like Ed Nisley. Read Ed’s article before you start your next Arduino-related project (p. 44). He covers the essential, but often overlooked, topic of the Arduino’s built-in power supply.

A heatsink epoxied atop the linear regulator on this Arduino MEGA board helped reduce the operating temperature to a comfortable level. This is certainly not recommended engineering practice, but it’s an acceptable hack. (Source: E. Nisley, CC269)

Need to extract a signal in a noisy environment? Consider a lock-in amplifier. On page 50, Robert Lacoste describes synchronous detection, which is a useful way to extract a signal.

This month, Bob Japenga continues his series, “Concurrency in Embedded Systems” (p. 58). He covers “the mechanisms to create concurrently in your software through processes and threads.”

On page 64, George Novacek presents the second article in his series, “Product Reliability.” He explains the importance of failure rate data and how to use the information.

Jeff Bachiochi wraps up the issue with a article about using heat to power up electronic devices (p. 68). Fire and a Peltier device can save the day when you need to charge a cell phone!

Set aside time to carefully study the prize-winning projects from the Reneas RL78 Green Energy Challenge (p. 30). Among the noteworthy designs are an electrostatic cleaning robot and a solar energy-harvesting system.

Lastly, I want to take the opportunity to thank Steve Ciarcia for bringing the electrical engineering community 25 years of innovative projects, essential content, and industry insight. Since 1988, he’s devoted himself to the pursuit of EE innovation and publishing excellence, and we’re all better off for it. I encourage you to read Steve’s final “Priority Interrupt” editorial on page 80. I’m sure you’ll agree that there’s no better way to begin the next 25 years of innovation than by taking a moment to understand and celebrate our past. Thanks, Steve.

Elektor & element14 Partner for Embedded Linux Webinar at Electronica 2012

Want to learn more about Embedded Linux? You’re in luck. On Wednesday, November 14, Elektor and Farnell/element14 will partner to run an informative webinar on the topic at Electronica 2012 in Munich, Germany. If you’re at the show, you can attend the recordings for free. Register before October 31 to get free Electronica entry tickets from Farnell/element14.

Attendees should go to the Farnell/element14 stand (Hall 5, Stand 558) for the Elektor Academy seminar, which will focus on the latest developments on the innovative Embedded Linux board. You can watch the presentation and ask the experts questions. The webinar will be recorded and webcast a bit later.

  • Presenter: Embedded Linux expert Benedict Sauter, the board’s designer
  • Description: Benedict Sauter will take you through the design and update us on the latest applications.
  • When: Wed, November 14, 2012
  • Time: 11:30 CET
  • Where: Farnell element14 stand (Messe München, Hall 5, Booth 558)
  • Language: English

Visit the element14 page about the Elektor Academy event for more information and to register for a free entry ticket.

CircuitCellar.com is an Elektor International Media publication.

Elektor Weekly Wrap-Up: E-Blocks, Embedded Linux, & the Elektor Lab

Last week Elektor staffers provided the Circuit Cellar staff with an E-Blocks kit to open and analyze, introduced a new course on Embedded Linux (along with an affordable Linux board), and gave members a behind-the-scenes look at the Elektor Lab. Let’s review.

E-Blocks

Early last week, the Elektor editorial department sent Circuit Cellar staffers an E-Blocks kit to open and review.

E-Blocks: The Elektor Pro PICmicro Starter Kit

So, what are E-Blocks?

E-blocks are small circuit boards. Each contains a block of electronics that you would typically find in an electronic system. The 40 circuit boards in the E-blocks product line use rugged, nine-way, D-type connectors as a connection bus for eight signal lines and earth. Power (5 or 3.3 V) is wired separately. Thus, you can assemble a complete system to be assembled in a matter of minutes.

The system’s functionality can be enhanced further by the addition of more than 40 sensors and accessories.

Systems based on microcontrollers can be programmed using flowcharts, C, or Assembly. Systems based on CPLD/FPGA technologies can be programmed in block diagrams, VHDL or Verilog. A range of CD ROM tutorials, which includes compilers, development tools and manuals, provides support to students who are new to any of these technologies. (Source)

Click here for more information.

Take closer look at the E-Blocks kit. It includes a Microchip Technology PIC16F877A chip, a multiprogrammer board, an LCD board, a switch board, Flowcode, an internal power supply, and documentation.

Embedded Linux Made Easy

Elektor announced last Wednesday an introductory course on Embedded Linux that’s accompanied by a compact circuit board:

In this beginners’ course you will learn where the most important applications and software components, the basis of our Linux system, originate from. You will also learn how the hardware is constructed and how it operates. The next step is to install a suitable Linux development environment on a PC to compile our own source code. By the end of the course you will be able to construct a simple heating controller with a graphical display and data analysis via a browser.

The Linux board features:

  • Two-layer board using readily-available components
  • No special debugging or programming hardware required
  • Fully bootable from an SD memory card
  • Linux pre-installed
  • 180-MHz ARM9 MCU, 8-MB RAM (32 MB optional), 64 MB swap
  • Integrated USB-to-RS-232 converter for console access
  • Relay, external power supply, and pushbuttons for quick testing
  • Four GPIO pins, 3 A/D channels and a PWM channel
  • I²C and SPI buses accessible from Linux
  • USB interface for further expansion

More info.

Workspaces

Circuit Cellar has been publishing workspace writes for the past few weeks. Last week, our colleagues at Elektor gave the world some insight about the Elektor Lab:

Developing electronic circuits necessitates measurement equipment, tools and a good place to work. Many electronics engineers, pro or hobbyist, tinkerers, researchers and other refer to this place as their “Lab”. We at Elektor have our Lab where we develop and test the circuits we publish in the magazine. Over the years, we have collected, (mis)used and destroyed quite a lot of gear, soldering irons and components here, and it is only thanks to regular & rigorous ‘clean-up’ campaigns that we keep our lab workable.

Many of our readers have access to their own often substantial labs, with equipment that sometimes even the NASA would be jealous of. So what does your electronics workspace look like? Our colleagues at Circuit Cellar have begun posting write-ups about workspaces, hackspaces, and “circuit cellars” on their website. If you would like to show off your lab, just send them some pictures and descriptions and they will post it on the Circuit Cellar website. Don’t worry about cleaning up first as our lab is probably in a similar state as yours. (Source)

Email pictures and descriptions of your workspaces, hackspaces, and circuit cellars to our editors.

CircuitCellar.com is an Elektor International Media publication.