Lissajous Patterns on an Oscilloscope using Silego GreenPAK4 Development Kit and SLG46620V

lissajous 2 to 5 ratioIntroduction
What are Lissajous Patterns?
Lissajous Patterns are the result of two sine waves controlling the X and Y axes of an oscilloscope.
Lots of science fiction movies will show Lissajous Patterns on oscilloscopes as it is a very impressive thing to display.
https://en.wikipedia.org/wiki/Lissajous_curve
What is an Oscilloscope?
An oscilloscope is an electronic device used for viewing waveforms or electronic signals on a screen.
https://en.wikipedia.org/wiki/Oscilloscope
What is a Silego GreenPAK4?
GreenPAK4 is a highly versatile NVM Programmable Mixed-signal Matrix designed to easily implement differentiating features and functions into already highly integrated designs while minimizing component count, board space, and power consumption. GreenPAK4 comprises the best analog and digital resources from previous generations with expanded functionality and a few new additions, such as the hardware reset pin and Digital to Analog Converter (DAC), all in a tiny package.

Prerequisites
Oscilloscope and test probes
I use a Philips PM3217 which has served me well for many years
Silego GreenPAK4 Development Kit and SLG46620V
STQFN-20 (2.0 x 3.0 mm) GreenPAK4 Dual Supply Socket Adapter
Silego GreenPAK4 Designer
http://www.silego.com/products/greenpak4.html
Tweezers with antistatic coating and needle tips

Warning
As with most electronic parts the Silego GreenPAK4 Development Kit and SLG46620V are sensitive to static electricity. Ensure all static precautions are taken while using the board to prevent damage.

Setting up the board
Rather than permanently programming the SLG46620V we will be using the emulator function in the GreenPAK4 Designer software. Although the software calls itself an emulator it will actually be running on the IC. Using the emulator means that we will be able to program the IC (or use it in the emulator) again in the future, and more importantly for this tutorial we can change figures on the fly to generate different patterns and not have to burn a single use IC in the process.

I suggest working in a clean, uncluttered area with a sheet of blank white paper to put the board on while you are doing the initial set up. The IC we will be using is tiny, measuring 2 millimetres by 3 millimetres and will easily get lost forever should it drop onto a dark surface.

boardRemove all connections from the development board (including USB and the socket adapter).

socket openPlace the STQFN-20 (2.0 x 3.0 mm) GreenPAK4 Dual Supply Socket Adapter on your work area and open the top by pulling the tab slightly away from the socket adapter which releases the top panel revealing a tiny hole to carefully place the IC.

If you examine the IC you will see that one side has silver pads and the other has text. The side with the text is the top and has a small dot on one corner. This dot is the orientation point.

If you examine the socket adapter with the top panel open you will see a dot. This dot is also an orientation point.

Using your tweezers, pick up the IC, taking note of the orientation point. Place it carefully into the hole in the socket adapter ensuring the two orientation points are together and the text is still on top. Be extremely careful not to damage the pins inside the socket adapter or it will be permanently damaged and require replacement.

Once the IC is aligned and seated correctly open the tweezers and remove them before reclosing the top panel on the socket adapter.

board and socketNow connect the socket adapter to the larger board using the pins in the centre of the board, paying particular attention to the pin alignment.

Finally insert the USB cable into the USB port.

Installing the software
The software can be downloaded from http://www.silego.com/products/greenpak4.html. There are versions for Windows, Mac and Linux. I will be using the Linux version. Please follow the instructions for your particular system.

set chip revision windowOnce installed, run the software. A window will open asking you to select your GreenPAK4 chip revision. We will be working with the SLG46620V so select that one.

When the software has finished loading click on the Emulator button or press F9 on your keyboard.
emulator 1A new (rather curvy) window should open with the message “Please connect device to USB port”. Follow the instructions and plug in the USB cable. Sometimes I get an error message “The critical error message detected…” but I ignore it and click OK.
If you look at the bottom right corner of the window it says Chip P/N SLG46620V. This message means the computer can see the IC and all is well with the board.

emulator Signal Generator menuUse the secondary (right) mouse button to click on the box labelled TP3 and a new context menu will open. Select “Signal Generator”. Repeat this step for the box labelled TP6.

Setting up the oscilloscope
Each oscilloscope is different but basically we will be taking two probes and connecting them to the first and second ports of the oscilloscope and having one probe control the X axis and the other control the Y axis.

