Digital Logic 101: Numeric System

Base 10 (a.k.a. decimal) is the numeric system which  most people using in daily life.

For the digital logic or computer system in nowadays, it would use binary instead. Binary only have two values, 0 and 1. For any number that larger than one, it should be represented by two digital.

2_{10} = 10_2
5_{10} = 101_2

A number represented as binary has longer length comparing with decimal. Usually, hexadecimal is used for written down in the program.

1_{10} = 1_{2} = 1_{16}
2_{10} = 10_{2} = 2_{16}
3_{10} = 11_{2} = 3_{16}
4_{10} = 100_{2} = 4_{16}
5_{10} = 101_{2} = 5_{16}
6_{10} = 110_{2} = 6_{16}
7_{10} = 111_{2} = 7_{16}
8_{10} = 1000_{2} = 8_{16}
9_{10} = 1001_{2} = 9_{16}
10_{10} = 1010_{2} = A_{16}
11_{10} = 1011_{2} = B_{16}
12_{10} = 1100_{2} = C_{16}
13_{10} = 1101_{2} = D_{16}
14_{10} = 1110_{2} = E_{16}
15_{10} = 1111_{2} = F_{16}
16_{10} = 10000_{2} = 10_{16}

Prefixes is add for represent the binary and hexadecimal in the source code. Here is the example in C.

[Unboxing] Intel Core i7 6900k + ASUS ROG Strix X99 + H115I

Group photo for all new items

Component List of PC

  • Intel Core i7 6900K
  • ASUS ROG STRIX X99 Gaming
  • Corsair Vengeance LPX DDR4-3000 16GB Kit (8GB×2) ×2
  • Inno3D iChill GeForce GTX 970 4GB Ultra
  • Plextor M5S 256GB
  • Toshiba 4TB
  • Corsair CX600M
  • Thermaltake Suppressor F51
Content inside Mainboard’s BOX


A bundle of wire.



It is seems that I7-6900K is very power-demanded CPU. A 280mm AIO water cooling system is not enough to suppress the heat generation of i7-6900K.

Next generartion VR/AR display

What will be the next generation VR?

4K? No. UHD only is enhacement of existing VR. The product existing in market focus on user head orientation. This is the first generation.

The next focus will be the human vision system. When we see, our eyeballs would point to object with different angle. Seen existing products provide the best visual in the center of screen. Any other angle of view would be strange. It is because the vision model is not able to handle this. I propose VR display require to add eyetracking modules for eyeballs movement compensation or view reconstruction.

Keil 5 Create Project

For creating a project, select Project -> New µVision Project in menu.


Then, select the directory path for storage of project.


After choosing the project path, a window for selecting MCU model will popup.


Type in the model number that you’re using. If it don’t show the model you want, please double check you have install the device package in CMSIS pack installer.


The package icon show green that means the device package had been installed.


Start to learn M3 MCU

For the reference broad, I got Open1768 from WaveShare. It cost me around $90 USD. NXP LPC1768 is the core of this board.


  • ARM Cortex-M3
  • Maximum clock frequency : 100Mhz
  • 64KB Ram
  • 512KB Flash memory

Open1768 BoardOpen1768 Board

It lead out all the pin which is convenience for user to access those function. It provide lot of interface, such as SPI, I2C, I2S, UART, PS2 and CAN. Also, it has GPIO, ADC and some of GPIO grouped to from a LCD interface. Although, the LCD interface is non-standard, it works quite good with LCD shield which WaveShare provided.

The crsytal on board is 12Mhz. With PLL on chips, this core clock can be set to the maximum of 100Mhz. The JTAG/SWD port is quite useful for debug.