Microchip Joins Linux Foundation & Automotive Grade Linux

Microchip Technology recently announced that it joined The Linux Foundation and Automotive Grade Linux (AGL), which is an open-source project developing a common, Linux-based software stack for the connected car. Additionally, Microchip has begun enabling designers to use the Linux operating system with its portfolio of MOST network interface controllers.Microchip MOST

AGL was built on top of a stable Linux stack that is already being used in embedded and mobile devices. The combination of MOST technology and Linux provides a solution for the increasing complexity of in-vehicle-infotainment (IVI) and advanced-driver-assistance systems (ADAS).

The MOST network technology is a time-division-multiplexing (TDM) network that transports different data types on separate channels at low latency and high quality-of-service. Microchip’s MOST network interface controllers offer separate hardware interfaces for different data types. In addition to the straight streaming of audio or video data via dedicated hardware interfaces, Microchip’s new Linux driver enables easy and harmonized access to all data types. Besides IP-based communication over the standard Linux Networking Stack, all MOST network data types are accessible via the regular device nodes of the Linux Virtual File System (VFS). Additionally, high-quality and multi-channel synchronous audio data can be seamlessly delivered by the Advanced Linux Sound System Architecture (ALSA) subsystem.

Support is currently available for beta customers. The full version is expected for broad release in October.

Source: Microchip Technology

Microcontroller-Based Control Display Component

Jerry Brown, a California-based aerospace engineer, designed and built (both the hardware and software) an MCU-based computer display component (CDC) for a traffic-monitoring system. The system with the CDC is intended for monitoring and recording the accumulative count, direction of travel, speed, and time of day for vehicles that pass by.

In his November 2014 Circuit Cellar article, “MCU-Based Control Display Component,” Brown explained:

For the past five years, I have been working on an embedded project that you might find interesting. As part of a traffic-monitoring system (TMS) developed by a colleague (a retired aerospace/aeronautical engineer), whereby traffic flow on city streets and boulevards is monitored, I designed and built (both the hardware and software) a dual Microchip Technology PIC18F4520 microcontroller-based control display component (CDC, see Photo 1). My motivation to develop the CDC came about as a result of my chance meeting with my colleague when we were both judges at the local county-wide science fair. He explained the concept of the TMS to me and his motivation for developing it and said he needed an electrical engineer to design and build the CDC. Would I be interested? You bet I was.

Photo 1: Fully functional CDC prototype

Photo 1: Fully functional CDC prototype

Brown went on to describe system.

The TMS comprises a dual laser beam transmitter, a dual sensor receiver, and the CDC (see Figure 1). It is intended for unmanned use on city streets, boulevards, and roadways to monitor and record the cumulative count, direction of travel, speed, and time of day for vehicles that pass by a specific location during a set time period (e.g., 12 to 24 hours).

Figure 1: Traffic Monitoring System showing the Laser Beam Transmitter, the Sensor Receiver and the Control Display Component

Figure 1: Traffic Monitoring System showing the Laser Beam Transmitter, the Sensor Receiver and the Control Display Component

The transmitter, which is placed on one side of the roadway at the selected measurement-monitoring location, has two laser diodes (in the red color spectrum about 640-to-650-nm wavelength) spaced 12″ apart. The receiver has two photo transistor detectors also spaced 12″ apart. The transmitter is positioned directly across the roadway from the receiver as nearly orthogonal as possible. In operation, the two laser diodes in the transmitter continually emit a pair of parallel beams a small distance above the road surface, and the beams are aligned so that they impinge on the two photo sensor arrays in the receiver across the road. When a vehicle passes through the monitoring location, one beam is interrupted and, a short time later, the second beam is interrupted. The CDC electronics and software accurately measures the time differential between the sequential beam interruptions to determine vehicle speed and, depending on which beam is interrupted first, determines the direction of travel. The CDC—which counts the passing vehicles accumulatively and calculates and displays vehicle speed, direction of travel, and time of event on an LCD—is electrically connected to the receiver. All traffic-monitoring data including the time of each interruption event is recorded on a Compact Flash Memory (CFM) card within the CDC for later review and analysis in an Excel spreadsheet or other data  analysis program. In addition, the CDC has an alphanumeric keypad whereby the set-up technician can enter four initial parameters (Date, Location, Map Book Page, and Map Book Coordinates), which are downloaded to the CFM card as the “Header File.”