We will be using pins 3 and 6 of the GreenPAK4 board. I have arbitrarily selected those pins to allow clearance for the oscilloscope probes. The only requirement is that the pin is not VDD or GND and that it can be configured as “Signal Generator”.

Your test probes should come with crocodile clips that connect to GND. Connect those to one of the two rows of 6 pins sticking out of the board. Both sets of pins are marked GND.

TP3 TP6Take the probe connected to the X axis of the oscilloscope and connect it to the white connector on the board marked TP3. Take the other probe and connect it to TP6. You should now have 4 connections from the oscilloscope – 2 probes connected to TP3 and TP6 and 2 crocodile clips connected to GND.

Creating the Lissajous patterns
Signal Wizard windowWe will generate two separate sine waves, one on each pin TP3 and TP6. When they are displayed on an oscilloscope screen they interfere with each other in interesting ways.

Using the main mouse button double click on the box labelled TP3 at which point a new window will open. This is the Signal Wizard window.
The Signal Wizard window can be divided into two parts:
The signal generator settings on the left and the signal display on the right.

If you look to the right (the signal display) you will see three graphs. The top is VDD and should not be altered under any circumstances. The middle graph is TP3 and the bottom graph is TP6.

Signal Wizard window smallClick on the middle graph (TP3) and make the following changes to the Signal Generator settings:
Type: Change from “Const. Voltage” to “Sine”
Amplitude: Change from “2750.6 mV” to “1650 mV”
Zero offset: Change from “2750.6 mV” to “1650 mV”
Period: Change from “1000 ms” to “30ms”
Double check all the settings and click “Apply”

Click on the bottom graph (TP6) and make the following changes to the Signal Generator settings:
Phase: Change from “0” to “3Pi/2”
Type: Change from “Const. Voltage” to “Sine”
Amplitude: Change from “2750.6 mV” to “1650 mV”
Zero offset: Change from “2750.6 mV” to “1650 mV”
Period: Change from “1000 ms” to “45ms”
Double check all the settings and click “Apply”

Nothing will change on the oscilloscope, this is expected.

Do not close the Signal Display window as we will be making changes shortly.

Emulation Active smallSwitch back to the Emulation window and click on “Emulation” on the right hand side. The “Emulation” and “Test mode” buttons will change colour to orange. Switch back to the Signal Display window and look at the bottom.

Signal Wizard Start Pause StopThere is a radio button marked “All” and three buttons marked “Start”, “Pause” and “Stop” respectively.
Click on “All” so the radio box is filled and then click on “Start”.

Oscilloscope CircleThe oscilloscope screen should now show a circle.
If you see an oval you can use the controls on the oscillator to make it the correct position and size.

On my oscilloscope the settings are:
A/Alt/Chop/Add/B: B
AC/DC/DTB/MTB/X Defl/AC/AUTO/DC: X Defl
A Position: Unused
B Position: Used to control Y (vertical) axis
Delay Time: 0:0
Level/Slope: Unused
X Pos: Used to control X (horizontal) axis
Ampl/Div: 0.5v
Time/Div: Off
Hold off: Unused
Trace Sep: Unused
AC/DC: DC
O: Off
Del’d TB: All off
Main TB: A

Once your oscilloscope is correctly showing a circle in the centre of the display we do not need to change any settings.

Lissajous 1We can now generate some Lissajous patterns.
To do this switch to the Signal Wizard window and click on the TP6 graph.

Lissajous patterns are created when there is a difference between the period of two sine waves. By adjusting the Period setting for TP6 we can generate our first one.
Change Period for TP6 to 15ms and click Apply.
This will give you a shape resembling a curved V. Not very exciting is it?
Let’s see it move then.
Change Period for TP6 to 15.10 ms and click Apply.
The lissajous figure will now be rotating.

By making a slight difference to Period we can control the speed of rotation.

Decent figures for TP6 can be found by using TP3/n where n is a whole number eg 2, 3, 4 et cetera.
For example TP6 = TP3/3 = 30/3 = 10ms gives a 3 pointed Lissajous pattern.
To see it move set TP6 to 10.1

After a while you will doubtless get frustrated with clicking “Apply” after every change. If you click on the box next to “Auto Apply” then changes are made simply by pressing the Enter key.

One of my favourite values for TP6 would be 30.1 ms, which is a slowly rotating circle. Make it faster by changing TP6 to 30.3 ms.

