Assembling the JN5168 module breakout PCB KIT

September 14th, 2015

We designed a breakout PCB for the JN5168 module. It works with JN5168-001-Mxx modules.
Current PCB is version 2 and has a bug on the FTDI pinout (RX and TX are reversed). Please do not use the FTDI header to plug the FTDI cable or adapter directly. We are selling this version 2 kit at a sale price of $4.95 (Purchase here).

What is included:

  • JN5168-001-Mxx module breakout PCB version 2
  • 1 330ohm resistor
  • 1 3mm LED
  • 2 1K resistors (optional to pull-up PGM and RESET pins)
  • 2 tactile switches
  • 2 male headers
  • 1 6-pin female header for the FTDI port (RX and TX pins are reversed on this PCB version, do not plug FTDI adapter directly)

Step 1: remove content from bag

JN5168 breakout module KIT

Step 2: solder the JN5168-001-Mxx module to the PCB. Use enough soldering flux and a fine soldering tip. Align the 3 sides of the module with pins correctly on the PCB before soldering the first pin. After you solder the first pin, you can solder the rest as the module will stay in place.

JN5168-001-Mxx breakout PCB

soldering the JN5168-001-Mxx module to the breakout PCB

Soldering the JN5168-001-Mxx module to the PCB

Step 3: solder the resistor and LED. The LED has a positive and a negative pin. Positive pin is longer than the negative pin. Place the negative pin in the hole close to the R2 resistor and the positive pin towards the PGM switch. We have not marked the positive pin on this version of the PCB. The resistor for the LED is one marked 330ohms and it goes into the spot marked as R3. We are including 2 1K resistors if you want to pull-up the PGM and RESET pins (R1 and R2) on the JN5168 module. This step is completely optional and programming works just fine without these resistors.

Soldering the LED and resistors to the PCB

Step 4: Solder the tactile switches. One switch is for RESET and the other one is to place the module in programming mode while resetting. We will include a brief description on how to reset the module and put it in programming mode at the end of this blog.

soldering the tactile switches to the PCB

Step 5: Solder the headers. One side has 14 pins and the other side has 13 pins. The JN5168 module has in total 27 pins and we exposed all of them in this PCB. We are also including a 6-pin female header for the FTDI header. In theory, you could plug an FTDI cable (3.3V version) directly or an FTDI basic breakout from Sparkfun, but there is a BUG that reserves the RX and TX pins.

soldering the headers to the PCB

And here is the picture of the assembled KIT

Assembled KIT

How to put the module in programming mode: The JN5168-001-Mxx module goes into programming mode if you hold the SPIMISO line (pin 3) LOW while you reset the module. In this breakout, you just press both tactile switches, then release first the RESET switch and about 1 second later, release the PGM switch. The module is now in programming module and it should be recognized by the Flash Programmer or the programmer included in the JN5168 development software. After programming and verifying the flash, you need to reset again the module to start running the new firmware, but this time just press and release RESET or power cycle the breakout board. If you press the PGM switch again, it will go again in programming mode and not running mode.

Apple II Address LED Display using the Prototyping and Debugging Board

July 4th, 2015

I created an Apple II Address BUS LED Display using our Prototyping and Debugging Board for Apple II. The Display is based on an old document I found with schematics for the Address BUS LED display and single stepping for 6502.


For the Address LED Display

1 x NKC Electronics Apple II Prototyping and Debugging Board
16 x Red 5mm LED
1 x Blue 5mm LED (for SYNC display)
17 x 100 ohm resistor
4 x 100nF ceramic capacitor
3 x 74LS174 (we are using 74ALS174)

For single stepping circuit

1 x 74LS74 (we are using 74ALS74)
2 x SPST switch
1 x SPDT momentary switch
1 x 270 ohm resistor

So far, I’ve built only the Address LED display and it works very well. I still need to test the single stepping circuit, as the schematics I found is very old and the SYNC signal from the 6502 microprocessor is not available on the Peripheral bus.

Update (04-Sep-2015): I found out that the SYNC signal from the 6502 microcontroller is available on the Peripheral slots on the Apple //e, so today I implemented the single step circuit and it works great. It has the option to do single cycle or single instruction. A second switch is used to define if Apple //e is running continuously or single stepping and a momentary push button is used to do the single stepping. I also connected the BLUE LED to the SYNC signal.

