Subscribe

Electronic building block

Posted by Circuit Labs on Thursday, November 13, 2008

Modular design and construction using E-blocks

 e05b050Author: Evelien Snel & David Daamen

We often hear from our readers that they don’t have enough time to solder all those parts in a constructional project. Or that there are too many complex microcontroller projects in Elektor Electronics, for which you have to be a genius to program them. It is indeed difficult to make modern technology accessible to everybody. But the best comes to those who wait… join us to discover the numerous possibilities that EBlocks offer!

       Some time ago the editorial team became aware of E-Blocks. At first we wondered what we could do with them. Some didn’t see the point of them, others thought they were fantastic. In due course the balance shifted to the ‘yes’ camp, as the designers and editorial staff began to admit that ‘it was all thoughtfully and well designed’.

Figure 1. The USB Multiprogrammer is at the heart
of the system.e05b050[25]

      But why did people have all these reservations about E-Blocks? Was it due to the fact that the hardware was already completed? Was it because you no longer had to solder? Was it because you ‘only’ had to program? Not everybody is convinced yet, and it will take time to get used to the idea.

      In any case, we decided to let you make up your own mind because there was one thing everybody agreed with: E-Blocks are very handy when you want to design something very quickly, and without much soldering. You can first build a prototype using a handful of E-Blocks, test the design and only then start with the design of the PCB.

       But what exactly are these E-Blocks? They are a collection of interchange-able boards that can be used to quickly and easily put a microcontroller system together. Apart from several microcontroller boards, there are many other EBlocks available from the manufacturer, our long-time advertiser Matrix Multimedia. There are input boards, output boards and combined I/O boards. Last but not least, a whole range of sensors is provided that can be plugged into the E-Blocks system.

USB Multiprogrammer
Let’s take a look at the E-Blocks USB Multiprogrammer (see Figure 1). This E-block makes the perfect starting point for your own projects. The Multiprogrammer can use many different
types of PICs (see inset) and also has a USB port that can be used to connect the E-Blocks system to a PC. The USB connection is not only there to program the system, but it can also be used with most computers to provide a simple system with power. In many cases there is therefore no need to use a mains adapter. There is of course a socket on the board that takes an external power source for those projects that require more current than the USB port can provide.

e05b050[3]<< Figure 2. Mobile telephone application - USB Multiprogrammer (1), keypad (2), RS232 board (3), LCD board (4), GPRS unit (5), loudspeaker (6) and SPI board with D/A converter (7).

 Plug and Play
The I/O lines of the PIC are made available along the edge of the board. There is a maximum of five ports, each with a maximum of 8 lines, depending on the type of PIC used. The connections between all E-Blocks have been standardised, making it very easy to combine the parts to form a system. A peripheral is connected to a port of the microcontroller simply by plugging in a board. This distinctive method of construction has many advantages, since in virtually all microcontroller systems the majority of the hardware consists of a combination of standard building blocks. Instead of redesigning these blocks for every prototype and then constructing them, you can now simply pick them out of a spares box. When you have completed your project you can easily dismantle it and use the individual blocks again. Or not of course: the E-Blocks are also perfectly suitable for use in a permanent design. A sturdy metal base plate has been designed for just this purpose. It has a grid of mounting holes, which correspond with the holes present on all EBlocks. We should however point out that a system built this way with E-Blocks will always be physically larger than isstrictly necessary, but the extremely short development time certainly makes up for this.

Programming: frightening or challenging?
Part of the design naturally involves some programming of the hardware. For some of you this aspect of the design is a bit of a challenge that makes the project more interesting. For others this is the main reason not to get involved with a microcontroller project in the first place. In any case, even those of you who are comfortable with microcontroller design are not necessarily expert programmers. Programming is a completely different branch of design compared to electronics. It would therefore be very useful if there was a way that made the programming simpler and also reduced the development time. Matrix Multimedia has designed a programming suite especially for use with E-Blocks that satisfies both of these
requirements.

Flowcode
Even if you have no prior experience of programming microcontrollers, you’ll find that you will be able to program even complex systems with the help of Flowcode. It is literally ‘programming with the mouse’. You choose the required functionality from a menu and in this way create a program flowchart. When the flowchart has been completed, the Flowcode program can be simulated on the PC. You can then see on the screen how peripherals such as
LEDs and LCDs behave. This all happens before a single line has been compiled or assembled and has been sent to the microcontroller. Flowcode also make this process of the design a lot easier. The Flowcode automatically includes all the extra required software routines. This doesn’t mean that all background processes remain hidden from view. Flowcode first translates a flowchart into C, after which another process converts this C code into assembler.
At both of these stages you are able to make modifications. Not only can you inspect the code generated, but you can also edit it. It all depends on your preferences: do you want to quickly create a prototype or would you rather program in C, or even assembler? Whichever choice you make, Flowcode won’t get in your way. Quite the opposite.

From idea to systeme05b050[5]

<< Figure 3. Ultrasonic measurement system - USB Multiprogrammer (1), LED board (2), sensor board (3), 7-segment display (4), ultrasonic sensor (5).


The usefulness of this system is ultimately determined by the possibilities it offers. We could go into detail about the inner workings of the USB Multiprogrammer and which processors are supported. But we feel it’s more important to know what you can use it for and have picked a few examples. How about a system that uses mobile phones for remote measurement and control (Figure 2)? If you connect a microphone to the A/D converter of the processor you could use it as a wireless baby monitor. With the addition of your own GPS module you could turn it into a vehicle tracking system. Somewhat simpler, but no less interesting, is the ultrasonic measurement system shown in Figure 3. You could use this to take measurements within the home or as a parking aid in your car. Are you curious about the state of your health? With the help of E-Blocks and Flowcode you can build an advanced
PC controlled ECG and heartbeat monitor in a jiffy (Figure 4).