Go ahead and impress the people around you. At work use it to convince management you need a bunch of new tech toys, your wife that your kit is actually useful and your children that you are the cleverest person they know.

Secret Santa PHP script

Today I have knocked together a Secret Santa script in PHP.
It takes a list of names and email addresses and randomly assigns people then emails the Secret Santa with their person to buy for.

Feel free to use the script – and if you want to say thanks to me please click on an ad that interests you :)

Change the recipient list, message and you’re all set.

Permalink to the script: secretsanta.php

Merry Christmas
<?php
$santas = array(
array("Alexander 'Scrooge' User", "A.User@example.com"),
array("Barry 'Baubles' User", "B.User@example.com"),
array("Charles 'Tinsel' User", "C.User@example.com"),
array("Dominic 'Rudolph' User", "D.User@example.com"),
array("Ernest 'Humbug' User", "E.User@example.com"),
array("Ferdinand 'Elfie' User", "F.User@example.com"),
array("Georgina 'Santa's Little Helper' User", "G.User@example.com"),
array("Helena 'Born In A Barn' User", "H.User@example.com")
array("Isla 'Mulled Wine' User", "H.User@example.com")
);
$numsantas = count($santas);

$combos = array_fill(0, $numsantas, -1);

echo “There are $numsantas Secret Santas this year.\n”;

$fp = fopen(“santalist.txt”, “w”);
if($fp)
{
fwrite($fp, “Secret Santa Draw ” . date(“r”) . “\n\n”);
}

$x = -1;
foreach($santas as $name => $email)
{
$x++;
$valid = false;
while(!$valid)
{
$r = rand(0, $numsantas – 1);
if($r != $x && $combos[$r] == -1)
{
$combos[$r] = $x;
echo $santas[$x][0] . ” will be buying for ” . $santas[$r][0] . “\n”;
$to = “\”” . $santas[$x][0] . “\” <” . $santas[$x][1] . “>”;
$subject = “Your Secret Santa”;
$headers = “From: \”Your Name, Secret Santa Organiser\” <youremail@example.com>\r\n” .
“Reply-To: \”Your Name, Secret Santa Organiser\” <youremail@example.com>\r\n” .
“Cc: \”Your Name, Secret Santa Organiser\” <youremail@example.com>\r\n” .
“X-Mailer: PHP/” . phpversion();
$message = “Hello ” . $santas[$x][0] . “\r\n” .
“In the random drawing of Your Organisation’s Secret Santa you have been selected to buy a gift for (insert drumroll sound effect here)\r\n” .
$santas[$r][0] . “\r\n” .
“As the aim of this is to be a Secret Santa please do not tell anyone who you have purchased a gift for.\r\n” .
“Please limit the value of the gift to be £1 maximum, and be creative – there will be a prize for the most appropriate gift for the recipient.\r\n” .
“(The cost of wrapping should not be deducted from the gift value – newspapers are free)\r\n”;
mail($to, $subject, $message, $headers);
if($fp)
{
fwrite($fp, $santas[$x][0] . ” will be buying for ” . $santas[$r][0] . “\n”);
}
$valid = true;
}
}
}
if($fp)
{
fclose($fp);
}
?>

Logitech G510 G510s working under Ubuntu

Hi all
After many years with my Logitech G15 keyboard I had to replace the wire once too many times.

I bit the bullet and bought an upgrade, the Logitech G510.

I run Linux (Ubuntu) and I hoped that the G510 would be as straightforward as the G15 to work under Linux. I was wrong. It’s a pain.

After much searching of the internet I found somewhere that had code for the G510 so I amended it to allow me to alter the backlight colours on the fly.

Enjoy, the zip file is attached.
make; sudo make install;sudo g15daemon
Rather than figure out udev rules I prefer the following line in my crontab:
@reboot while true; do if [ “`pidof g15daemon`” == “” ]; then g15daemon; fi; sleep 1; done

If you create a file /.g15colors and give it 3 lines of content with a number on each line between 0 and 255 it will set the keyboard colour to that colour whenever you send
sudo kill -USR2 `pidof g15daemon`

For example:
sudo echo -e “127\n127\n255” > /.g15color
sudo kill -USR2 `pidof g15daemon`

g15daemonsrc

Pixels Movie Collectable Pixels Cup (cinema promotion) teardown and conversion to MAME arcade emulator

Yesterday I visited the cinema with my children (not to see Pixels oddly enough!).

