Open source GCC builds for ARM MCUs and MPU


viswa informs us of a source for “Completely Free Open Source GCC builds for ARM MCUs and MPUs. This seems to be maintained by the official team which maintains GCC for ARM. This is useful for ARM Cortex M / Cortex R processors.”

Pre-built GNU toolchains from ARM Cortex-R & Cortex-M processors, together with source code can be found here. (Note that the reference to “launchpad” in the URL refers to the Launchpad open source suite of tools for software collaboration and not the MSP430 Launchpad hardware.)

Via the contact form.

Replacing resistor arrays with single 0603 resistors

If a project calls for resistor arrays, but all you have are singles and mad soldering skills, you can try this hack. Yoganerdnl used a bunch of 0603 resistors on their side to replace the resistor arrays on his Bus Pirate SOIC DIY edition board. It takes patience and a steady hand, but it’s a good fix when no arrays are available.

Get an assembled Bus Pirate for $30, including world-wide shipping. Also available from our friendly distributors.

Via the forum.

MMA7455L breakout board build

Gary built two free MMA7455L accelerometer breakout boards. The MMA7455L is a 3-axis accelerometer with I2C and SPI interfaces.

I’ve just received and put together the PCBs I got (they even worked). Thanks Ian for the free PCB!!

If you build a free PCB we’ll send you another one! Blog about it, post a picture on Flicker, whatever – we’ll send you a coupon code for the free PCB drawer.

Get the MMA7455L breakout board for $15 at Seeed Studio.

Via the forum.

App note: PCB layout for analog to digital converters

NXP provides some PCB layout design guidelines for the ADC modules in their LPC1100 and LPC1300 microcontrollers. These ADC modules, like many microcontrollers, use the power supply voltage as a reference so special care has to be taken to eliminate noise:

The microcontrollers in the LPC1100 and LPC1300 families are all equipped with a single external power supply. The digital (core) and analog parts (ADC/Vref) are all connected to the same external supply. Without precautions, noise produced by the core could influence the readout of the ADC via the internal Vref.

Free PCB Sunday: Pick your PCB

We go through a lot of prototype PCBs, and end up with lots of extras that we’ll never use. Every Sunday we give away a few PCBs from one of our past or future projects, or a related prototype. Our PCBs are made through Seeed Studio’s Fusion board service.

This week two random commenters will get a coupon code for the free PCB drawer tomorrow morning. Pick your own PCB.

You get unlimited free PCBs now – finish one and we’ll send you another!

Don’t forget there’s free PCBs three times every week:

  • Tweet-a-PCB Tuesday. Follow us and get boards in 144 characters or less
  • Facebook PCB Friday. Free PCBs while you wait for the weekend
  • Free PCB Sunday, right here on the blog

Continue reading “Free PCB Sunday: Pick your PCB”

The Retrobits Podcast


If you are into vintage computing here’s a podcast for you. Earl Evans of Retrobits has returned from a one-year hiatus to bring us more episodes of The Retrobits Podcast. This podcast is about all aspects of retrocomputing. Like he says, “if it’s got 8-bits, paper tape, BASIC in ROM… or if it’s just plan old, you’ve come to the right place.” Earl previously released 140 episodes of Retrobits podcast from July, 2005 to April, 2011. Now he’s back, and planning on releasing new shows on a regular basis. We understand Earl’s also a fan of the Parallax Propeller, and discusses it from time to time on his show.

You can find all episodes of The Retrobits Podcast at Earl’s Retrobits page or from iTunes. (If using iTunes, do not confuse The Retrobits Podcast with the similarly named but unrelated Retrobits Show.)

App note: Calibration of touch-screens

Here is an app note from Maxim describing how to implement touch screen calibration.  It provides the reader with the necessary mathematical tools needed to address issues with mechanical misalignment and scaling due to imperfections in the touch screen:

Mechanical misalignment and scaling factors can lead to a  mismatch between the values from a touch-panel system (in this tutorial, the touch-panel system implies a setup comprised of a touch screen and a touch-screen controller) and the display (typically an LCD) on which the touch screen is mounted. This article discusses the mathematical techniques to calibrate the touch-panel system so you can match the graphics on the display to the output from the touch-screen controller.

App note: USB keyboard using MSP430 microcontrollers

This reference design from Texas Instruments shows how to build a USB keyboard design using a MSP430 microcontroller. The article contains the full design: the keyboard matrix, schematic, and the firmware needed to get it going.

