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

Microprocessor Atmega328
PCB size 60.2cm x 60.2cm
Indicators POWER,Green LED. LEDs for Txd, Rxd, Rst
Power supply 5V DC
Interface Mini-B USB, 2.54mm pitch pin header
Connectivity USB
Communication Protocol UART, Bit Bang I/O, SPI, I2C
ROHS YES

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

Welcome to the new documentation system of Seeed Studio. We have made a lot of progress comparing to the old wiki system and will continue to improve it to make it more user friendly and helpful. The improvement can't be done without your kindly feedback. If you have any suggestions or findings, you are most welcome to submit the amended version as our contributor via Github or give us suggestions in the survey below, it would be more appreciated if you could leave your email so that we can reply to you. Happy Hacking!