In the foyer there was a section of the popcorn stand dedicated to the Pixels movie and selling tie in merchandise.

One of the items was a popcorn and drink combo in a collectable cup shaped like an arcade machine.

I purchased 3 of the combos (there were 3 different cup designs) and gave them to the children. One dropped the popcorn immediately all over the cinema floor (cue tears before the film even started) and we sat back to relax and watch the movie. It was Inside Out if you were curious.

At the end of the film I gathered all the cups up and took them home.

Today I had a look at the cups and was extremely surprised to find out that they are very well designed and built out of Polypropylene and are perfectly sized for mounting a small display to and attaching that display to a Raspberry Pi.

I have just done a teardown of one of the cups, it is not as I expected (just a sealed unit that contained drink) but actually a clipped together front and back and an inner drinks container much like a Thermos flask design.

This means that I can give the inner drinks containers to the children and hack away at the outer shell to my heart’s content.

Stay tuned as I progress.

Pixels Cups just waiting to be converted to a Mame arcade machine

Pixels Cups just waiting to be converted to a Mame arcade machine

Pixels Cups just waiting to be converted to a Mame arcade machine

Pixels Cups just waiting to be converted to a Mame arcade machine

Pixels Cups just waiting to be converted to a Mame arcade machine

Digi® XBee® Coding Platform Arduino Compatible Development Kit

Recently I received a Digi® XBee® Coding Platform Arduino Compatible Development Kit from the team at Digi-Key Electronics.

My deepest thanks go to Digi-Key for shipping it to me before the release date to give me the opportunity to give my thoughts and experiences with the kit.

The kit I received contained:
3x XBee S1 modules
1x Arduino Leonardo R3 compatible board by Robotale
1x XBee Shield for Arduino
2x XBee Shield for breadboards
1x Funduino XBee USB Adapter
2x Breadboard power supplies
1x 2 Axis Joystick
6x Push buttons
12x Multicoloured buttons for the push buttons
16x 330Ω resistors
1x 10kΩ variable resistor (potentiometer)
1x 100kΩ variable resistor (potentiometer)
10x Yellow LEDs
4x Green LEDs
4x Red LEDs
2x PP3/LR6 9 volt batteries
2x Battery clips
3x USB Mini cables
1x USB Micro cable
2x 16 Male to Male multicoloured jumper lead bundles
1x multilayer case to hold everything neatly

This differs slightly from the official list at https://docs.digi.com/display/XBeeArduinoCodingPlatform/Kit+contents which shows the 2 variable resistors as both being 10kΩ rather than 1 of 10kΩ and one of 100kΩ. Be sure that you use the correct one in your project.

What is an XBee module?
An XBee module is a transceiver (transmitter and receiver) that uses RF (radio frequency) rather than wires to communicate, in rather the same way as a TV or radio.
An XBee module can be connected to other devices to read from or control them remotely.

Can I use just one XBee module?
Yes, although this would be rather pointless.

Examples:
Morse code transceiver
Requirements:
2 (or 3) XBee modules
2 XBee breadboard adapters
2 LEDs
2 SWitches
2 330 ohm resistors
2 Breadboard power supply units **switched to 3v**
2 PP3/LR6 batteries
12 male to male jumper wires
1 Xbee USB adapter
1 USB mini cable
XCTU software installed on host computer

Connect one of the XBee modules to the XBee USB adapter, connect the USB lead between the adapter and the computer.
I chose to use 3 XBee modules, one to change the settings in the other two. You could use two and change the settings in them both but this may cause issues if you mess with communications settings.

Run XCTU and scan for XBee modules
Click on the Discover button
xctu scan icon
XCTU Discover button

This will bring up a new window
discover radio devicesDiscover radio devices window
Choose the serial (com) port. Mine (linux) is on /dev/ttyUSB1 as my 3D printer is on /dev/ttyUSB0.
This will open the Set port parameters window.
Unless you have changed the speed on your XBees, click on Finish to begin the scan
set port parameters
Set port parameters window

When the search completes you will see another window listing any locally connected XBee modules
search finishedSearch finished window
Click on Add selected devices

This will bring you to the Radio Modules window, populated with the newly discovered XBee module
Radio Modules

We can now use this window to scan for the other XBee modules, but first let’s build and power our Morse code transceivers.