This application report describes the implementation of a USB keyboard with the following characteristics:
• 101 keys, 2 LEDs: standard HID keyboard and LED usage
• 16×8 matrix: allows for easy customization of different keyboard layouts
• Composite USB device: In addition to the keyboard interface, it  includes an  HID-datapipe back-channel which can be used to transmit any custom data
• HID boot protocol support, allowing keyboard to be used to interface with a PC’s BIOS
• “Ghost” key handling in software, to prevent errors from multiple key presses
• Uses MSP430F550x/5510 low-cost USB family

Robotic motor control tutorial


Chris from PyroElectro has written a multi-part tutorial on building motor control firmware for a microcontroller, a PIC 18F252. This tutorial is based on his earlier robot chassis, but the principles relating to the use of a motor controller IC (SN754410) to move the motors at specific speeds and directions are of general application. If you’ve considered experimenting with robotics and are looking for a good basic explanation of this topic, this tutorial is a good place to start.

Via the contact form.

App note: Adding a USB printer to your USB host PIC project

Here is an app note from Microchip explaining how to implement the USB printer class on PICs that have USB host capability. This will allow you to connect your project to a printer.

The USB Printer Class, used on one of Microchip’s  microcontrollers with the USB OTG peripheral, allows an embedded application to utilize a USB printer to provide hardcopy output for quick review and possible archival.

Review: BlueBoard-LPC1768

Jeffrey wrote a review of the NGX technologies BlueBoard LPC1768 Cortex-M3 development board. It comes with a unique USB bootloader that appears as a USB flash drive. Just drag a firmware update into the drive.

The greatest advantage of this board is that it can be flashed using its USB port. There is no seperate flashing tool hardware or software needed. Just plug the board into the USB port and press a button sequence. The board will appear as an mass storage device(like our USB pen drives). The compiled bin just has to be pasted into the drive. Once the reset button is pressed, the new compiled software will start to work.

Workshop Update May 11, 2012

Work on the POV Toy continues, further calibration and tweaking. We’re getting really close to the end result we want. Documentation on the open source USB stack is very close to completion, look for a full announcement next week.

The John Doe board from the flux off needs a second revision with more room around the rotary encoder placement. Currently the knobs run into the LCD. Firmware is moving along and a first version is almost complete. The bill of materials is complete and ready to go to Seeed for a quote.

We’re making a big push to have more beautiful graphics and documentation. Check out our remodeled YouTube channel, and update-in-progress Facebook page. We’re also rendering the 3D project models to use in graphics and documentation.

Any moment another new project will be available at Seeed Studio (pictured above). All we can say is that it’s already become a go-to tool in the workshop.

On the business side we’re reconciling our monthly account statement with Seeed, and following up on some wholesale orders. Free PCB codes went out today, a batch of PCBs will be mailed this weekend.

Another update on the hybrid race car

The Rensselaer Polytechnic Institute hybrid race car made it into competition, check out some videos of the car running below.

All last week was the competition. This is the first year RPI made it through all of the inspections and was able to compete. Next year is going to be even greater!

Overall it consisted of little sleep and a lot of wiring. The CAN nodes that I developed (and Seeed fabbed for me) worked well. Our team walked away with plenty of design feedback and we are excited to compete next year in all of the events.

Via the contact form.

Continue reading “Another update on the hybrid race car”

Free PCB coupon via Facebook to 2 random commenters


Every Friday we give away some extra PCBs via Facebook. This post was announced on Facebook, and on Monday we’ll send coupon codes to two random commenters. More PCBs via Twitter on Tuesday and the blog every Sunday.

Don’t forget there’s free PCBs three times a every week:

Continue reading “Free PCB coupon via Facebook to 2 random commenters”

3G/GPRS shield for Arduino


Libelium has introduced their 3G/GPRS shield for Arduino (3G + GPS). It enables connectivity to high speed WCDMA and HSPA cellular networks, and includes GPS. “The GPS module also makes it possible to perform geolocation services even in indoors as it can work in A-GPS and S-GPS modes, so the location given by the GPS through NMEA sentences is completed with the cell information provided by both the 3G module and external Internet Geoposition Servers which helps you to get the most accurate location in each case.”

The shield lists for EUR 149 from Cooking Hacks by Libelium.

Details on the design and operation can be found on Libelium’s “Cooking Hacks” tutorial page.

Week in (p)review May 11, 2012

Here’s a summary of major developments over the last week. Free PCB Friday is coming up soon.