The TMS system-level requirements established by my colleague drove the CDC level requirements which I documented. Specifically, the CDC had to be of a size and weight so that it could be easily hand carried. Inexpensive off-the-shelf components were to be utilized to the maximum extent possible in the design and fabrication of the CDC. Power consumption needed to be kept to a minimum. Functionally, the CDC had to be capable calculating speed to within ±1 mph of all vehicles passing through (i.e., “interrupting”) the laser beam pair. In addition, the CDC had to be able to determine the direction of travel, the time the valid interruption occurred, and the cumulative count for all vehicles interrupting the laser beam pair during a manned or unmanned test session. A real-time GUI (i.e., the LCD) and a keypad were also required, as was nonvolatile  memory (CFM card) to store all the traffic pattern data obtained during a traffic-monitoring session.

Figure 2 shows the CDC’s functional elements.

The functions of the main co-processor are to display on the LCD input from the User Interface, to drive the status LEDs and to calculate and display traffic pattern data which is sent to the CFM microcontroller. The CFM microcontroller formats the traffic pattern data in a File Allocation Table (FAT) file and writes that file to the CFM card. Both microcontrollers are clocked by a 40-MHz crystal controlled oscillator and both have an in-circuit serial programming port (ICSP), which allows for programming and reprogramming the microcontrollers at the CDC level. During the software development phase of the project, the ICSP ports were definitely utilized. A power on reset (POR) circuit initializes both microcontrollers at system power-up.

Figure 2: CDC Functional Block Diagram showing the two micro-controllers, the User Interface and the Supporting Functionality

Figure 2: CDC Functional Block Diagram
showing the two micro-controllers,
the User Interface and the Supporting
Functionality

Based on the FBD and the established CDC functional requirements, I designed the CDC motherboard circuit using a schematic capture program. Where necessary, I simulated elements of the circuit using a circuit simulation program. I used an online PCB prototype fabrication service and had to re-enter the schematic using their software. I then laid out and routed the two-sided board using the software package provided by the online vendor. After I submitted the file, it only took a few days to receive the two prototype PCBs I ordered. I “populated” one of the boards with components I had purchased and kept the second board as a spare. Preliminary board-level testing of the assembled PCB revealed two layout errors which were easily corrected by an X-ACTO Knife trace cut and by the addition of a jumper wire.

Figure 3: CDC Motherboard Schematic divided into three sections: (1) Data Processor, (2) CFM Formatter and (3) Input/Output. Some circuitry, such as the RS-422 Interface (U2, U4, J6), was included in the design for potential future utilization but was not used in the prototype configuration.

Figure 3: CDC Motherboard Schematic
divided into three sections: (1) Data
Processor, (2) CFM Formatter and (3)
Input/Output. Some circuitry, such as
the RS-422 Interface (U2, U4, J6), was
included in the design for potential
future utilization but was not used in
the prototype configuration.

Figure 3 depicts the CDC main microcontroller circuit on the motherboard. Photo 3 shows the inside of the CDC with the front panel removed.

As indicated above, I designed and assembled the motherboard circuit card. The LCD module, the keyboard module, the RTC module, and the CFM card module were all purchased assemblies. Once all the parts were installed in the case, I completed the interface wiring.

Photo 3: Inside the CDC showing the (1) Main motherboard, (2) The Main Microcontroller, PIC18F4520, (3) the CFM Micro-controller, PIC18F4520 (4) the LCD module, (5) the Keyboard module, (6) the Real Time Clock module and (7) the CFM Card module, only partially visible.