The design is quite straightforward with a lot of identical connections. The only difference is the switch, LED and resistor as they get swapped:
Step 1
Look at the bottom of the 2 XBee modules and make a note of their MAC addresses (it will be 16 characters spread over 2 lines and the first 8 characters will be 0013A200)
For simplicity we will take the last 4 characters of each device and use that as the 16 bit ID later on. If the last 4 characters are the same, use the 4 previous characters which will be different – each XBee module has a unique MAC address not shared with any other XBee module in the world – well until they sell 4 billion of the lovely little devices at least – when that happens I will update this post :P

Step 2
Mount the breadboard modules into the breadboards.
Ensure the pins are running in the direction of the length of the breadboard and that the 2 rows of pins are on separate sides of the breadboard.

Step 3
* If you only have 2 XBee modules, leave one plugged into the USB for now and put it in the right place when everything else is finished *
Mount the XBee modules into the breadboard modules, ensuring that the pins are aligned correctly and the modules are in the correct holes. Pin 1 is marked on both the Xbee module and the breadboard module.

Step 4
Insert the switches into the breadboards with 2 legs either side of the centre line.

Step 5
Insert the LEDs into the breadboards, this time not across the centre but spanning 2 columns of pins. Put the longest leg furthest away from the XBee module.

Step 6
Insert the resistors into the breadboards
One end of the resistor goes into the column with the short leg of the LED, the other goes across the centre of the breadboard into the same column on the other side.

Step 7
Insert the breadboard power supplies into the breadboard
Look carefully at the breadboard power supplies – they have 4 rows of pins at the bottom. At the top those pins are labelled GND, +5v, GND, VC.
Look at the outer edges of the breadboard – it has a blue line on one side and a red line on the other.

Plug the breadboard power supply in with the end that says GND, +5v on the blue line side and GND, VC on the red side.
** DOUBLE CHECK THIS – YOU CAN AND WILL DESTROY YOUR XBEES by connecting this incorrectly **

There is a small switch in the centre of the breadboard power supply – switch this to +3v
** DOUBLE CHECK THIS – YOU CAN AND WILL DESTROY YOUR XBEES by setting this incorrectly **

** DO NOT CONNECT YOUR BATTERY YET **

Step 8
Wiring
Start with one red wire and one black wire.
Connect the red wire to the +5V row on the breadboard and pin 1 of the XBee breadboard module.
Connect the black wire to the GND row on the breadboard and pin 10 of the XBee breadboard module.

Take another black wire and connect it from one side of the switch to the GND row on the breadboard.
Take another red wire and connect it from the long leg of the LED to the +5V row on the breadboard.

From this point the wiring differs between the boards.

Take a yellow wire and put one end to pin 19 of the XBee breadboard module.
Take a purple wire and put one end to pin 18 of the XBee breadboard module.

On the first board connect the yellow wire to the end of the resistor that is furthest away from the LED.
On the second board connect the yellow wire to the second pin of the switch next to the black wire.

On the first board connect the purple wire to the second pin of the switch next to the black wire.
On the second board connect the purple wire to the end of the resistor that is furthest away from the LED.

You should now have the first board looking like this:
xbee morse code transceiver 1
The first transceiver

The second board should look like this:
xbee morse code transceiver 2
The second transceiver

After checking your work at least 3 times, and then once more for good measure – XBees aren’t cheap – connect the batteries to the breadboard power supplies.

Don’t bother trying to press the buttons yet – it won’t work for another couple of minutes. Yes a couple of minutes – you are almost finished!

Go back to the XCTU window and click on the button under the red (X) scan for remote radiosDiscover radio nodes in the same network

When the scan completes you will see the radios
2 new radios
If you have 3 XBees you will now see 2 new radios listed, otherwise you will see one device.
Click the Add selected devices button and you will be back in the main XCTU window with 2 (or 3) radios showing.
all radios

You should see that the MAC addresses are the same as you found earlier. I hope you kept track of which device is which :P

We now need to set some of the internal information in 2 of the XBee modules.
If you only have 2 XBee modules, change the remote device first and then the device connected to your computer.
If you have 3 XBee modules, change the second device first and then the third one. Leave the one connected to your computer alone.

Click on the first of the remote modules and it will read all the information about that module.
It may bring up the window below, if so click on the Yes button.
initialize device data

The right hand side of the XCTU window will now be populated with a load of information. Don’t worry about most of it, we only need to change a few items or so.

