Steun onze actie WeGoSTEM

Voor onze actie WeGoSTEM zoeken we nog vrijwilligers. Doe mee via WeGoSTEM.be/meedoen

Dwenguino: a multi-functional, arduino compatible microcontroller board

The Dwenguino is an open, multi-functional Arduino compatible microcontroller board. The possibilities of the Dwenguino board are endless: handy push buttons, analog inputs, a 2x16 LCD display, a buzzer, everything for motor driving, and much more! Through its expansion connector every pin can be accessed and with its handy expansion shield, the Dwenguino can be extended with your own circuit or with many arduino shields. At the same time, Dwenguino is fully compatible with the Arduino IDE, Ardublocks and Scratch4Arduino. It is perfectly suited for an introduction to programming in a fun way without being bothered about finding the correct electronics. That is why the Dwenguino is the perfect tool for starting hobbyists, educators and schools.


Functionality

General

  • Powerful AT90USB646 microcontroller - 16 MHz
  • Compatible with Arduino IDE, Ardublocks and Scratch4arduino
  • The smart lay-out of the board provides a large scale of opportunities
  • Universal extension connector easily allows to extend the board with a breadboard, most Arduino shields or a self-made extension board
  • Mounting holes that are compatible with LEGO building blocks for an easy integration with Lego

Overview Dwenguino board

Power

  • Power connector suitable for 7V to 20V input voltage
  • The board can also be powered through USB
  • When both sources are available at the same time, the board automatically selects the external power source
  • A Power LED indicates if the board has power
  • USB power is made short-circuit proof by an outomatic fuse

Communication

  • USB 2.0 communication build-in, not limited to a virtual serial port
  • UART connector
  • SPI and I2C hardware-protocol build-in
  • Most IO is accessible through the expansion connector

Display

  • HD44780-based LCD display with 2x16 characters (adjustable contrast) and programmable backlight

Input/Output

  • Five push buttons placed in orderly fashion
  • Eight leds, easily adjusted through one register
  • One additional led on pin 13
  • Four buffered outputs for driving heavy loads (motors, power leds, ...) up to 1.2A for each output
  • The buffered outputs use the external power source
  • Two buffered outputs are also usable as analog outputs through a built-in PWM-module
  • Two servo-connectors at 5V
  • Up to 8 analog inputs can be used by the expansion connector
  • Interrupt pins on the expansion connector
  • Possibility to reset by using the reset button or externally using the expansion connector

Expansion connector

The expansion connector has the following interface: Expansion connector

Pin mappings

Pin Arduino Digital Dwenguino name Expansion connector Dwengo function PWM Extra function Interrupt
PORTA LEDS
PA0 32 LED0 or LCD_D0 N/A LED0 + LCD0
PA1 33 LED1 or LCD_D1 N/A LED1 + LCD1
PA2 34 LED2 or LCD_D2 N/A LED2 + LCD2
PA3 35 LED3 or LCD_D3 N/A LED3 + LCD3
PA4 36 LED4 or LCD_D4 N/A LED4 + LCD4
PA5 37 LED5 or LCD_D5 N/A LED5 + LCD5
PA6 38 LED6 or LCD_D6 N/A LED6 + LCD6
PA7 39 LED7 or LCD_D7 N/A LED7 + LCD7
PB0 10 SS 15 Arduinoshield SPI SS PCINT0
PB1 13 LED13 or SCK 9 Arduinoshield + IR_in SPI SCK PCINT1
PB2 2 MOSI 31 Arduinoshield SPI MOSI PCINT2
PB3 12 MISO 11 Arduinoshield SPI MISO PCINT3
PB4 11 13 Arduinoshield Timer2A PCINT4
PB5 6 23 Arduinoshield Timer1A PCINT5
PB6 5 25 Arduinoshield Timer1B PCINT6
PB7 3 29 Arduinoshield Timer1C PCINT7
PC0 40 SERVO_1 N/A Servo 1
PC1 41 SERVO_2 N/A Servo 2
PC2 42 MOTOR_2_1 N/A Motor 2 DIR
PC3 43 MOTOR_1_1 N/A Motor 1 DIR
PC4 44 MOTOR_1_0 N/A Motor 1 PWM Timer3C
PC5 45 MOTOR_2_0 N/A Motor 2 PWM Timer3B
PC6 46 BUZZER N/A Buzzer Timer3A
PC7 47 SW_C N/A Button C
PD0 14 SCL 7 I2C - sensorbord Timer0B SCL INT0
PD1 15 SDA 5 I2C - sensorbord Timer2B SDA INT1
PD2 0 RX 35 Arduinoshield Rx INT2
PD3 1 TX 33 Arduinoshield Tx INT3
PD4 9 17 Arduinoshield
PD5 8 19 Arduinoshield
PD6 7 21 Arduinoshield
PD7 4 27 Arduinoshield
PE0 23 LCD_RS 22 LCD RS
PE1 22 LCD_RW 24 LCD R/W
PE2 21 LCD_E 26 LCD EN HWB
PE3 20 LCD_BL 28 LCD backlight
PE4 19 SW_W 30 Button W INT4
PE5 18 SW_S 32 Button S INT5
PE6 17 SW_E 34 Button E INT6
PE7 16 SW_N 36 Button N INT7
PF0 31 A7 6 analog input
PF1 30 A6 8 analog input
PF2 29 A5 10 analog input
PF3 28 A4 12 analog input
PF4 27 A3 14 analog input
PF5 26 A2 16 analog input
PF6 25 A1 18 analog input
PF7 24 A0 20 analog input

Schematics and design files

CC-BY-SA Dwenguino Board v2.0 by Dwengo vzw is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Please read the license before using this material

Based on the scheme you can easily make your own extensions. For this you can start with the eagle design files on the Dwenguino extension board.

Bootloader

The dwenguino comes with its own Dwenguino Bootloader which makes it accessible with the Arduino IDE software. Please refer to the Dwengo GitHub repository for its source code.

The Dwenguino bootloader can be connected to the Dwenguino through Arduino IDE with a programmer such as the AVR ISP II or on the command line by avrdude. A script for programming with avrdude is included in the Dwenguino Bootloader zip.

If you don't have a programmer you can program the bootloader with another Arduino compatible board such as the Arduino UNO or the Dwenguino

The expansion shield

By using the Dwengo expansion shield you can easily expand the Dwenguino board with many electrical components. This makes it easy to test an electrical circuit together with the microcontroller. The breadboard mounted on the expansion shield contains multiple rows of holes in which electrical components such as resistors, transistors or chips can be plugged without any soldering. The holes are interconnected according following schematic:

How the Dwengo breadboard works

As you can see, there are rows with five holes each that are interconnected. The gap in the middle is useful for positioning LEDs, ICs or other components.

Additionally, the expansion shield has an Arduino compatible extension connector. This connector can be used to extend your Dwenguino with one of the many Arduino Shields or third party Arduino Shields. However, please note that Dwengo cannot guarantee that all of them are compatible. Please refer to the Dwenguino scheme in order to verify compatibility. Whenever you tested a shield with the Dwenguino, you are encouraged to upload your own Dwenguino user project!

How to buy a Dwenguino

Buying a Dwenguino is simple. Browse to our shop and choose your Dwenguino kit or the Dwenguino Plus kit with additional sensors.