Update (14-Sep-2015): Schematics for the Address Display and Single Step circuitry. It was extracted from the Apple I manual. Single Step uses only one 7474 IC, one resistor and 3 switches… it shows Steve Wozniak’s genius design skills. I found a similar schematics from the 6502 team and it is way more complex.

6502 Single Step and address display schematics from Apple I manual

Assembling the breadboard power supply dual 5V and 3.3V

July 3rd, 2012

Modern microcontroller projects require the use of multiple voltages to combine different parts. It is very common to prototype circuits that require both 5V and 3.3V (i.e. Arduino projects that use sensors or micro controller boards like chipKIT that interface with 5V devices, etc).

We created a breadboard power supply stick that provides both 5V and 3.3V. The voltage selection is user selectable, so you can power both power buses on a breadboard with same 5V, same 3.3V or mix 5V and 3.3V on the different buses.

The product comes fully assembled, except for the male headers that are provided unsoldered. Breadboards are slightly different in size, so doing the final soldering we can assure you have the best fitting product to your specific breadboard. Differences are tiny, but you can find the best fit doing the final soldering.

First, unpack the kit


Start by breaking the male header

  • 5 x 2-pin
  • 2 x 3-pin


Insert 2 2-pin male headers on one of the power bus, then insert 2 other 2-pin male headers on the other power bus.


Insert the power supply stick matching the 8 pins to the 8 power holes and solder


Solder the 2 3-pin voltage selection headers, then place the jumpers based on your voltage needs. Plug a 7 to 12V DC supply to the 2.1mm barrel jack and you will have a working breadboard power supply stick.

Assembling the NKC Electronics XBee Shield V4.0 KIT

November 1st, 2011

Assembling the NKC Electronics XBee Shield V4.0 KIT

SCHEMATICS (click on images to enlarge)
xbee shield v4.0 schematics

The NKC Electronics XBee Shield V4.0 KIT is an enhanced version of the original Arduino XBee Shield. It is sold in a DIY kit format and it comes with all the components required to assemble a full XBee Shield that is pin-compatible with all Arduino format compliant boards (Arduino, Freeduino, Seeeduino, chipKIT, etc).

V4 includes some new features, like a switch to select XBEE or USB instead of jumpers. This switch, re-routes RX and TX at the same time, so if for some reason, you still need to switch RX to one position and TX to the same position, then solder a 2×3 male header instead of the provided switch, and use jumpers to select the position you need.

First, unpack the kit

Xbee Shield V4.0 KIT

and start with the PCB.

Let’s start with the power section and the switches of the schematic using the following parts:

IC1 LD1117-33 Voltage Regulator (TO-220 package)
C1 100nF ceramic capacitor
C2 10uF electrolytic capacitor
reset tactile switch (4 legs)
XBEE/USB DPDT micro switch (6 pins)

xbee shield v4.0 KIT

Next continue with the transistor, LEDs and resistors:

xbee shield v4.0 KIT

R1 10K resistor 
R2 15K resistor 
R3 1K resistor 
R4 330ohm resistor 
R5 18ohm resistor 
RSSI 3mm LED yellow
ASSOCIATE 3mm LED blue (transparent)
T1 BC547 transistor

Solder the sockets and pin headers:

xbee shield v4.0 KIT

Next step: Insert the jumpers and the board is completely assembled:

xbee shield v4.0 KIT

There are 2 jumpers. J1 and J2 are for upgrading the firmware on the XBee module. Leave open for normal operation (both J1 and J2 open).

The XBEE/USB switch is used to route the RX and TX signals from the XBEE module to the Arduino board.  Select XBEE position if you want to communicate the XBee module with the ATmega chip on the Arduino (or compatible) or PIC on the chipKIT board.  Select USB if the board does not have the microcontroller installed and you want to use the USB interface to communicate the PC directly to the XBee board.

And this is the final picture of the XBee Shield V4.0 assembled and ready to use. XBee module is not included in the kit and must be purchased separately.

xbee shield v4.0 KIT

RGB LCD Shield for Arduino 65K color KIT V2 Assembly Guide

January 2nd, 2011

The RGB LCD shield for Arduino 65K color KIT includes all the components to assemble a ready to use LCD shield for Arduino and compatible boards like Freeduino.

First the schematics:

The LCD module has a backlight made of 2 white LEDs that requiere approximate 9V with a max 19mA current to work.  As this voltage level is not available on the Arduino board, I used an ST232 RS232 driver to get 8V DC from the standard 5V Arduino power supply.  The backlight driver circuit now included in the main RGB LCD shield PCB.

The first step is to unpack the KIT.

It contains the following components:

1 x RGB LCD module

1 x RGB LCD shield PCB

1 x LCD module to PCB soldering adapter

1 x LM317T variable voltage regulator

2 x 10uF electrolytic capacitors

5 x 0.1uF ceramic capacitors

1 x 330 ohm resistor

1 x 430 ohm resistor

5 x 1Kohm resistors

5 x 1.3Kohm (1K3) resistors

1 x 28-pin male breakable header (you need to cut 2 8-pin sections, 2 6-pin sections)

1 x ST232 RS232 driver IC

1 x 110 ohm resistor

Let’s start with the main RGB LCD shield PCB.  The LCD module needs to be soldered first.  Separate the LCD module and a small green thin PCB used to attach the LCD module to the main black PCB.

Apply some solder in one of the pins of the LCD module, you can choose either pin 1 or pin 10 (pin 1 is the one to the right of the picture).

Once the solder is applied, place the small thin PCB and align the 10 pads to the 10 pads on the LCD module.  Heat the pin that has the solder to attach the small thin PCB (the adapter).  Once you are satisfied how it is aligned (make sure the pads are correctly aligned, to avoid shorting the pins), solder the rest of the pads.

Now it is time to solder the LCD module to the main black PCB.  The process is the same, apply some solder in one of the pins (1 or 10) and align the LCD module with the adapter to the 10 pads on the black PCB.  Solder all the pads.  Be careful to not add excessive solder to create shorts in the pads.

The LCD part is done.  We need to check for any short circuits before advancing in the assembly process.

Next we are going to solder the headers.  Cut the included 28-pin male header into 2 x 8-pin and 2 x 6-pin headers.  The picture shows a female 2×3 header that is not included and is not needed in the new version of the KIT.

Solder the pin headers and plug it into the Arduino (Freeduino, Seeeduino, *duino) board to check it is not causing any short to the main board.

Unplug the RGB LCD shield from the main board and let’s continue with the Power Supply (Voltage regulator).  This part of the circuit, takes 5V from Arduino and using the LM317 variable voltage regulator, generates 2.9V to supply the LCD module.  The components are: LM317T, 1 x 10uF electrolytic capacitor, 2 x 0.1uF ceramic capacitor, 1 x 430 ohm resistor and 1 x 330 ohm resistor.

Solder first the LM317 voltage regulator.  Then you can solder the 0.1uF ceramic capacitors C2 and C3.  Orientation is not important for the ceramic capacitors.  Then solder the 10uF electrolytic capacitor, negative leg to the left, positive (long) to the right.  Next you need to solder R12 430 ohm resistor (you can follow the guide in to calculate the resistor colors).  430 ohms is yellow, orange, brown.  Then solder R13 330 ohm resistor (orange, orange, brown).  The power supply section is complete.

This is how the board looks now with the power supply section ready

Plug the RGB LCD shield back into the main board and verify that there is no short circuit.

And make sure you get 2.9V from the voltage regulator following the next 2 pictures…

Next solder the 10 resistors used to create the logic level converter from 5V to 2.9V.  We will be using 5 x 1K and 5 x 1.3K (or 1K3) resistors.  1K resistors are coded brown, black, red and 1.3K resistors are coded brown, orange, red.

This is how the board looks with the voltage dividers (10 resistors) soldered.

Next we need to assemble the step-up circuit.  You need the MAX232 (or compatible) chip, 1 x 110ohm resistor (current limiting resistor for the LCD backlight), 1 x 10uF electrolytic and 3 x 0.1uF ceramic capacitors.

And this is how the complete assembled RGB LCD shield looks like

The final step is to insert the RGB LCD shield into the main board and run some tests

The sample code is self explanatory (You don’t need to mess with the setup code, just look for the piece of code that sends the characters to the screen, how the dots are turned on and off, etc.  I created 2 codes, one using digitalWrite() and another one using direct AVR I/O… I found the 2nd method to be almost 10 times faster, and drawing things on the screen, you can notice the difference in speed.

The sample codes are here:

Sample using digitalWrite()

Sample using direct AVR I/O

Click on the source code and copy the contento to Arduino, or download the .txt files and rename them as .pde