Programming

FFront side of the FanBot PCB

Front side of the FanBot PCB

Back side of the FanBot PCB

Back side of the FanBot PCB

It is possible to program your Fanbot. It is a generic microcontroller platform that can be used for many robotics projects. It features a LPC11U23 Microcontroller (32 bit cortex M0 at 50Mhz, 8kb ram, 24kb flash, 1kb, EEPROM, USB slave)

Specifications:

  • USB connection for programming and communication (HID, MSD, CDC, etc)
  • 1 x Programming button (can be used as general button in program)
  • 7 x LEDS (3 red, 2 green, 2 yellow) in smiley face configuration
  • 2 x 5V RC servo connectors (1 header mounted)
  • 10 x general purpose 3V3 input/outputs (with ADC), pinhout: GND, 3V3, Signal
  • I2C and SPI interface (shared with the 10 GPIO pins)
  • Option for IR receiver and IR transmitter (holes on top of board)

The Following software can be used to program the microcontroler:

  • Generic GNU GCC compiler (various flavors, suited for the ARM microcontrollers)
  • LPCXpresso compiler and IDE (NXP version of codered GCC compiler and Eclipse IDE)
  • ARM GCC compiler (optimized for the ARM chips)
  • Keil ARM MDK (the proprietary ARM compiler, a free evaluation version can be downloaded)

We use the MBED libraries for easy programming. The sources of this library can be found here.

All information (technical designs, firmware, PCB layouts, PC software) are open-source. It is published on the internet on this page.

Flashing new firmware can be done by holding the program button, and inserting the USB connector in the PC (no programmer hardware or software required).  Note: this works on Windows, Mac and Linux PC’s may require additional software for correct programming.

The original firmware can be downloaded here.