Coming up:

  • We’ll be in San Francisco for the Bay Area Maker Faire next week
  • Join us on Thursday for the annual Dangerous taco crawl
  • Saturday and Sunday we’ll be at the Maker Faire
  • We’ll do our best to get a new workshop video prepared to run as normal next Thursday
  • Free PCBs via Facebook on Friday
  • App notes on the weekend
  • Free PCB Sunday
  • New 3D model on Monday
  • Free PCBs via Twitter on Tuesday
  • Weekly roundup and preview every Friday

What are you hacking this week?

Capacitive touch sensing with a single ADC pin

Capacitive sense buttons and pads are awesome, but many of the available systems are either propitiatory or require a dedicated IC. Toumas decided to code his own based on a closed source Atmel example where a single ADC pin is used for capacitive sensing. He reverse engineered it, and documented his results:

I’ve been thinking of a project that needs a little bit more elegant user interface than your usual push buttons. Partly inspired by a video blog on Dave Jones’ EEVblog, I decided to look into capacitive touch buttons. The big issue unfortunately for me was that you usually need a separate chip for capacitive touch sensing. With some tricks, you can however use a normal microcontroller to do the job. Even using only a single pin and resistor.

A lot of these techniques are riddled with patents, so watch out if you plan to sell your hardware.

Via the forum.

Workshop update May 10th, 2012

Work on the POV Toy continues, and it’s the subject of the workshop video this week. We might as well give up guessing the subject of the next video, it’s whatever is on the bench Thursdays. The firmware is being tweaked and calibrated, and finalized for production. We’re thinking about adding mounting holes to the next revision to mount it on top of motors or fan blades for a constant POV display.

Firmware for the board from flux off part deux is one menu system closer to completion. Rotary encoders have been moved to interrupts. Code for the primary feature is nearly complete. We also scooped up the domain name for this project.

We revised our Eagle footprint library to match the common trimmer resistors we’ve been using. This update went into the John Doe project above too. Tomorrow we start the final hardware revision.

Routing of the anonymous breakout board is done. A quote request is out to Seeed Studio.

Work on the open source USB stack continues. Documentation is close to being finished, though we’ll need a new page for the recently added HID support.

Quotes from Seeed for the Bus Pirate Demo board V5, and the PIC18F2550 breakout board came in. We’ll also have a quote for the XTIDE v2.0a soon, just for the sake of curiosity. How much will it cost to manufacture the first new XT hardware in a decade? We’ll find out, though we had to clarify the DIP switch model first.

How do you like workshop updates? Should we keep them up?

Microchip’s new cheapie PIC24F KL microcontrollers

Microchip added some new cheapie chips to the PIC24F family of 16bit microcontrollers, the ‘KL’ series. They come in 14, 20, and 28 pin packages, and some cost less than a buck in quantity:

The PIC24F ‘KL’ family was developed for cost-sensitive applications that require 16-bit performance, extremely low power sleep and active modes, and low pin count package options… Our new MCUs meet these needs, at prices starting at just $0.75 each in high-volume quantities…

WORKSHOP VIDEO #21: USB POV Toy calibration tests

Today we play around with the latest USB POV Toy hardware and firmware. The POV Toy is a persistence of vision (not division…) device, but we added some special features. First, a USB connection makes it effortless to upload new patterns. Second, an inexpensive accelerometer actively detects the waving motion and syncs the pattern.

We had problems soldering the LGA-packaged MMA7455 accelerometer on the latest prototype, it’s a tiny chip without any exposed leads at all. Pietja came to the rescue and soldered 4 of them for us. More on that later. If you want to try this chip without soldering the tiny package, we have a breakout board available for $15.

The MMA7455 accelerometer reading is way off before its calibrated. When the board sits flat and level the X axis should read close to 0x00 (0xFE 0xFF 0x00 0x01 0x02 are all ok), instead it’s closer to 0xE0. Each chip is different, so we’ll build a level test rig and make calibration part of the manufacturing test process.

Calibration is triggered by typing ‘c’ into a serial terminal connected to the POV Toy’s USB port. The PIC measures the offset, configures the accelerometer, and then saves the offset to an EEPROM. Now the correct offset will be loaded every time the POV starts. Here’s the commands supported so far:

  • c – run calibration. Returns the calibration value
  • x – measure the x axis. Should be around 0x00 after calibration
  • t – self test. Lights the LEDs and returns the calibration value

With calibration the POV Toy is working much better, but the timing and sensitivity need a bit of tweaking before it’s ready for release. Look for more updates soon.

Next week we’ll be back with an overview of the open source USB stack, or maybe a tutorial on talking to projects from a serial terminal. It really depends on what we can put together before Bay Area Maker Faire next week. If you’re there be sure to stop by, and bring something to show and tell.