An introduction to software-defined radio with LimeSDR @ The British Computing Society
Mar 24 @ 8:30 am – 5:00 pm
On the 24 March 2017, 09:00 – 17:00 at BCS London, 1st Floor, The Davidson Building, 5 Southampton Street, London, WC2E 7HA, [map] (51.510812, -0.121733)
Please register to attend and share on Lanyrd.A Software-Defined Radio (SDR) is a highly reconfigurable radio that can be used for many different radio applications through simply changing the software that links with it. An example of such a reconfigurable radio is the LimeSDR, which can both transmit and receive data and voice, using just about any wireless system.

The LimeSDR was launched by Lime Microsystems in May 2016 via a crowdfunding campaign, and is now shipping to over 3,500 customers worldwide. It is based on the Lime Microsystems LMS7002M Field Programmable RF (FPRF) 2×2 MIMO transceiver, which continuously covers frequencies from 100kHz to 3.8GHz. The LMS7002M has been successfully used in a wide range of digital radio applications, including 2G/4G Femtocell base stations, GNSS, DAB, DVBT receivers and RF test and measurement equipment. The LimeSDR also includes an FPGA and USB 3.0 to provide host connectivity.

Getting started with NetBSD on embedded platforms @ The British Computing Society
Apr 20 @ 5:15 pm – 8:00 pm

On the 20 April 2017, 17:30 – 20:00 at BCS London, 1st Floor, The Davidson Building, 5 Southampton Street, London, WC2E 7HA, [map] (51.510812, -0.121733)

Please register to attend and share on Lanyrd.

Workshop scope

You’re hired at the latest startup as a hardware engineer and required to build the firmware which will run on “The Greatest Next Generation Appliance” (GNA). The GNA boots, prints a message and interacts with a device (in this case an LED).

In this workshop we cover how a person with an interest and a focus on hardware can make progress with the software side by using the NetBSD operating system and the features it offers to save considerable time and effort.

  • NetBSD supports a wide & diverse range of systems & CPU architectures.
  • Support for cross compilation is offered by default and works out of the box.
  • There is a high level language interface to interact with the system internals.
  • File integrity verification support to detect tampering of binaries and preventing execution is builtin.
  • An instance of the kernel can be run as a user process on different operating systems where rapid development can take place.

Things we will cover:

  1. An introduction to cross-compilation with and constructing an image to boot on your hardware.
  2. Interacting with the system using Lua (which is embedded in the kernel, avoiding having to write C or have knowledge of OS internals) to e.g. access GPIO.
  3. Preventing the execution of tampered or unauthorised binaries with veriexec.
  4. Using rump kernel for rapid development away from a potentially slow dev board.