Look for DL Destination Address Low. We need to set that to the 4 characters we got in step 1 from the other device.
Directly beneath that is MY 16-bit Source Address. We need to set that to the 4 characters we got in step 1 from this device.

Scroll down to I/O Settings and look for D2 DIO2 Configuration.
If this XBee module is the one where the yellow wire goes to the resistor set this to DO High [5] otherwise set it to DI [3]
Directly beneath that is D1 DIO1 Configuration.
If D2 is set to DO High [5], set this to DI [3] otherwise set it to DO High [5].
A quick explanation of what we have done here:
We have set one device to read from pin 19 (D1) and write to pin 18 (D2), while we have done the reverse on the other device.

Scroll down a little to IC DIO change detect.
If the yellow wire goes to the resistor change this to 4, otherwise change this to 2.
A quick explanation of what we have done here:
DIO Change Detect tells the XBee to monitor a pin and if that pin state changes to send a message to the other device. The message will change the state on the remote pin which is why the remote LED is connected to the pin the switch is on and vice versa.
Make sense yet?

Scroll down to IA I/O Input address and type in the 4 character code from the other device.

Click on the Pencil icon at the top of the screen to write the settings to the XBee module.

Now we need to set the other XBee module in much the same fashion but with the information and pins swapped.

Look for DL Destination Address Low. We need to set that to the 4 characters we got in step 1 from the first device.
Directly beneath that is MY 16-bit Source Address. We need to set that to the 4 characters we got in step 1 from this device.

Scroll down to I/O Settings and look for D2 DIO2 Configuration.
If this XBee module is the one where the yellow wire goes to the resistor set this to DO High [5] otherwise set it to DI [3]
Directly beneath that is D1 DIO1 Configuration.
If D2 is set to DO High [5], set this to DI [3] otherwise set it to DO High [5].

Scroll down a little to IC DIO change detect.
If the yellow wire goes to the resistor change this to 4, otherwise change this to 2.

Scroll down to IA I/O Input address and type in the 4 character code from the first device.

Click on the Pencil icon at the top of the screen to write the settings to the XBee module.

If all has been done correctly, press the switch on the first XBee module and the LED attached to the other XBee module should light up.
If you have achieved success this far, tentatively press the other switch and see if the LED on the first XBee module lights up.
Hopefully you now have 2 lights that flash correctly.

If not, carefully check your wiring again and then check the settings.

Consider for a moment what you have just achieved – without a single line of code you have made a “Hello World” where the world can answer you back.

This is an extension of, and a rewrite to https://docs.digi.com/display/XBeeArduinoCodingPlatform/Example%3A+Hello+World which has a couple of features that I disliked or were lacking but from where I got a decent grasp of the fundamentals of the XBee module.

Article written and finished 22:45 Zulu, Thursday 16 July 2015 but not published until 3 August 2015 by request of Dig-Key International who were kind enough to send me a review kit to play with.

Many thanks to all at Digi-Key and thanks to Digi themselves for coming up with the board.

Proxmox no data received

I am running Proxmox on my dedicated server and have come across the following message a few times:

No data received
ERR_EMPTY_RESPONSE

I found the cause in my case – I was connecting by IP address instead of the domain name (in my case the reverse DNS of the IP address)

In short, instead of typing https://93.184.216.34:8006 you would need to type in https://example.com:8006

Cheap DVR teardown and pinout (MVPower, Hi3520D_v1.95p)

I have recently purchased a no-name CCTV kit which was very inexpensive, especially considering the functionality.
DVR Front MVPOWER TM

Mine is branded MVPower CCTV DVR Model TV-7108HE, P/N:UKEX39534 HD CCTV H.264 video equipment.
DVR Bottom MVPOWER CCTV DVR MODEL TV-7108HE INPUT DC 12V System PAL P N UKEX39534
It comes with or without video cameras and with or without a hard drive. I chose the 4 camera, no hard drive option. You may have chosen some other combination.

Working on the back panel first, mine has 8 video in, 1 video out, 1 HD output, 1 audio in, 1 audio out, 1 VGA out, 1 net (ethernet, RJ45), 2 USB ports, 1 RS485 port, 1 DC12v power port, 1 power switch.
DVR Rear Video In DVR Rear VGA DVR Rear Net USB RS485 DC12V DVR Rear Alarm DVR Rear Audio
Continue reading Cheap DVR teardown and pinout (MVPower, Hi3520D_v1.95p)