Bugduino

Introduction

Bugduino is an Arduino compatible module.
Designed for working with Buglabs BUG platform.

Features


  • Arduino compatible, based on Seeeduino
  • BUG connector
  • USB to Uart: FT232RL
  • ATmega328 microcontroller
  • Input voltage - 7-12V
  • 14 Digital I/O Pins (6 PWM outputs)
  • 8 Analog Inputs
  • 32k Flash Memory
  • 16Mhz Clock Speed
**

Schematic

  1. File:BUGduinoSchematicPDF.pdf
    Error creating thumbnail: Invalid thumbnail parameters

Specifications

MicroprocessorAtmega328
PCB size60.2cm x 60.2cm
IndicatorsPOWER,Green LED. LEDs for Txd, Rxd, Rst
Power supply5V DC
InterfaceMini-B USB, 2.54mm pitch pin header
ConnectivityUSB
Communication ProtocolUART, Bit Bang I/O, SPI, I2C
ROHSYES

Mechanic Dimensions

60.2mm * 60.2mm * 20.5mm

Usage

Hardware Installation

  1. Toggle Serial Switch to USB side;
  2. Plug USB cable;
  3. Select the Corresponding COM port in Arduino IDE;
  4. Select “Arduino Duemilanove or Nano w/ ATmega328” in Arduino Board menu;
  5. click the upload bottom in Arduino IDE;

Programming

#include <Wire.h>

//SLOTS: Vendor:  0x02
//SLOTS: Product  0x10
//SLOTS: Revision 0x20
//A0-->GND, A1-->GND, A2-->GND
#define AT24C02B_Addr  0b1010000

unsigned char bugduino_signature[]=
{
    0x00,0x00,0x02,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0b,0x16,0x00,0x00,0x00,0x0f
};
unsigned char address_map[]=
{
    0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,0x7f
};

void setup()
{
    Wire.begin();
    Serial.begin(38400);
}
void loop()
{
  /*
   */
    unsigned char i = 0;
    unsigned char eeprom = 0;
    for(i=0;i<20;i++)
    {
        Wire.beginTransmission(AT24C02B_Addr); //start
        Wire.send(address_map[i]);
        Wire.endTransmission();    //stop
        Wire.requestFrom(AT24C02B_Addr, 1);    // request
        delay(1);
        while(Wire.available())    // slave may send less than requested
        {
            unsigned char c = Wire.receive(); // receive a byte as character
            if(c != bugduino_signature[i])
            {
                eeprom =1;
            }
        }
    }
    delay(100);

    if(eeprom)
    {
        Serial.println("Write Signature");
        for(i=0;i<20;i++)
        {
            Wire.beginTransmission(AT24C02B_Addr); //start
            Wire.send(address_map[i]);
            Wire.send(bugduino_signature[i]);
            Wire.endTransmission();    //stop
            delay(10);
        }
    }
    else
    {
        Serial.println("Signature OK");
    }
    for(;;);
}

Help us make it better

Thank you for choosing Seeed. A couple of months ago we initiated a project to improve our documentation system. What you are looking at now is the first edition of the new documentation system. Comparing to the old one, here is the progresses that we made:
  • Replaced the old documentation system with a new one that was developed from Mkdocs, a more widely used and cooler tool to develop documentation system.
  • Integrated the documentation system with our official website, now you can go to Bazaar and other section like Forum and Community more conveniently.
  • Reviewed and rewrote documents for hundreds of products for the system’s first edition, and will continue migrate documents from old wiki to the new one.
An easy-to-use instruction is as important as the product itself. We are expecting this new system will improve your experience when using Seeed’s products. However since this is the first edition, there are still many things need to improve, if you have any suggestions or findings, you are most welcome to submit the amended version as our contributor or give us suggestions in the survey below, Please don’t forget to leave your email address so that we can reply.
Happy hacking