e05b050[7]Figure 4. ECG and heartbeat monitor — USB Multiprogrammer (1), keypad (2), RS232 board (3), RS232 serial cable (4), LCD board (5), sensor board (6), ECG unit (7), ECG cables and electrodes (8).

 

 

 

 

 

Sensors
We could continue like this for a while. The possibilities really seem to be endless. One of the biggest advantages of the whole E-Blocks system is that it isn’t limited to just the microcontroller boards, displays and pushbuttons, but that a lot of thought has gone into interfacing with the outside world. The communications facilities, for example, include a GPRS unit and an Internet board. There is also a huge range of sensors available. The list of medical sensors incorporates a respiration monitor, which can be used to measure the lung capacity, and a blood pressure sensor that provides electronic measurements of the systolic and diastolic values. There are also ECG sensors and heartbeat monitors, which can be used to display the rate and shape of your heartbeat.

There are also a number of sensors available that come under the category of process technology. These include a flow rate sensor, oxygen sensor, pH sensor and a gas pressure sensor. Then there are sensors such as radiation detectors, accelerometers, motion detectors and magnetic field strength sensors. Sensors that have a more everyday use such as a microphone, temperature sensor and relative humidity sensor are also included in the range.

Hit or miss?
Well, you tell us. We are now convinced that E-Blocks and Flowcode are a magical combination that adds a new dimension to the way that you approach microcontroller design. We purposely said it adds a dimension, since it is your own creativity that leads to a unique design. And even here E-Blocks can help you out: there are also two prototype boards available, which have a pair of standard connectors (Figure 5). One is like a standard experimenter’s board with a matrix of holes; the other also includes a breadboarding area. These last EBlocks complement the system perfectly. With only a little soldering and without having to choose individual components or delve into the internal registers of a microcontroller, you can still be very creative in modern electronics.

e05b050[9] e05b050[11] << Figure 5.
You can still experiment with designs even though you’re using standard building blocks

USB Multiprogrammer

The E-Blocks USB Multiprogrammer supports the following PICs:

PIC12F629, PIC12F675, PIC12F635, PIC12F683
PIC16F627A, PIC16F627, PIC16F628A, PIC16F628,
PIC16F630, PIC16F648A, PIC16F676, PIC16F684,
PIC16F688, PIC16F636, PIC16F716, PIC16F72,
PIC16F737, PIC16F73, PIC16F747, PIC16F74,
PIC16F767, PIC16F76, PIC16F777, PIC16F77,
PIC16F818, PIC16F819, PIC16F83, PIC16F84A,
PIC16F84, PIC16F870, PIC16F871, PIC16F872,
PIC16F873A, PIC16F873, PIC16F874A, PIC16F874,
PIC16F876A, PIC16F876, PIC16F877A, PIC16F877,
PIC16F87, PIC16F88
PIC18F242, PIC18F248, PIC18F252, PIC18F258,
PIC18F442, PIC18F448, PIC18F452, PIC18F458,
PIC18F1220, PIC18F1320, PIC18F2220, PIC18F2320,
PIC18F2331, PIC18F2410, PIC18F2420, PIC18F2431,
PIC18F2439, PIC18F2455, PIC18F2510, PIC18F2515,
PIC18F2520, PIC18F2525, PIC18F2539, PIC18F2550,
PIC18F2585, PIC18F2586, PIC18F2610, PIC18F2620,
PIC18F2680, PIC18F2681, PIC18F4220, PIC18F4320,
PIC18F4331, PIC18F4410, PIC18F4420, PIC18F4431,
PIC18F4439, PIC18F4455, PIC18F4510, PIC18F4515,
PIC18F4520, PIC18F4525, PIC18F4539, PIC18F4550,
PIC18F4585, PIC18F4586, PIC18F4610, PIC18F4620,
PIC18F4680, PIC18F4681

A few of the available E-Blocks modules

e05b050[13]

Sensor interface board
It’s not just the E-Blocks that have standardised connectors; all E-Blocks sensors have them as well. They can be connected to the E-Blocks system via the sensor interface board. This interface board already contains an LDR sensor.

 e05b050[15]

LED board
This board has eight LEDs that are individually driven via an I/O line. When a ‘1’ is written to an output line, the LED
will turn on. This board can be linked to another board.

 e05b050[17]

LCD board
This board has an LC display with two lines of 16 characters.

 e05b050[19]

Switch board
This board contains eight pushbuttons. When a button is pressed, a ‘1’ will appear at the corresponding I/O line. This board can be linked to other E-Blocks.

 e05b050[21]

Quad 7-segment display
This board contains four 7-segment displays. The displays are multiplexed, so only 2 I/O ports are required to control the 32 segments.

 e05b050[23]

SPI board
This E-Block has an 8 KB SPI (Serial Peripheral Interface) compatible serial memory chip as well as a D/A converter.

The full E-Blocks catalogue, further information and special introductory offers can be found at www.elektorelectronics.co.uk/eblocks

(Elektor Electronics Magazine - 11/2005)



Download this article
#e05b050.pdf >> or SkyDrive link.

0 comments:

Subscribe to: Post Comments (Atom)