An introduction to ConnDuino
ConnDuino is a custom, Arduino combatible board, based on the Atmega328p microcontroller. It has been conceived and designed as a platform for rapid development of electronics projects. Before going into details, its main features are the following:
- Pin combatible with Arduino Uno Rev.3 (analog, digital and supply pins).
- Selectable input voltage (5v or 3.3v).
- Selectable voltage for the I2C bus (5v or 3.3v).
- Custom pins for several components to be installed (tft screen, lcd 16x2 display, eeprom, rtc, rf module, etc).
- Multiple ground and regulated voltage pins for sensors or other devices (5v and 3.3v).
- Multiple SPI bus pins (4 sets).
- Multiple I2C bus pins (6 sets).
- On board voltage ladder for up to six buttons connected to a single analog pin.
- 8x13 holes as expansion/prototyping area
Table of Contents:
A. Get rapidly the circuit in a box
The official Arduino Uno rev.3 reference design is robust, established and well documented. It is a sandbox for experimentation that allows quick prototyping. Most projects start with an Arduino board, a breadboard, some wires, some sensors, a module or two, and searching in the internet for documentation and code libraries. Of course, many of these projects are just experimental showcases, and are dismantled soon after. However, a considerable portion needs to be fitted inside a suitable box and then to have a life outside the “electronics lab”, either in rough environments (vibrations, high humidity, low temperatures) or in common view in our living room.
Putting inside a box, an Arduino board, together with a small breadboard or a shield is feasible, however not the best solution. The mechanical robustness of such a solution is questionable, as well as the longevity of electrical connections of a breadboard circuit. Furthermore, space considerations arise when trying to fit, typically, an Arduino Uno with some shields and/or a bulky breadboard, plus an lcd screen and push-buttons in a project box. So, a main objective of the ConnDuino project is to overcome the prototyping phase and reach a more solid and long term design, in order to be easily used inside a project box. On the other hand, not loose functionality or compatibility compared to the official board, the Arduino Uno Rev.3.
B. Rapid prototyping through pre-installed components and interfaces
The official Arduino boards assume very little about their final use. No hardware for specific purposes is present on board. The user can install if he/she needs anything and has the responsibility to do it right. This is great for prototyping purposes. The user can turn his/her Arduino board to a flying machine, an oscilloscope, a robot, an alarm system, a controller for home routines, aquarium routines etc. Truly, imagination is the limit, if she can fit in a 32K sketch. However, in my own experience, I couldn’t but notice a habit to always install a core of similar components. Mostly, some sort of display screen, a real time clock, a memory module for storing settings and a radio frequency transmitter/receiver for remote communication. Surely, these are not common ground for everyone, but are so essential, that I wish they were part of the official Arduino design. Reinventing the wheel is not that enjoyable after a few times. So, another objective of the ConnDuino project is to speed-up the prototyping process, making the installation of some basic components either unnecessary (if they are pre-installed) or more like plug ‘n play. Of course this is not only a hardware-end objective, but also software-end.
C. Less error prone
An unavoidable implication when starting to implement a project in a breadboard, is visible after a while, when the circuit looks like this:
A mess! This is not just for the sake of visuals. I remember myself spending half a night, debugging a sketch, only to find that the connections in the breadboard were wrong!
E. Enjoying and sharing the result
Much research and thinking was needed before reaching a final design. Since, designing pcb’s is not my primary job, the whole process turned out not only educative but also quite enjoyable. My intention is to share my experience and make available the final product for sale. Hopefully, to help others improve their projects and enjoy making them too.
ConnDuino was designed in CadSoft EAGLE PCB software. A free version is available for download at the official site, here. The schematic in pdf format as well as a 3D model of the pcb (created with eagle up plugin and SketchUp) and its top and bottom views, are shown in the following pictures.
Connectivity + Arduino = ConnDuino.
The board dimensions are 100x50 mm (aprox.4x2 inches). They can be reduced to 80x50 mm, if the breadboard area is cut away. Overall the board size is quite small and convenient to fit inside small project boxes. Four 4mm diameter holes are located at the corners.
A mix of smd and through hole technologies is adopted. Smd components generally offer great savings in board space. On the other hand, the somewhat more tricky procedures of smd soldering, may be considered an obstacle for many people. It was decided, for the time being, to use through hole (dip) integrated circuits instead of their smd counterparts. In this direction, the ability to use sockets and replace a faulty ic component, was considered a valuable advantage. It is planned though, to create a full smd revision of the board in the future.
The board in terms of functionality can be divided in four regions:
- The Arduino Uno Rev.3
- The power supply
- The add-on modules region
- Expansion area which includes push button pins and a mini breadboard
Additional information regarding the ConnDuino board design and functionality can be found in the following articles: