Click for enlarged pictures     ELMB128 Software Resources     Click for ELMB home page
Please send questions, remarks, comments to Henk Boterenbrood

All ELMB programs and source code provided below have been developed using the Imagecraft ICCAVR Integrated Development Environment for ATMEL AVR microprocessors application development.

New   ELMBio upgrade version 4.4.4 (29 Nov 2011), see below
New   ELMBadc program with GUI (to read out your ELMB's ADC, 14 Aug 2008), see below

ELMBio
CANopen
firmware
ELMBio444.hex
INTEL-HEX file of the ELMBio application version 4.4.4 for the ELMB128 on ELMB Motherboard version 3. This version adds some useful features, compared to version 4.3.3, which is the version found in the ELMBs off-production. In addition it fixes a bug that may cause the Nodeguard toggle bit not to toggle from one Nodeguard message to the next. See the Release Notes for ELMBio for more details.
Documentation update: ELMBio User Documentation v2.4 PDF-file

ELMBio43-0003.hex
INTEL-HEX file of the ELMBio application version 4.3.3 for the ELMB128 on ELMB Motherboard version 3. See the Release Notes for ELMBio for more details.

ELMBio User Documentation v2.3 PDF-file
User manual for the ELMBio application: the mapping of the ELMB I/O pins, what the PDOs contain, a list of Emergency objects, an overview of the Object Dictionary in a series of tables.

Sources of ELMBio v4.3.3
The complete source code of the ELMBio v4.3.3 application firmware, suitable for both ATmega128 and ATmega103 microcontrollers; includes ICCAVR project file.

ELMB
CANopen
firmware
framework
ELMBfw firmware framework manual PDF-file

Sources of ELMBfw firmware framework v2.1
Source code files of the CANopen framework for the ELMB128, including an ICCAVR project file.


ELMB128    
Bootloader
firmware
ELMBbl13.hex
Intel-HEX file of the ELMBbl application firmware (version 1.3):
a Bootloader for the ELMB128's ATmega128 processor (which has self-programming capability), that uses the CAN-interface for receiving programming instructions and code.
This Bootloader works even when an ELMB 2313 Slave processor is still present on the board (although then it must be running ELMBmon firmware v2.0 or newer).
Also supports the Watchdog Timer (set by the software to a time-out of ca. 1.9 s), which is important because on the ELMB128 (off production) the Watchdog Timer is set to 'always on' ! (see note on fuses below)
The Bootloader expects to be in control of the ELMB128 at power-up (fuse bit BOOTRST must be programmed for this, see below). In case of a valid application program in application flash memory the Bootloader automatically jumps to the application (after 4 s), unless it was the application itself that started the Bootloader or a valid CAN-message was received within those 4 s (it is assumed that further programming instructions will then follow). Version 1.6 (or newer) of the ELMBldr for the ELMB (with ATmega103 processor) is compatible with this Bootloader and can be used for uploading your application code. But rather use ELMBmldr, see below. These loaders upload your code to the ELMB128 four times faster than previously to the ELMB103 !

Documentation of ELMBbl Bootloader v1.3 PDF-file

Sources of ELMBbl Bootloader v1.3
The complete source code of the ELMBbl v1.0 bootloader application firmware, including ICCAVR project file.

Notes on ATmega128 Lockbits and Fuses for ELMB128 PDF-file
Recommended settings for ATmega128 lockbits and fuses, e.g. a programmed BOOTRST fuse, so that it is the Bootloader that starts up at power-up and reprogramming (in-system, via the CAN-bus) is possible at any time, independent of the state of the user application firmware.


Host
software
New    ELMBadc (for KVASER CAN-interfaces; exe + lib file)
New    ELMBadc-exe (for KVASER CAN-interfaces; exe file only)
Tool for reading out and displaying ELMB ADC data.

ELMBloader (with Windows GUI, for KVASER CAN-interfaces)
ELMBloader-exe EXE file only (upgrade for current users, for KVASER)
ELMBloaderNI (with Windows GUI, for National Instruments CAN-interfaces)
Tool for reprogramming single or multiple ELMBs; includes option to configure the ELMB 'NodeID' or 'address' via CAN-bus (a feature supported by ELMBio firmware versions 4.4.x).

ELMBmldr V2.2 (for National Instruments CAN-interfaces with NICAN software v1.5 and newer)
ELMBmldr V2.2 (for KVASER CAN-interfaces)
A Windows command-window tool to upload new firmware to the ELMB via the CAN-bus.
It uses a 4-byte-program-code-per-message protocol for uploading when it detects an ATmega128 processor, effectively speeding up CAN-bus uploading by a factor of 4 compared to the older ELMB103 with ATmega103 processor. If an ATmega103 processor is detected a 1-byte-program-code-per-message protocol is used.
It can either program a single ELMB or all ELMBs on the CAN-bus simultaneously, although the latter requires all ELMBs to be of the same type. Detection of ELMBs (in case of multi-ELMB programming) and switching from currently running ELMB app firmware to ELMB Bootloader firmware is automatic.

OPENhost V2.7 (for National Instruments CAN-interfaces with NICAN software v1.5 and newer)
OPENhost V2.8 (for KVASER CAN-interfaces)
A Windows command-window tool to monitor CANopen bus traffic and to interactively compose and send CANopen messages; can be used to interact with the ELMB at the CANopen message level.


ELMB103 Click here for legacy ELMB103 information and documentation.