Atari XC12 becomes video recorder

Making the video recorder for IP-cameras on base Raspberry Pi 2 with an USB HDD (SSD) drive that all together had placed in retro Atari XC12's case.


Main components:
- Raspberry Pi 2,
- USB HDD (SSD) drive;
- DC-DC to 5V 3-5A step down converter;
- USB HUB (optional);
- Atari XC12 case.

Any single-board computer with USB and LAN port can be used here, as Raspberry, Odroid, even some routers

YDS-5A DC-DC converter step down from 12-36 to 5V 5A was used in this case.

An USB HUB is optional only if used USB HDD (SSD) requires more than 1A power.

The RJ45 patch cord and the pair-wire cable with DC power jack were used.


All electronic components of Atari XC12 and the main part of the tape track were deleted.
The original "Save" LED of the Atari XC12 was used as a LAN indicator of Raspberry Pi.


All components were connected as this wiring diagram ...


... and they were placed in the Atari XC12 case.


The RJ45 patch cord and the pair-wire cable with DC power jack were let out from the Atari's case.

Being connected to the home network router and powered, this new recorder was accessed via PuTTY by IP, port 22 (SSH access must be switched on in Raspberry by command raspi-config and then Interfacing Options). Then in terminal under root user was entered next commands:

apt-get install ffmpeg

apt-get install samba

ls /dev/sd*

The name of USB (SSD) storage attached to Raspberry was noted. This was sda1 (can be sdb1 or other). Then next commands were entered:

mount /dev/sda1 /mnt

mkdir /mnt/outer_cam_01

nano /etc/samba/smb.conf

where :

- /dev/sda1 is name of HDD (SSD) was noted above;

- outer_cam_01 is the name of the folder for the video archive (can be more then one folder).

Next lines were entered at the end of opened file:


path = /mnt 

force user = root 

read only = No 

guest ok = Yes 

hide dot files=yes 

hide files=/.*/lost+found/ 

create mask = 0777 

directory mask = 0777 

Ctrl+O, Enter, Ctrl+X

 Then next commands were entered:

/etc/init.d/smbd restart

crontab -e

@reboot sleep 60; mount /dev/sda1 /mnt; sleep 20; chmod -R 0777 /mnt

# the following line gives the command every 2 minutes to record 118 seconds of the stream from the camera to a file with the current date and time in name

*/2 * * * * ffmpeg -rtsp_transport tcp -i rtsp:// -r 25 -t 118 -vcodec copy /mnt/outer_cam_01/`date +\%Y\%m\%d\%H\%M\%S`.avi > /dev/null

# the following line gives the command every 6 minutes to delete the oldest files in the folder when the folder size exceeds 130000 MB

*/6 * * * * while [ $(du -sm /mnt/outer_cam_01| cut -f1) -gt 130000 ]; do rm -f /mnt/outer_cam_01/"$(ls -1c /mnt/outer_cam_01/ | tail -n1)";done > /dev/null

@daily sudo killall ffmpeg

# and at least one empty line should be at the end of the file!

Ctrl+O, Enter, Ctrl+X

where rtsp:// is address of RTSP stream of IP camera (can be other according camera's user guide).


No later than 2 minute, the video archive accessible from any computer in the home network.

A software you can load from this site is free for a non-commercial use except for components for which their owners declared their own rights. Can be limited by local laws. No of your data will be collected with a software you can load from this site.

Subscribe for updates.

Designed with Mobirise - Check it