Photo 3: Inside the CDC showing the (1) Main
motherboard, (2) The Main Microcontroller,
PIC18F4520, (3) the CFM
Micro-controller, PIC18F4520 (4) the
LCD module, (5) the Keyboard module,
(6) the Real Time Clock module and (7)
the CFM Card module, only partially
visible.

The complete article appears in Circuit Cellar 292 (November 2014). Additional files are available on the CC FTP site.

New JukeBlox Wi-Fi Platform for Streaming Audio

Microchip Technology’s fourth-generation JukeBlox platform enables product developers to build low-latency systems, such as wireless speakers, sound bars, AV receivers, micro systems, and more. The JukeBlox 4 Software Development Kit (SDK) in combination with the CY920 Wi-Fi & Bluetooth Network Media Module features dual-band Wi-Fi technology, multi-room features, AirPlay and DLNA connectivity, and integrated music services.

Microchip-JukeBlox-Wifi

Streaming audio with JukeBlox

The CY920 module is based on Microchip’s DM920 Wi-Fi Network Media Processor, which features 2.4- and 5-GHz 802.11a/b/g/n Wi-Fi, high-speed USB 2.0 and Ethernet connectivity. By using the 5-GHz band, speakers aren’t impacted by the RF congestion found in the 2.4-GHz band.

The DM920 processor also features integrated dual 300-MHz DSP cores that can reduce or eliminate the need for costly standalone DSP chips. An PC-based GUI simplifies the use of a predeveloped suite of standard speaker-tuning DSP algorithms, including a 15-band equalizer, multiband dynamic range compression, equalizer presets, and a variety of filter types. Even if you don’t have DSP coding experience, you can implement DSP into your designs.

JukeBlox 4 enables you to directly stream cloud-based music services, such as Spotify Connect and Rhapsody, while using mobile devices as remote controls. Mobile devices can be used anywhere in the Wi-Fi network without interrupting music playback. In addition, JukeBlox technology offers cross-platform support for iOS, Android, Windows 8, and Mac, along with a complete range of audio codecs and ease-of-use features to simplify network setup.

The JukeBlox 4 SDK, along with the JukeBlox CY920 module, is now available for sampling and volume production.

Source: Microchip Technology

PIC32MX1/2/5 Microcontrollers for Embedded Control & More

Microchip Technology’s new PIC32MX1/2/5 series enables a wide variety of applications, ranging from digital audio to general-purpose embedded control. The microcontroller series offers a robust peripheral set for a wide range of cost-sensitive applications that require complex code and higher feature integration.MicrochipPIC32MX125-starterkit

The microcontrollers feature:

  • Up to 83 DMIPS performance
  • Scalable memory options from 64/8-KB to 512/64-KB flash memory/RAM
  • Integrated CAN2.0B controllers with DeviceNet addressing support and programmable bit rates up to 1 Mbps, along with system RAM for storing up to 1024 messages in 32 buffers.
  •  Four SPI/I2S interfaces
  • A Parallel Master Port (PMP) and capacitive touch sensing hardware
  • A 10-bit, 1-Msps, 48-channel ADC
  • Full-speed USB 2.0 Device/Host/OTG peripheral
  • Four general-purpose direct memory access controllers (DMAs) and two dedicated DMAs on each CAN and USB module

 

Microchip’s MPLAB Harmony software development framework supports the MCUs. You can take advantage of Microchip’s software packages, such as Bluetooth audio development suites, Bluetooth Serial Port Profile library, audio equalizer filter libraries, various Decoders (including AAC, MP3, WMA and SBC), sample-rate conversion libraries, CAN2.0B PLIBs, USB stacks, and graphics libraries.

Microchip’s free MPLAB X IDE, the MPLAB XC32 compiler for PIC32, the MPLAB ICD3 in-circuit debugger, and the MPLAB REAL ICE in-circuit emulation system also support the series.

