At first, you can see that there are 12 white LEDs at the bottom, which are running randomly. But if you establish communication between the badge and the computer, then there's much more.

The cube has it's own TRNG (True Random Number Generator) and can create the stream of random numbers. It has also the PRNG (Pseudo RNG), so it can be used as the cryptographic engine, predominantly for experimenting and playing around. It has a FLASH memory with 16 Mbits (2 Mbytes), which can be used, for instance, as the storage for OTP (one Time Pad) random number base, the only cryptography method which can not be cracked, doesn't matter how powerful computer do the Bad Guys have, or how clever they are. There are some disadvantages of this method, which will be discussed later.

The communication is performed via the virtual serial port, so you should have some serial terminal program (RealTerm, or similar). Parameters are 115200, 8, N, 1. This port is used to issue the command or parameters to the cube, send or receive the encrypted or decrypted file, get the status or read the current data. Two or more cubes can also communicate wirelessly, using the capacitive link, so they should be close together, not more then inch or two (or several centimeters).

Command line is not case sensitive. It contains one command character, one or more (optional) operands and one (optional) numeric data, separated by spaces. Here is the command list (N is a nibble, or if preceded by "0x", one hex digit), NNNN is 16-bit number, and NNNNNNNN is 32-bit number):

       M   S   D   [NNNN]        Move NNNN blocks from S to D  (default 1 block = 512 bytes)
       X   S   D    [NNNN]        Move and XOR NNNN blocks from S to D (default 1 block)
       R   NNNN                      FLASH Read address set to NNNN  (please read ERRATA note)
       W  NNNN                      FLASH Write address set to NNNN  (please read ERRATA note)
       S   NNNNNNNN           PRNG Seed set to NNNNNNNN  (32-bit number, hex input only)
       Q                                    Quit the current command execution   (runtime only)
       ?                                     Help 
       H                                    Help

Numeric values assigned to M, X, R and W commands are expressed in Decimal or Hex (with 0x prefix) code. 32-bit numeric in S command can be Hex only. Please note that NNNN literals in R and W commands are addresses, but they are not expressed in bytes, but in 512-byte blocks.

S and D (in the operand group) stand for Source and Destination. Each of them can be:

       B                 Buffer 1    (512 bytes in MCU Data Memory)   
       C                 Buffer 2   (512 bytes in MCU Data Memory) 
       N                 Network   (capacitive link between cubes) 
       U     ...

Read more »