Archive for the 'communication systems' Category

Experiments with the PIC32 based UBW32 board

Sunday, June 13th, 2010

The board uses a bootloader that lets you use a terminal program (e.g. minicom, ZTerm) to execute simple commands.

ubw32_talk_with_bootloader

New project idea: btstack on a stick

Sunday, March 21st, 2010

The idea is to have a simple method for firmware updates - e.g. with a built-in bootloader and dfu-programmer.

New idea: btstack on a stick

Might use an AT90USB1287 (on an ATMEL USB Key) or an ATMega2560 board.

New idea: btstack on a stick

Experiments with CC1101 radios

Saturday, March 20th, 2010

I have modules operating at 433 MHz as well as 868 MHz

CUL 433 MHz

Programming is done via the dfu-programmer software - just tested it on OSX.

CUL 868 MHz

Programming a TV remote with IR and RF capabilities

Sunday, March 14th, 2010

I’m programming a TV remote that has IR and RF capabilities.

Betty development setup

Stepping forward with Arduino Bluetooth communication

Sunday, February 7th, 2010

The video shows that changing the display state can either be done locally (by pushing a button) or by receiving data via the Bluetooth RFCOMM link. On a state change data is also transmitted via this link. For the Arduino this is done by just using the serial port.

See the Arduino code below:

#include <S65Display.h>

S65Display lcd;
int state=0;

const int button1_pin=2;
const int button2_pin=3;

void drawText_0(void)
{
  lcd.drawTextPGM(30, 50, PSTR("State 0"), 2, RGB(0, 0, 255), RGB(255, 255, 255));
}

void drawText_1(void)
{
  lcd.drawTextPGM(30, 50, PSTR("State 1"), 2, RGB(0, 0, 255), RGB(255, 255, 255));
}

void setup()
{
  state=0;
  //init LCD
  lcd.init(4); //spi-clk = Fcpu/4

  //clear screen
  lcd.clear(RGB(255, 255, 255));

  drawText_0();
  pinMode(button1_pin, INPUT);
  pinMode(button2_pin, INPUT);
  Serial.begin(9600);
}

void loop()
{
  static byte recvd_byte=' ';

  if (Serial.available() > 0)
  {
    recvd_byte=Serial.read();
  }

  if ((state == 0) && ((digitalRead(button2_pin) == LOW) || (recvd_byte=='1')))
  {
    state=1;
    drawText_1();
    Serial.println("State 1");
    recvd_byte=' ';
  }
  if ((state == 1) && ((digitalRead(button1_pin) == LOW) || (recvd_byte=='0')))
  {
    state=0;
    drawText_0();
    Serial.println("State 0");
    recvd_byte=' ';
  }
}

Setting up a bidirectional Bluetooth link between iPod / iPhone and Arduino

Sunday, January 31st, 2010

This is work in progress - video of setup in operation to follow.

bidirectional Bluetooth link between iPod / iPhone and Arduino

The photo has additional notes on Flickr.

Experimenting with a serial to WLAN module

Sunday, January 3rd, 2010

The module will enable wireless connectivity from e.g. an MCU / Arduino to an iPhone via the standard WLAN way.

LANTRONIX MatchPort test board

There is more info on the Flickr page that you reach when clicking on the photo.

Arduino controlled vehicle

Friday, June 5th, 2009

Using the standardized Arduino boards and development environment can speed up things - while still being cost-efficient and flexible.

This is work in progress - the vehicle will soon be controlled via a Bluetooth link.

Incoming Bluetooth RFCOMM connections with Linux / Bluez

Saturday, May 9th, 2009

Whereas originating an RFCOMM connection from a Linux system using the Bluez stack was familiar to me - I never did things the other way round.

The screenshot shows how a serial connection gets advertised with sdptool, a OSX system connects using minicom and finally there is a duplex connection with the “screen” utility on the Linux side.

incoming_rfcomm_with_bluez_01

Best viewed on Flickr in “original size”.

Robotic vehicles using mobile phones

Saturday, May 9th, 2009

Assembled two versions of a robotic vehicle that uses a mobile phone (Android G1 or Symbian S60 Nokia E71)

g1_controlled_vehicle_02

The first version uses an Android G1 - may communicate via its serial port or Bluetooth.

g1_controlled_vehicle_01

The second version makes use of Python running on recent Symbian S60 devices. It may use Bluetooth or IrDA for the “phone 2 motor control” communication path.

python_s60_e71_vehicle_01

The photos have notes on Flickr.