LPC1xxx 1GHZ Wireless Board Preview

Posted by:  |  Thursday, March 14, 2013

Go Back

It feels like I've been working on these boards forever -- and to be fair there's literally years of effort and >20K EUR in expenses here -- but I finally ordered a first batch of the USB stick and wireless node PCBs this week.  There's always something to improve, but overall I'm very happy with the HW and the related code base, and I think the boards are a significant improvements over any other project that I've posted here.

Admittedly there's nothing whatsoever exciting about yet ANOTHER wireless sensor node or platform, and it's probably more expensive than it needs to be if you went with an integrated MCU + radio, etc., but my goal was never to create a commercially viable board but something that was useful to me and met my own goals of having a rapid wireless prototyping platform based on an MCU family that I liked, and using fully open source stacks and toolchains.

RF1GHZUSB


RF1GHZUSB-REV-A PCB

  • LPC1347 (72MHz ARM Cortex M3, 64 KB Flash, 12KB SRAM, 4KB EEPROM, 12-Bit ADC)
  • Supports USB CDC, HID, and MSC out of the box
  • Easy to use CLI to send and receive data via USB CDC
  • Optionally supports USB HID command set
  • USB Bootloader for easy firmware updates (no extra HW required)
  • 4 layer PCB to keep reasonably clean routing and a clean RF section
  • Designed to fit in an inexpensive USB enclosure if desired (~$3 in single quantities)
  • RF section designed to work equally well at 868MHz (EU) or 915MHz (US), with excellent range and performance
  • SMA connector to attach various types of antennas (directional, small quarter-wave, half-wave, etc.)

I designed this small USB stick to be able to co-ordinate other sensor nodes from anything with a USB slot.  The main goal was to use a Raspberry Pi (Beagle Bone, etc.) as a cheap always-on network co-ordinator, but I also designed them with USB Host in mind.  My thinking was that with a single well-design USB stick I could plug different radios into mid-range MCUs with USB Host (LPC4357, etc.) and support various frequencies, modulation schemes, etc., without having to go through the FCC approval process more than once, and without locking myself into one choice on expensive HW.

RF1GHZNODE


RF1GHZNODE-REV-B PCB

  • LPC11U37 (50MHz ARM Cortex M0, 128KB Flash, 10KB SRAM, 4KB EEPROM, 10-bit ADC)
  • On board SD card with FAT32 file system support (USB MSC can enumerate as a mass storage device pointing to the SD card on the PC)
  • Built in LIPO charger (just plug in a USB cable and the board switches to USB power and charges the LIPO at the same time)
  • Supports USB CDC, HID and MSC, including HID Keyboard and Mouse emulation and auto config for multiple USB profiles (CDC + HID, etc.)
  • Easy to use and extended CLI
  • Out of the box support for many sensors available from Adafruit, including a unified sensor system to make adding new sensors as painless as possible
  • USB Bootloader for easy firmware updates
  • Easy to use radio framework (Chibi) that works out of the box
  • 4 layer PCB with dedicated GND and power planes, and an isolated RF section
  • Designed to fit inside an inexpensive IP65 (water resistant) enclosure (Adafruit Product 903)
  • RF section designed to work equally well at 868MHz (EU) or 915MHz (US), with excellent range and performance
  • SMA connector to attach various types of antennas (directional, small quarter-wave, half-wave, etc.)
  • Switch between 3.3V and 2.2V supplies on the fly (saves power), and board can be run as low as 1.8V

These were intended to be the workhorse, battery-powered sensor nodes. I spent a LOT of time and effort trying to get the lowest current level possible in sleep mode (currently ~20µA with SW wakeup, but this should in theory be able to go lower with more time and effort).

What's the point?

Both of these boards are really just a labour of love.  I love ARM, I love wireless, and I've spent so many years and so much time and money on these boards -- and earlier boards that made these ones possible -- that it just seems a shame to me that no one else was benefitting from all that work and effort.  I designed these boards purely for personal use and as a platform to make rapid prototypes myself ... and I definately have no illusions that there's big money to be made in yet another wireless sensor node platform.  But I'm convinced it's a pretty good bouncing board to test out some ideas, and while these boards and the library are far from perfect, they're a lot better than many of the closed source systems that currently exist.

What about the firmware?

I've signed off on a new combined LPC11U24/LPC11U37/LPC1347 code base that allows you to switch between any of the three MCUs with just a small change in the config file.  I'm just waiting for the (I hope) final PCBs to come in in two weeks time, get a small batch assembled, and then get them into the hands of testers for some feedback.  Once I can work out the major bugs from the first batch, I'll release the board files and code base into the wild ... but I'm extremely happy with the code base as is, and I really think it's an excellent starting point for anyone interested in doing anything serious with ARM and 802.15.4 wireless connectivity.

When will it be ready?

I can't make any promises here.  Again, this is really just a labour of love not a commercial endeavour ... but I hope to assemble a first batch of 100 or so boards in a few weeks, and to send them to some friends and colleagues, then make some quick changes based on that feedback.  I also need to spend some time working on some SW on the Raspberry Pi, etc., to manage the sensor network, and haven't had 5 minutes to do that yet.  Hopefully in 6-8 weeks, though, I can have something ready for a wider audience.
  • Facebook
  • DZone It!
  • Digg It!
  • StumbleUpon
  • Technorati
  • Del.icio.us
  • NewsVine
  • Reddit
  • Blinklist
  • Furl it!