Edition 5 of LHFSD [ISBN 978 606 92185 32] has been specifically designed to become an educational/pedagogical manual for teachers, instructors, though it is also recommended to ordinary citizens. Have no fear, dear readers: LHFSD5 is still addressed to beginners, since EVERYTHING starts from a white page, and then things are developed/explained gradually [and logically], step by step. Note that our Source-Code Package ED5RV07EN_15 works on Windows 95, 98, 2000, ME, XP, VISTA, 7, 8.1, 10.

Our book continues to deliver exactly as the title says: the readers will learn hardware design, plus firmware and software development! In addition to being a practical project explained in sharp/complete details, each chapter in LSEG5 contains simple practical exercises/applications to wade the readers gently over the difficult HFS design work. On this Internet page is a summary presentation of the main parts in LHFSD 5th edition.


During 2005-2009 Corollary Theorems has sold a good number of LHFSD-HCK kits throughout the World. If one owner of a LHFSD-HCK kit intends to sell it, then write to us please, and we are going to post your offer in this site.

Additionally, any reader who builds the LHFSD-HCK kit (on a prototyping breadboard, or as a PCB) and wants to sell it could write to us, and we are also going to advertise his/her offer.



Hardware Design starts from an empty Schematic page, then it builds up gradually the LHFSD-HCK [Hardware Companion Kit]. The novelty in the 5th edition is that it advises the readers to build (alternatively) the LHFSD-HCK kit on a breadboard, instead of a PCB. Things are this way.

Some readers may decide to become perfectly groomed hardware designers; therefore they should build the LHFSD-HCK PCB as it is explained in minute details in our book. However, other readers may prefer to train mostly as firmware and/or software developers. For them, it is advisable to build LHFSD-HCK on a breadboard instead [or on any material that stands to solder temperature].

LHFSD-HCK has a fair degree of moderate hardware complexity, in order to help beginners most. Consequently, the hardware design work is divided into "modules", and each hardware-module is explained in sharp details, functionally. Fact is, the Hardware Design part is the easiest one to accomplish!

As a minimum of practical hardware implementation, a readers needs the following, extremely simple, modules:

1. the power module (a few components);
2. the programming interface (just one connector);
3. one or more leds connected to the output processor ports (leds + resistors).


All Schematics needed to build the LHFSD-HCK kit are included into the accompanying Source-Code Package ED5RV07EN_15. Even more, the chapter dedicated to building LHFSD-HCK PCB includes the complete list of the Bill of Materials! 



Changes are radical in Firmware Design, in edition 5, compared to all previous editions. First of all, the structure of one firmware project was changed from:

a. source-code file plus other supporting "*.c" files (to);

b. source-code file plus "*.h" supporting files.

In addition, the readers may decide to setup their firmware workbench based on:

A. XC16® (of GNU free) type compiler and MPLAB® X Vx.x IDE (or);
B. C30® and MPLAB® V8.x (both as free download versions).

Naturally, the options above appear to be rather difficult to select, at this moment; however, inside LHFSD5 there are sufficient details about either choice. In addition, the users may even switch from one option to another at code-time, since the source-code files contain a "compiler version check" algorithm (as is presented in the picture above).


You can see the structure of supporting files of one firmware project in the picture on left. Note that each line of firmware code is accompanied by adequate comments!

The 12 complete firmware projects presented in LHFSD5 are priceless firmware source-code examples unparalleled in the entire World--we guarantee this. Even more, LHFSD5 is written so nicely that, by the end of Firmware Design part, you are going to love firmware development in C!

As a note, Firmware Design starts from exactly one empty page, and it builds up gradually using the simplest firmware techniques. Again, EVERYTHING is explained in sharp details unparalleled in any other book in the entire World. Firmware Design part, at least, is a must have and a must know!

LHFSD - Front Cover

Edition 5 of LHFSD and the Source-Code ED5RV07EN_15 have been specifically compiled and tested on Windows 7/32 bits, and on Windows 8.1/64 bits. However, in order to remain flexible, the software development environment is recommended to be implemented, by default, on a Windows 7 34/64 bits platform.

Software Design in edition 5 of LHFSD is implemented using Visual Basic 6 compiler working on Windows 7/8.1--again starting from a white page. However, this software development environment is presented only as "a similarity". The readers may use in a similar manner any other compiler (say Visual Basic .Net 2012, Java, Delphi) and any other OS platform (Windows, Linux, Mac).

In order to prove the "similar" manner of software development recommended method in LHFSD5, we have inserted for exemplification two *.exe programs that implement the same thing:

    1. first is C_OBDII_CRC.exe a console program written in ANSI C;
    2. second is VB_OBDII_CRC.exe written in Visual Basic 6.

Each program is capable of generating the OBDII CRC hex byte from a variable series of hex bytes, according to the OBDII protocol: X8 + X4 + X3 + X2 + 1 == b 0001 1101 == 0x1D.

Alternatively, both programs are able to validate a series of hex bytes that end in the proper CRC byte; the result is always 0xC4 == b 1100 0100 == X7 + X6 + X2.

Please download each program above, then play with them to understand the great concept of "similarity" we strive to explain here. Note that "the engine" behind each program is in data control at bit level, and it works exactly the same, although both compilers are so different.


In Software Design are presented 7 complete software programs (SDx),  fairly complex, and each line of VB6 code is again explained in sharp details. Note that the software programs are developed in parallel with the firmware ones, since they need to work together.

Because Software Design is the most complex part in LHFSD5 book, it shall be detailed on another site-page.


Practically, VB6 is the most important programming language today, since it is incredibly simple and so exceptionally powerful. Note that the graphic drivers of VB6 are the best ones ever assembled, and the proof is MS Word, MS Excel, MS Power Point, MS Front Page etc.

Now, in order to learn programming inside each MS Office application, the best thing is to start precisely with LHFSD5!

[By the way, in case you do not know, there is a complete VBA compiler in each MS Office application. Practically, someone could run all LHFSD5 SDx programs (slightly modified) from MS Excel or from MS Word.]



MAPLE 7In ED5RV07EN_15 Source Code Package, each FDx firmware program has been compiled to a FDx.hex file: this allows the users to run FDx projects without a C30/XC16 compiler!

In addition, each SDx software applications has been compiled into an executable program--say, SD5.exe. In this way, the readers may run each SDx application without a Visual Basic 6 compiler!

LHFSD - Front Cover

Learn Hardware Firmware and Software Design the easy way!

Send your comments regarding this page using support@corollarytheorems.com, noi@editcc.com, or cus@2agraph.com
Page last updated on: July 09, 2018
© SC Complement Control SRL. All rights reserved.



Valid HTML 4.01!

Site pages valid according to W3C

Valid CSS!

Stylesheets pages valid according to W3C