Single Board Computer with PIC16C84, 4MHz

... A "round" Thing!

Our tiny single board computer with the PIC16C84 controller has approximately the size of a 5-Mark piece. This inspired to the name C-Mark. The C - before the mark - indicates that it is programmable in C with a C-compiler.

The architecture of the PIC controllers is meanwhile well-known to many developers. From the wide range of PICs, we PICked the most interesting component: The PIC16C84 has 1K x 14Bit program memory in form of EEPROM on-chip, thus allowing systems with only one IC - the CPU chip. This enormously saves space, costs and power.

For connecting to the "outside world" there are 13 I/O pins capable of driving/sinking 20/25mA. Thus LEDs can be connected directly. The timer is a 8Bit counter with 8Bit prescaler, able to produce an interrupt. Additional hardware features: Watchdog, power-on reset and EEPROM read protection.

To develop programs for the single board computer C-Mark, we recommend the PCM C-compiler from Custom Computer Services (Link: CCS), Milwaukee.

The language of the PCM compiler is a restricted C with additional instructions adapted to the PIC controller:

Beside the common preprocessor directives #define, #undef, #include, #if, #else etc. there are some additional hardware specific preprocessor commands, for example #use *(), #fuses() and #int_*, as well as #pragma, #device, #id, #inline, etc. and assemler code areas enclosed in #asm and #endasm. The used C-variables are passed to the assembler. All MPU functions can be controlled by C-instructions, so that assembly code is not needed except for the import of already existing assembly programs.

The C-compiler is in its user interface and hot keys similar to the common Borland-Tools (Turbo-Assembler, Turbo-C, Turbo-Pascal). It can produce hex and binary files, so the generated programs can be loaded by any programmer. The 1024 x 14Bit program memory is large enough to even work with the C-programs for mathematical operations offered by Link: Microchip. These are freely available in the internet. Among other things special programs implementing filters or signal transformation can be found in this pool of C-programs. Therefore realizing complex control tasks is very fast and simple.

The generated programs are downloaded via the serial interface of the PC. Downloads are verified to guarantee that the program was correctly programmed into the PIC. Reading out the program memory is also possible, so its contents can be compared with the program file any time. For software security the program memory may be read-protected by "blowing the last fuse".

! Technical Data


  • Board 3cm diameter, screw mounting possible
  • CPU PIC16C84 with 4MHz
  • Current consumption typical 20mA, 1µA for standby in battery mode
  • 36 bytes on-chip SRAM, 15 registers with fixed function, 8 bytes stack
  • 1K x 14Bit on-chip EEPROM (program memory)
  • 64 x 8Bit on-chip EEPROM (data memory)
  • Memory addressing direct, indirect and relative
  • Real time counter, timer, watchdog timer and external timer, battery backup possible
  • 13 I/O lines, individually controllable
  • Serial interface in software (max. 28800bps) at any pin
  • Single supply voltage (4... 6V)


  • 10MHz
-> Manual
-> Assembly1
-> Assembly2
-> Diagram1
-> Diagram2
-> Diagram3

! Development Kit

For a start we offer a complete development kit:

! Prices

Part Code Details EUR*
c-mark-ent C-Mark development kit, scope of supply as described above 253.60
c-mark C-Mark board 30.17
*VAT and shipment not included. Quantity discounts on inquiry. Products: Single Board Computers