The PIC32MX1/2/5 Starter Kit costs $69. The new PIC32MX1/2/5 microcontrollers with the 40-MHz/66 DMIPS speed option are available in 64-pin TQFP and QFN packages and 100-pin TQFP packages. The 50-MHz/83 DMIPS speed option for this PIC32MX1/2/5 series is expected to be available starting in late January 2015. Pricing starts at $2.75 each, in 10,000-unit quantities.

 

Source: Microchip Technology

New AFEs for Single-Phase Smart Meters & Power Monitoring

Microchip Technology has announced the completion of its MCP391X energy-measurement Analog Front End (AFE) family.  The MCP3919 and MCP3912 integrate three and four channels of 24-bit, delta-sigma ADC, respectively. They have an accuracy of 93.5 dB SINAD, –107-dB THD, and 112-dB SFDR for precise signal acquisition and higher-perforce end products.microchipMCP391Xafe

Microchip also announced two new tools to aid in the development of energy systems using the new AFEs.  The MCP3912 Evaluation Board (part # ADM00499) and MCP3919 Evaluation Board (part # ADM00573) are each available for $129.99.

The MCP3912 and MCP3919 AFEs are both available today for sampling and volume production, with prices starting at $1.84 each in 5,000-unit quantities.  Both AFEs are offered in 28-pin QFN and SSOP packages.

Source: Microchip Technology

WillowTree Apps Named Microchip Design Partner

Microchip Technology recently announced its first App Developer Specialist—WillowTree Apps—the latest company to join its Design Partner Network. WillowTree is an iOS, Android, and Mobile Web app developer that enables Microchip’s customers to focus on Internet of Things (IoT) designs.MicrochipWillowTree

WillowTree wrote the first mobile app for Microchip’s Wi-Fi Client Module Development Kit 1, which is available in the Apple App Store. It enables customers to quickly get up and running with the kit’s cloud-based demo. WillowTree can also modify this cloud-demo app to suit a broad range of customer IoT design requirements.

Source: Microchip Technology

New Digitally Enhanced Power Analog Controllers

Microchip Technology recently announced its latest Digitally Enhanced Power Analog (DEPA) controllers—the MCP19118 and MCP19119—which offer analog PWM control for DC-DC synchronous buck converters up to 40 V with the configurability of a digital microcontroller. MicrochipMCP19118

Interestingly, the devices bring together 40-V operation and PMBus communication interfaces for power-conversion circuit development with an analog control loop that is programmable in the integrated 8-bit PIC core’s firmware.  According to Microchip in a product release, “this integration and flexibility is ideal for power-conversion applications, such as battery-charging, LED-driving, USB Power Delivery, point-of-load and automotive power supplies.”

As expected, Microchip’s MPLAB X, PICkit 3, PICkit serial analyzer, and MPLAB XC8s support the MCP19118/9 DEPA controllers. The MCP19118 and MCP19119 are now available with prices starting at $2.92 each in 5,000-unit quantities.

 

Dev Platform with 2-D Multi-Touch and 3-D Gestures

Microchip Technology recently announced the availability of the 3DTouchPad, which it describes as “a PC peripheral and world’s first Development Platform for 2D multi-touch and 3D gestures.”Microchip_3DTOUCH_7x5_RGB

The 3DTouchPad adds free space gesture recognition to projected-capacitive multi-touch.  Basically, it provides 3-D gesture recognition via Microchip Technology’s GestIC, which provides a detection range of up to 10 cm for 3D gestures, as well as Microchip’s projected-capacitive 2-D multi-touch solution supporting up to 10 touch points and multi-finger surface gestures. Microchip also claims the 2-D multi-touch is enhanced by its new capacitive touch-screen line driver, MTCH652.

The new 3DTouchPad includes: a driverless, out-of-the-box features for Windows7/8.X and OS X, 3D air gestures; advanced multi-touch performance including surface gestures; and a free downloadable GUI and SDK/API package. Possible applications include home automation, remote controls, game controllers, and wearable devices.

The 3DTouchPad costs $99.

Source: Microchip Technology

MPLAB Harmony Firmware Dev Framework for 32-Bit MCUs

Microchip Technology announced Monday the availability of MPLAB Harmony Version 1.0, which was described as a “fully integrated firmware development platform for all 32-bit PIC32 microcontrollers (MCUs).”  Microchip-MPLAB-Harmony

According to Microchp’s release, “It takes key elements of modular and object-oriented design, adds in the flexibility to use a RTOS or work without one, and provides a framework of software modules that are easy to use, configurable for specific design requirements and that are purpose built to work together.”

Features:

  • MPLAB Harmony Configurator for fast driver and middleware settings management
  • A pro graphics library in addition to functional and performance improvements across many of the Harmony driver libraries
  • IPv6 certification of the Microchip TCP/IP stack

The MPLAB Harmony Integrated Software Framework is supported by Microchip’s free MPLAB X Integrated Development Environment (IDE). The MPLAB Harmony basic framework is currently available as a free download.

Source: Microchip Technology, Inc.

New 8-Bit PICs for Sensor Applications

Microchip Technology recently expanded it’s PIC12/16LF155X 8-bit microcontroller family with the PIC16LF1554 and PIC16LF1559 (PIC16LF1554/9), which are targeted toward a variety of sensor applications. The PIC16LF1554/9 features two independent 10-bit, 100,000 samples per second ADCs with hardware Capacitive Voltage Divider (CVD) support for capacitive touch sensing.

Source: Microchip Techno

Source: Microchip Techno

Watch a short video:

The PIC16LF1554 MCUs are available now for sampling and production in 14-pin PDIP, TSSOP, SOIC, and 16-pin QFN (4 x 4 x .9 mm) packages. The PIC16LF1559 MCUs are available for sampling and production in 20-pin PDIP, SSOP, and QFN (4 x 4 x .9 mm) packages. Pricing starts at $0.63 each, in 10,000-unit quantities.

Source: Microchip Technology

Got Problematic Little Bits? (EE Tip #142)

While testing a project, something strange happened (see the nearby image). The terminal showed nonsense, but the logic analyzer properly displayed “Elektor” in ASCII. The latter also indicated that the UART was operating at 4800 baud instead of the 19200 baud that I had programmed (at least that’s what I thought), a difference with a factor of four. The change I had made in my code was a fourfold increase in the clock speed of the dsPIC. The conclusion I had to arrive at is that the clock speed was not being changed. But why not?

Source: Raymond Vermeulen (Elektor, October 2011)

Source: Raymond Vermeulen (Elektor, October 2011)

The inspiration came, and where else, in the shower. In a hobby project, I had used an ATmega32u4 with a bootloader whose only limitation was being unable to program the fuse bits. “That’s not going to be…” I was thinking. But yes, the bootloader I used in my dsPIC cannot program the configuration bits either. Experienced programmers would have realized that long ago, but we all have our off-days. (The solution is to use a “real” programmer, such as the ICD3).—By Raymond Vermeulen (Elektor Labs, Elektor, October 2011)

 

New PIC32 Bluetooth Starter Kit

Microchip Technology recently announced the new PIC32 Bluetooth Starter Kit, which is intended for low-cost applications such as a Bluetooth thermostat, wireless diagnostic tools, and Bluetooth GPS receivers. According to Microchip, the kit includes “a PIC32 microcontroller, HCI-based Bluetooth radio, Cree high-output multi-color LED, three standard single-color LEDs, an analog three-axis accelerometer, analog temperature sensor, and five push buttons for user-defined inputs.”

PIC32 Bluetooth Starter Kit (Source: Microchip Technology)

PIC32 Bluetooth Starter Kit (Source: Microchip Technology)

PICkit On Board (PKOB) eliminates the need for an external debugger/programmer, USB connectivity, and GPIOs for rapid development of Bluetooth Serial Port Profile (SPP), USB and general-purpose applications.  The starter kit also features a plug-in interface for an audio CODEC daughter card. The kit’s PIC32MX270F256D microcontroller operates at 83 DMIPS with 256-KB flash memory and 64-KB RAM.

The PIC32 Bluetooth Starter Kit is supported by Microchip’s free MPLAB X IDE and MPLAB Harmony Integrated Software Framework.  Additionally, the free Quick Start Package is available with an Android application development environment. It also includes a free SDK with the application source code and binary for Microchip’s Bluetooth SPP library.  Both are optimized for the on-board PIC32 MCU and are available for free at www.microchip.com/get/1AVL.

 

The PIC32 Bluetooth Starter Kit costs $79.99.

RN4020 Bluetooth Smart Module

Microchip Technology recently announced its first Bluetooth 4.1 Low Energy module, the RN4020, which carries both worldwide regulatory certifications and is Bluetooth Special Interest Group (SIG) certified. The integrated Bluetooth Low Energy (BTLE) stack and on-board support for the common SIG low-energy profiles speeds time to market while ensuring Bluetooth compatibility, eliminating expensive certification costs and reducing development risks. The module comes preloaded with the Microchip Low-energy Data Profile (MLDP), which enables designers to easily stream any type of data across the BTLE link. MicrochipRN4020

The RN4020 is a stack-on-board module, so it can connect to any microcontroller with a UART interface, including hundreds of PIC MCUs, or it can operate standalone without an MCU for basic data collection and communication, such as a beacon or sensor. Standalone operation is facilitated by Microchip’s unique no-compile scripting, which allows module configuration via a simple ASCII command interface—no tools or compiling are required.

The RN4020 Bluetooth Low Energy Module is available for $6.78 each in 1,000-unit quantities.

[Via Microchip Technology]

Microchip PICs with Integrated Crypto Engine

Anticipating the need for secure communications for the next level of device connectivity, Microchip Technology has integrated a complete hardware crypto engine into its PIC24F family of microcontrollers. Computers normally use software routines to carry out data encryption number crunching, but for low-power microcontrollers, this method will generally use up too much of the processor’s resources and be too slow.microchipPIC24FGB2

Microchip has integrated several security features into the PIC24F family of microcontrollers (identified by its “GB2″ suffix) to protect embedded data. The fully featured hardware crypto engine supports the AES, DES and 3DES standards to reduce software overhead, lower-power consumption, and enable faster throughput. A Random Number Generator is also implemented that can be used to create random keys for data encryption, decryption, and authentication to provide a high level of security. For additional protection, the one-time-programmable (OTP) key storage prevents the encryption key from being read or overwritten.

These security features increase the integrity of embedded data without sacrificing power consumption. With XLP technology, the “GB2” family achieves 180-µA/MHz run currents and 18-nA sleep currents for long battery life in portable applications.

[via Elektor]

Build an Automated Vehicle Locator

Several things inspired Electrical and Computer Engineering Professor Chris Coulston and his team at Penn State Erie, The Behrend College, to create an online vehicle-tracking system. Mainly, the team wanted to increase ridership on a shuttle bus the local transit authority provided to serve the expanding campus. Not enough students were “on board,” in part because it was difficult to know when the bus would be arriving at each stop.

So Coulston’s team created a system in which a mobile GPS tracker on the bus communicates its location over a radio link to a base station. Students, professors, or anyone else carrying a smartphone can call up the bus tracker web page, find out the bus’ current location, and receive reliable estimates of the bus’ arrival time at each of its stops. Coulston, computer engineering student Daniel Hankewycz, and computer science student Austin Kelleher wrote an article about the system, which appears in our June issue.

Circuit Cellar recently asked Coulston if the system, implemented in the fall 2013 semester, had accomplished its goals and might be expanded.

“The bus tracker team is tracking usage of the web site using Google Analytics,” Coulston said. “The data reveals that we get on average 100 hits a day during cold weather and fewer on warmer days. Ridership has increased during this past year, helping assure the long-term presence of the shuttle on our campus.”

“Over winter break, shuttle service was increased to a distant location on campus,” he added. “In order to better track the location of the shuttle, a second base station was added. The additional base station required a significant rework of the software architecture. The result is that the software is more modular and can accept an arbitrary number of base stations. There are no plans at present to add a second bus—a good thing, because this change would require another significant rework of the software architecture.”

Initially, Coulston looked to other real-time vehicle trackers for inspiration: “There are a variety of live bus trackers that motivated my early ideas, including the University of Utah’s Live Tracker  and the Chicago Transit Authority’s CTA Bus Tracker. Given our single bus route on campus, I was motivated to keep the interface simple and clean to minimize the amount of time needed to figure out where the bus is and how long it’s going to take to get to my stop.”

The system, as it was originally implemented in August 2013, is fully described in the June issue, now available for single-issue purchase or membership download. The following article excerpt provides a broad overview and a description of the team’s hardware choices.

THE BIG PICTURE
Figure 1 shows the bus tracker’s hardware, which consists of three components: the user’s smartphone, the base station placed at a fixed location on campus, and the mobile tracker that rides around on the bus.

The bus tracking system includes a Digi International XTend radio, a Microchip Technology PIC18F26K22 microcontroller, and a Raspberry Pi single-board computer.

Figure 1: The bus tracking system includes a Digi International XTend radio, a Microchip Technology PIC18F26K22 microcontroller, and a Raspberry Pi single-board computer.

Early on, we decided against a cellular-based solution (think cell phone) as the mobile tracker. While this concept would have benefited from wide-ranging cellular coverage, it would have incurred monthly cellar network access fees. Figure 1 shows the final concept, which utilizes a 900-MHz radio link between the mobile tracker and the base station.

Figure 2 shows the software architecture running on the hardware from Figure 1. When the user’s smartphone loads the bus tracker webpage, the JavaScript on the page instructs the user’s web browser to use the Google Maps JavaScript API to load the campus map. The smartphone also makes an XMLHttpRequests request for a file on the server (stamp.txt) containing the bus’ current location and breadcrumb index.

Figure 2: The bus tracker’s software architecture includes a GPS, the mobile tracker, a smartphone, and the base station.

Figure 2: The bus tracker’s software architecture includes a GPS, the mobile tracker, a smartphone, and the base station.

This information along with data about the bus stops is used to position the bus icon on the map, determine the bus’ next stop, and predict the bus’ arrival time at each of the seven bus stops. The bus’ location contained in stamp.txt is generated by a GPS receiver (EM-408) in the form of an NMEA string. This string is sent to a microcontroller and then parsed. When the microcontroller receives a request for the bus’ location, it formats a message and sends it over the 900-MHz radio link. The base station compares the bus position against a canonical tour of campus (breadcrumb) and writes the best match to stamp.txt.

Early in the project development, we decided to collect the bus’ position and heading information at 2-s intervals during the bus’ campus tour. This collection of strings is called “breadcrumbs” because, like the breadcrumbs dropped by Hansel and Gretel in the eponymously named story, we hope they will help us find our way around campus. Figure 3 shows a set of breadcrumbs (b1 through b10), which were collected as the bus traveled out and back along the same road.

Figure 3: Breadcrumbs (b1 through b10) containing the bus’ position and orientation information were taken every 2 s during a test-run campus tour.

Figure 3: Breadcrumbs (b1 through b10) containing the bus’ position and orientation information were taken every 2 s during a test-run campus tour.

The decision to collect breadcrumbs proved fortuitous as they serve an important role in each of the three hardware components shown in Figure 1.

MOBILE TRACKER
The bus houses the mobile tracker (see Photo 1). Figure 4 shows the schematic, which is deceptively simple. What you see is the third iteration of the mobile tracker hardware.

Figure 4: The mobile tracker includes a Microchip Technology PIC18F26K22 microcontroller, a Micrel MIC5205 regulator, a Digi International XTend RF module, and a Texas Instruments TXS0102 bidirectional translator

Figure 4: The mobile tracker includes a Microchip Technology PIC18F26K22 microcontroller, a Micrel MIC5205 regulator, a Digi International XTend RF module, and a Texas Instruments TXS0102 bidirectional translator

An important starting point in the design was how to step down the bus’ 12-V supply to the 5-V required by our circuit. In terms of hardware, the best decision we made was to abandon the idea of trying to integrate a 12-to-5-V converter onto the mobile tracker PCB. Instead we purchased a $40 CUI VYB15W-T DC-DC converter and fed the mobile tracker 5-V inputs…

We used Micrel’s MIC5205 regulator to step down the 5 V for the 3.3-V GPS receiver, which easily supplied its peak 80 mA. Since we ran a Digi International XTend radio at 5 V for the best range, we ended up with mixed voltage signals. We used a Texas Instruments TXS0102 bidirectional voltage-level translator, which handles voltage-interfacing duties between the 5-V radio and the 3.3-V microcontroller.

The mobile tracker unit

Photo 1: The mobile tracker unit

We selected Microchip Technology’s PIC18F26K22 because it has two hardware serial ports, enabling it to simultaneously communicate with the GPS module and the radio modem when the bus is traveling around campus. We placed two switches in front of the serial ports. One switch toggles between the GPS module and the Microchip Technology PICkit 3 programming pins, which are necessary to program the microcontroller. The second switch toggles between the radio and a header connected to a PC serial port (via a Future Technology Devices FT232 USB-to-serial bridge). This is useful when debugging at your desk. An RGB LED in a compact PLCC4 package provides state information about the mobile tracker.

The XTend RF modules are the big brothers to Digi International’s popular XBee series. These radios come with an impressive 1 W of transmitting power over a 900-MHz frequency, enabling ranges up to a mile in our heavily wooded campus environment. The radios use a standard serial interface requiring three connections: TX, RX, and ground. They are simple to set up. You just drop them into the Command mode, set the module’s source and destination addresses, store this configuration in flash memory, and exit. You never have to deal with them again. Any character sent to the radio appears on the destination modem’s RX line.

The GPS receiver utilizes the CSR SiRFstarIII chipset, which is configured to output a recommended minimum specific (RMC) string every 2 s…

The mobile tracker’s firmware listens for commands over the serial port and generates appropriate replies. Commands are issued by the developer or by the base station…

Burning breadcrumbs into the mobile tracker’s flash memory proved to be a good design decision. With this capability, the mobile tracker can generate a simulated tour of campus while sitting on the lab bench.

BASE STATION
The base station consists of an XTend RF module connected to a Raspberry Pi’s serial port (see Photo 2). The software running on the Raspberry Pi does everything from running an Nginx open-source web server to making requests for data from the mobile tracker.

From Figure 1, the only additional hardware associated with the base station is the 900-MHz XTend radio connected to the Raspberry Pi over a dedicated serial port on pins 8 (TX) and 10 (RX) of the Raspberry Pi’s GPIO header.

The only code that runs on the base station is the Python program, which periodically queries the mobile tracker to get the bus’ position and heading. The program starts by configuring the serial port in the common 9600,8,N,1 mode. Next, the program is put into an infinite loop to query the mobile tracker’s position every 2 s.

Photo 2: The base station includes an interface board, a Raspberry Pi, and a radio modem.

Photo 2: The base station includes an interface board, a Raspberry Pi, and a radio modem.