Friday, June 21, 2019

Setting up your DBV-S2 Decoder for QO-100 (Eshail-2) on Linux

Setting up your DBV-S2 Decoder for QO-100 (Eshail-2) on Linux.

I wanted to decode DBV-S2 signals on my Ubuntu Linux and here is my instillation details to make it work.

Here is a 333k DBV-S2 signal decoding Video (MSI sdr)

rx_sdr -f 747007200 -g 19 -s 2400000 - |./leandvb  --gui --inpipe 32000000 --nhelpers 6 --sr 333e3 --sampler rrc --rrc-rej 30 --standard DVB-S2 --ldpc-helper ldpc_tool -v -d | vlc -

What hardware do you need.

1) 1.2M Dish.
2)  Horizontal polarized LNB.
3) Power injector (13 or 18V)
4) MSI SDR dongle 12bit 10M Sampling.
5) Laptop.
6) Software to decode DBV-S2 signal from Satellite.

Hardware required for DBV-S2 from QO-100 Satellite

Software Required for DBV-S2 decoding on Linux (Ubuntu)

MSI SDR driver, Leansdr, vlc


This Project has working script for the different Bit rates.

250K,333K,500K and 2M bit rate
Changing the -sr 2000e3 parameter for your bit rate as seen on the https://eshail.batc.org.uk/wb// page.
Changing the -f 742307200 to adjust to center frequency to be in the middle using --gui flag to see spectrum
Remove the --guid when you have the frequency centered as it uses too much CPU if you have a slow PC or Laptop
Example of 2M Beacon decoder. 
rx_sdr -f 742307200 -g 19 -s 2400000 - |./leandvb --inpipe 32000000 --nhelpers 6 --sr 2000e3 --sampler rrc --rrc-rej 30 --standard DVB-S2 --ldpc-helper ldpc_tool -v -d | vlc -

Software Installation procedure.

Dependency software

Soapysdr
MSI api driver
rx_sdr
rtl_sdr
DVB-S2 Software
Download the Leansdr from  github https://github.com/pabr/leansdr.git
Download and install the SDRPlay API driver https://www.sdrplay.com/windl.php
Download and install the rsp_tcp server not neseitie but handy when testing https://github.com/SDRplay/RSPTCPServer
Download and install GQRX follow the instructions here http://gqrx.dk/download/install-ubuntu
DVB-S2 Software.
Install VLC sudo apt-get install vlc
git clone http://github.com/pabr/leansdr.git
cd leansdr/src/apps

Edit the Make file with your text editor, I use vi and un comment the following line
vi Makefile
Uncoment the following line(remove #)
# For DVB-S2, find and uncomment LEANSDR_EXTENSIONS<br>
make
Set the buffer size
echo 32000000 > /proc/sys/fs/pipe-max-size
cd leansdr/test
make leandvb-ft
Stay in the test directory
git clone -b ldpc_tool http://github.com/pabr/xdsopl-LDPC-pabr
cd xdsopl-LDPC-pabr make CXX=g++ ldpc_tool
cd ldpc_test
make leandvb-snr
If all worked ok we now need to copy the ldpc_tool in the apps directory
cd ../src/app/
cp -R ../../test/ldpc_tool ./
There should now be an ldpc_tool directory in the leansdr/src/app/ directory
We are now ready to start testing.

Example of testing signal.

Please make sure you have at least 7 to 8 db S/N (signal to Noise signal of the DVB signal from your Dish by checking it on normal SDR software like gqrx)
This script for this project can be downloaded from github here https://github.com/antonjan/qo-100-dbv-s2

rx_sdr -f 742307200 -g 19 -s 2400000 - |./leandvb --inpipe 32000000 --nhelpers 6 --sr 2000e3 --sampler rrc --rrc-rej 30 --standard DVB-S2 --ldpc-helper ldpc_tool -v -d | vlc -rx_sdr can be replaced  by rtl_sdr if you are using a normal dongle



Important command line Parameters to consider
  • --drift track for Oscillator drift 
  • --decim N Decimation if you over sample this could improve the S/N (Signal to noise ratio) 
  • --sampler --rrc-rej add additional filter. 
  • --inpipe BYTES add bigger buffer if your CPU is very busy this could help to resolve the gaps when CPU is busy (E.G. 32000000). 
  • -f HZ Specifies the sampling rate of the I/Q stream on standard input ( I am using RX_sdr and not RTL_tcp witch alow me to use SDRPLAY MSI chipset devicess that can sample upto 10Mhz) -sr HZ (2e6, 1e6, 500e3, 333e3, 250e3). 
  • --tune HZ For example a signal at 397.1 MHz can be received either with rx_sdr -f 397100000 | leandvb or with rx_sdr -f 397000000 | leandvb 
  • --tune 100e3 --ldpc-helper ldpc_tool (allow U to use external tools to decode DVB E.G ldpc_tool 
  • --standard DVB-S2 (Spesify the Decoding to be done)

Hardware required.

Please note all the hardware is avalable from Giga Technology http://www.giga.co.za
Linux (Ubuntu)
MSI (MSI chipset rtl dongle 12bit 10Mhz sampleing
Power injector for LNB
18V Powersupply 1.2M dish preferd to get proper Signal to noise ration to get stable reception.
LNB and coaxle cable with connectors.

Possible problems.

ldpc_tool is not in apps directory.
Signal to Noise is at least 7-8db (S/N).
Laptop or PC do not have enough CPU available.
Disable --guid and pre processing options to reduce CPU usage.
Computer / Laptop do not have an enough CPU.

 

Screen Shots of some of the decoded Video's. https://eshail.batc.org.uk/wb/

250khz DBV-S2
333Khz DBV-S2
2Mhz DBV-S2

I will create a blog post how to setup DBV-decoding for windows.

here is an sample image.
Windows software is available here  http://v.1337team.tk/dvb-s_gui_amsat.zip
more details to come

more details to come


1: Select SDR and start Device.
2: Select correct Frequency.
3: Tune into the middle of the stream, every little bit counts with the bandwidth from the SDR.
4: Select correct Symbolrate.
5: Select mueller and muller filter (for all lower symbolrates use the gardner filter).
6: Check box Carrier recovery Enabled, if you do this right, you should see more symbols inside the IQ plot.

Play with the Carrier Recovery Loop Gain and Damping Sliders until you can see a circle inside the IQ plot and set appropriate Baseband-Gain Settings without overdriving.
A valid QPSK constellation should also appear.
For weak signals, increasing gain and damping can be necessary.

If you see the QPSK constellation (4 dots), you can decrease the gain again.
Keep also your eyes on actual symbolrate (right under).
When symbolrate is going higher, slightly go 1 symbolrate up and down, the symbolrate must stay around 1500 or the chosen value.
 

Then Open up VLC and let it connect to your AMSAT_DBV_Guid Application Listeniing on Port 8888


MPEG-TS output is localhost, UDP at port 8888.
Open VLC and insert Network Stream: udp://@:8888

Sunday, June 2, 2019

The Ellies Dual Port LNB modification for QO-100

The Ellies Dual Port LNB modification.

I want to modify the Ellies Dual Port LNB so that the output frequency would be ether on 70cm 435Mhz or 2M 145Mhz so that it can be used on the QO-100 Satellite directly to VHF/UHF SSB rigs.

Here is an opened LNB.

Opend LNB

Here you can see the two local filters to the two ports.

The Main Mixer and PLL LO seem to be Rafael Micro RT320n
Top View
The Mixer and LO and PLL seem to be Rafael Micro RT320n
Rafael Micro RT320n

It seem Like the Local Crystal is 25Mhz
Crystal is 25Mhz



What this mean if I change the LO Crystal frequency I should be able to force the IF to the required Output to ether on 70cm 435Mhz or 2M 145Mhz


I have created a Spreadsheet to calculate the required IF frequencies so you can listen to QO-100 on the required Ham band.

I did some calculations and the LO to Crystal frequency = LO / 390
see calculated values

Blue / Red is crystal frequency for your LO in LNB
 

Thursday, May 30, 2019

QO-100 (Eshail-2) Satellite transceiver options.

QO-100 (Eshail-2) Satellite transceiver options.

Click on Image to enlarge
SDR Options

And here is a more conventional way
Conventional MIXER upconverter


Link to http://www.giga.co.za

Wednesday, April 10, 2019

Eshail-2 QA-100 CW and SSB transmitter using My Rpitx Board and Mixer with LO Boards

Eshail-2 QA-100 CW and SSB transmitter using My rpitx Board and Mixer with LO Boards.

PI TX HAT sends SSB to Upconverter mix and it is mixed with LO with SSB and send to PA

I wanted to transmit to Eshail-2 (QA-100) with my Raspberry Pi and External Mixer and LO Oscillator and a power amp.

So here is my configuration.

1)Raspberry Pi
Raspberry Pi 3B +

 2) Raspberry Pi hat rpitx Boards.
This unit is available from Giga Technology

Giga Technology rpitx Hat
3) Mixer and power amp board. Up-converter.


Hannes ZS6BZP Up Converter Board






4.1) Local oscillator boards.

This Display and 3D printed box is Available from Giga Technology
3D Printed Enclosure for LO

or 4.2) Local oscillator boards
ADF4351 Dev Board fits in 3D printed Box with LCD and Arduino



Software for the Raspberry Pi Hat Transmitter.


sudo apt-get update 
sudo apt-get install git
sudo apt-get install gnuradio
cd
git clone https://github.com/F5OEO/rpitx.git
cd rpitx
Make sure your Raspberry Pi has internet connectivity before running the following command (Answer yes if you are asked to update the config file)
./install.sh 
If Instillation was successful then reboot your Raspberry Pi
sudo reboot

Do Not use this application if you are not a license Amateur Operator and have the correct Filter board or The Giga Technology filter Hat board.

cd rpitx
Now run the test script and monitor your output frequency on Spectrum analyzer
./easytest.sh

easytest menu


Choose your choice with arrows and enter to start it. 
Don't forget, some test are made in loop, you have to press CTRL^C to exit and back to menu.
Easy way to monitor what you are doing is by using a SDR software and a SDR receiver like a rtl-sdr one and set the frequency to 434MHZ.
Carrier Test
SDR Signal Monitor

Test the Single Side Band modulation (SSB)

SSB Test

Ok Now we need to send Audio from Raspberry Pi Microphone input to To SSB Modulator.
We now need to setup the raspberry pi to read the Audio microphone from the 3.5mm Earphone jack.
The raspberry pi can be configerd to use the hdni for audio out or the earphone jack.
We need to configure it read the earphone jack
This can be done by running the command sudo rasp-config.
You should then see the following menu.
Advance Options
Select Advance Options
Then select
Pres ok
Then select option 0Auto

and then pres ok
Then press finish.

We now can check the ALSA sound configuration by running the following commands
sudo arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)

If you get null you need to reboot the raspberry pi
sudo shutdown -r 0

We now need to check out the Gnuradio radio project and startup script for rpitx
git clone https://github.com/antonjan/eshail2.git
cd eshail2
cd  rpitx_scripts
./start_rpitx.sh
OK we are now ready to start Gnuradio and load the Eshail USB Transmitter project.
cd
cd eshail2
Please note the following command needs a desktop so you cant run this via ssh exsept if you have X forwarding enabled and xserver running on you desktop.
sudo gnuradio-companion
Load the following gnu radio project 
/home/pi/eshail2/rpitx_scripts/Raspberry_Pi_rpitx_ssb_transmitter_for_eshail_2_QA_100.grc

Then reboot the raspberry pi and plugin the USB sound module



Then Plugin your Microphone in the Mic input.
You could aslo use the usb microphone module like this below in place of Sound module but it is only for transmiting you cant receve.


Edit the following file and change the RED card 0 with card 1
sudo vi /usr/share/alsa/alsa.conf
# then replace:
#defaults.ctl.card 0 
#defaults.pcm.card 0 
# with:
defaults.ctl.card 1 
defaults.pcm.card 1
Save and reboot the Raspberry pi.
Ok now we get all the gnuradio project files
cd
git clone https://github.com/antonjan/eshail2.git

Now start gnuradio-companion and test the Microphone Audio
sudo gnuradio-companion

Load the Audio_test_one.grc Project
Then Load the gnuradio project from the eshail2 directory
/home/pi/eshail2
Run the project by clicking on the play button.
You should the see a application with an osiliscope showing the microphone audio.
Scope View of microphone input.
 Ok we now no that the Mic Audio input works.
We now need to load the Gnuradio ssb transmitter that will transmit via rpitx utility.
Lets start the rpitx utility
run the command in the eshail2/rpitx_scripts/ directory
sudo /home/pi/eshail2/rpitx_scripts/start_rpitx.sh
Warning : rpitx V2 is only to try to be compatible with version 1

We now will load the SSB transmitter in gnuradio by loading the following gnuradio project
/home/pi/eshail2/rpitx_scripts/Raspberry_Pi_rpitx_ssb_transmitter_for_eshail_2_QA_100.grc

SSB Transmitter for rpitx

We can now run the SSB transmitter and monitor your audio on a sdr setting the frequency at 144.100Mhz (need to be at the lower end of band as my low pass on rpitx board filters 3db point is in mid band.)

The LO using thr ADF4351 and Arduino 34,5 to 4400 MHz

Giga Technology Arduino,Display and LO

This LO build out of the following 3 boards.

1) LCD Display Unit and red connection pins to adf4351
LCD Display Unit
2) Arduino R3

Arduino R3

4) Arduino connection diagram to adf4351
Connection Diagram


3) adf4351 Development Boards
ADF4351 Dev Boards.
 
Output Power +- 0dbm
Rf output power of ADF4351 DEV Board

Software for the above LO display and arduino is avalible here
http://www.giga.co.za/Kit_Drivers/ADF4351_LCD_07032016.zip

Frequency configuration


2.4Ghz Eshail-2 QO-100 Transmition

Here is a nother option as an USB LO Boards.


138MHz-4.4GHz USB SMA signal source spectrum analyzer.
ADF4350 Signal generator 13804.4Ghz
Software for the 138MHz-4.4GHz USB SMA signal source.
Install python for the application to work
sudo apt-get install python

1) The source code to enable the frequency is available here https://github.com/antonjan/BG7TBL_Reader
Check the code out on your Rasberry pi from github

git clone https://github.com/antonjan/BG7TBL_Reader.git

You can control the frequency with command line or application.
Command Line
./set_frequency.py 2400270000
To run the application below

./set_frequency_guid.py
Here is the Application I have created to change the LO on USB device.

Hardware Details of the USB Signal Generator
Software for the USB LO signal Generator
I have developed an Pythob Aplication to controle the Signal Generator and ist in my github  https://github.com/antonjan/BG7TBL_Reader

Here is exsample code to set the frequency
Run the following program

./set_frequency.py 1000000000

Here is the code
#!/usr/bin/python
import sys, serial ser = serial.Serial('/dev/ttyUSB0', 57600, timeout=1)
# Linux first FTDI
# sys.argv[1] is frequency in Herz
cmd = "\x8f" + "f" + '{:09d}'.format(int(sys.argv[1])/10) ser.write(cmd)



Friday, March 15, 2019

How to use AI (Artificial Intelligence) to identify Radio signals using a RTL SDR dongle and Linux (Ubuntu)

How to use AI (Artificial Intelligence) to identify Radio signals using a RTL SDR dongle and Linux (Ubuntu)
Identifying Radio stations

I was wondering if there is not a good framework to identify RF signals as I wanted to add some capabilities to my SDR's to identify RF signal.

I was thinking of a way to recognize Satellite signals and the automatically apply the necessary Demodulator's and decoders for the specific satellite.

I was looking at AI Deep Learning library to be able to identify RF Radio signals. There are countless deep learning frameworks available today.

By using Python3 and rtl-sdr dongle it would be possible to scan a frequency range trying to identify a satellite.

Here is a graph with all the most used Deep learning frameworks available.
Deep Learning Frameworks.

I found this opensource project called cnn-rtlsdr and it is available from github here https://github.com/randaller/cnn-rtlsdr

This framework is using Keras and TensorFlow to learn and recognize the RF signals.

So how dose it work?

You first need take an clean RF signal and digitize it and then let the framework learn its signature. The more you letting the AI framework learn a specific signal the more accurate it will able to recognize the RF Signal.



Here is my instillation procedure to get it working on my Ubuntu 18.10 Laptop

Installation Procedure.

Lets check if you have version 2 or 3 of python.
You need version 3
python -V
apt-get install git
git clone https://github.com/randaller/cnn-rtlsdr.git
cd cnn-rtlsdr



sudo apt-get update

sudo apt-get install python3-pip
sudo apt-get install rtl-sdr

sudo apt-get install build-essential libssl-dev libffi-dev python-dev

sudo pip3 install --upgrade pip

sudo pip3 install tensorflow
sudo pip3 install pyrtlsdr

sudo pip3 install scipy

[remove dongle]
rmmod dvb_usb_rtl28xxu rtl2832
[insert dongle]


Installing rtl-sdr and calibrating the frequency offset.

Using the Kal utility to calibrate your dongle offset using the GSM network.
Installing Kal
sudo apt-get install automake
sudo apt-get install libtool
sudo apt-get install libfftw3–dev
sudo apt-get install librtlsdr-dev
sudo apt-get install libusb1.0.0-dev

git clone https://github.com/steve-m/kalibrate-rtl.git
cd kalibrate-rtl/
./bootstrap
 ./configure
 make
 sudo make install


In south Africa we can use the GSM900 frequency
Lets run Kal
kal -s GSM900
Found 1 device(s):
  0:  Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Scanning for GSM-900 base stations.
GSM-900:
    chan: 40 (943.0MHz - 736Hz)    power: 25909.17
    chan: 47 (944.4MHz - 817Hz)    power: 28430.99
    chan: 63 (947.6MHz - 128Hz)    power: 29010.57
    chan: 69 (948.8MHz - 597Hz)    power: 32479.73

We now select the strongest Station to measure the average frequency offset
kal -c 69
Found 1 device(s):
  0:  Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Calculating clock frequency offset.
Using GSM-900 channel 69 (948.8MHz)
average        [min, max]    (range, stddev)
- 413Hz        [-460, -354]    (106, 30.402500)
overruns: 0
not found: 0
average absolute error: 0.435 ppm



We now need to test to see if we can identify any signals using the default test learn data.

Final test

The Default script will scan the normal FM broadcast band 88 to 108Mhz.
Although it detects the radio stations as TV is ok as the test data id was tv.

sudo python3 predict_scan.py
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
88.400 MHz - tv 99.98%
89.600 MHz - tv 99.91%
91.500 MHz - tv 99.99%
92.700 MHz - tv 99.93%
94.700 MHz - tv 99.13%
95.900 MHz - tv 98.04%
98.000 MHz - tv 100.00%
99.200 MHz - tv 99.95%
99.600 MHz - tv 81.13%
101.500 MHz - tv 99.91%
102.700 MHz - tv 100.00%
105.100 MHz - tv 100.00%
106.300 MHz - tv 99.56%



We now need to learn the different Rf signals so we can identify it.
Best way to do this is with an rtl dongle and your signal of interest.

Learning from existing RF signal Database.

1) "wfm" Wide band FM
2) "tv" TV signal
3) "gsm" GSM signal
4) "tetra" Tetra DMR
5) "dmr" DMR
5) "other"

Link to database https://drive.google.com/file/d/1PuhzXkk6AVwXPPKjtFUCpQVsqOOlszu8/view
Some RF signals have been learned by other users so you don't need to learn the common RF signals but just import the learn database.

Unzip the file in the cnn-rtlsdr directory
Then run the following command to learn the RF signal 
It takes about 80secons to learn a sample. So go and have a coffee or a bear :-)
Make sure you have your rtl_sdr dongle connected as the code will do a test at the end of the learning procedure.
python3 train_keras.py
You will need a lot of memory for your application tu run so close all necessary applications otherwise you will get an out of memory error..
Learning RF samples for the following RF signals.
When the learning is complete the script will do a test with the RTL-sdr dongle.
Testing signals with the new database. 


Lets learn our own signal not yet in database.
I want to learn a Satellite Telemetry signal from Satellite.

Learning my own unique signal.



python3 train_keras.py
Using TensorFlow backend.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:1062: calling reduce_prod (from tensorflow.python.ops.math_ops) with keep_dims is deprecated and will be removed in a future version.
Instructions for updating:
keep_dims is deprecated, use keepdims instead
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:2550: calling reduce_sum (from tensorflow.python.ops.math_ops) with keep_dims is deprecated and will be removed in a future version.
Instructions for updating:
keep_dims is deprecated, use keepdims instead
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:1123: calling reduce_mean (from tensorflow.python.ops.math_ops) with keep_dims is deprecated and will be removed in a future version.
Instructions for updating:
keep_dims is deprecated, use keepdims instead
Train on 64972 samples, validate on 27844 samples
Epoch 1/50
64972/64972 [==============================] - 70s - loss: 0.3469 - acc: 0.8527 - val_loss: 0.0716 - val_acc: 0.9836
Epoch 2/50
64972/64972 [==============================] - 72s - loss: 0.0575 - acc: 0.9839 - val_loss: 0.0731 - val_acc: 0.9791


...
64972/64972 [==============================] - 79s - loss: 0.0016 - acc: 0.9995 - val_loss: 0.0069 - val_acc: 0.9984
Epoch 49/50
64972/64972 [==============================] - 80s - loss: 7.5126e-04 - acc: 0.9998 - val_loss: 0.0093 - val_acc: 0.9981
Epoch 50/50
64972/64972 [==============================] - 78s - loss: 0.0065 - acc: 0.9983 - val_loss: 0.0357 - val_acc: 0.9923

Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
92.9 wfm 99.9636411667
49.25 other 99.8086333275
95.0 other 99.9997735023
104.0 other 99.9999880791
422.6 other 99.9927401543
100.5 other 99.9997496605
120.0 other 100.0
106.3 wfm 100.0
942.2 other 99.999666214
107.8 other 100.0
Validation: 30.0





Friday, March 8, 2019

The New Corel USB Accelerator module adds Edge TPU co-processor to your system for AI development. Ideel for MobileNet v2 (100+ fps) development.

The New Coral USB Accelerator module adds Edge TPU co-processor to your system for AI development. Ideal for MobileNet v2 (100+ fps) development.

Coral USB Accelerator dongle

The Coral USB Accelerator dongle is a USB device that adds an Edge TPU co-processor to your Linux development system. It includes an USB3 socket and it dose accelerated ML inferencing.

The onboard Edge TPU is a small ASIC designed by Google that provides high performance ML inferencing with a low power cost.
The unit can execute state-of-the-art mobile vision models such as MobileNet v2 at 100+ fps, in a power efficient manner.

What can I do with this Unit?

You can execute your your TensorFlow Lite models against the device.

DURING BETA period


Currently, the Edge TPU compiler requires that your model use one of the following architectures:

    MobileNet V1/V2:
    224x224 max input size; 1.0 max depth multiplier
    MobileNet SSD V1/V2:
    320x320 max input size; 1.0 max depth multiplier
    Inception V1/V2:
    224x224 fixed input size
    Inception V3/V4:
    299x299 fixed input size

All models must be a quantized TensorFlow Lite model (.tflite file) less than 100MB.
The restriction above will be removed.
The first-generation Edge TPU is capable of executing deep feed-forward neural networks (DFF) such as convolutional neural networks (CNN), making it ideal for a variety of vision-based ML applications.

Example Models available.
  • Object recognition.
  • Insect recognition.
  • Plants recognition.
  • Baird recognition.
  • Face recognition. 
  • ...

Can the Edge TPU perform accelerated ML training?

Sort of. The Edge TPU is not capable of backward propagation, which is required to perform traditional training on a model. However, using a technique described in Low-Shot Learning with Imprinted Weights, you can perform accelerated transfer-learning on the Edge TPU by embedding new vectors into the weights of the last fully-connected layer on a specially-built and pre-trained convolutional neural network (CNN).
USB Accelerator dongle
USB Accelerator dongle

What would you need to use to USB Accelerator?

Any Linux computer with a USB port (preferably USB3 port)
  • Debian 6.0 or higher, or any derivative thereof (such as Ubuntu 10.0+)
  • System architecture of either x86_64 or ARM64 with ARMv8 instruction set.

Physical size.

It has a very small footprint as can be seen in diagram below.




Now you can have your Artificial Intelligence (AI) engine (Tensorflow) on your Laptop or standalone instance.

Google has new Artificial Intelligence (AI) engine (Tensorflow lite) on your Laptop or standalone instance.

Here is the description of the Standalone option.
I was experimenting with Artificial Intelligence AI for Radio voice recognition and RF signal identification system and always had to run my applications on Tensorflow lite engine in the google remote Cloud for development and testing due to the expensive hard ware required. I cant wait for this hardware to become available here in South Africa as it seems to be only available in USA for now. :-(
The part that interested me the most was the Pulse Width Modulation (PMW) with max Frequency of 0 - 66Mhz.
My main interest was to use the object recognition for the identification of Radio signals and the Voice recognition for automated radio control.

Coral Development hardware option 1.

It looks like a Raspberry Pi footprint.
This unit has all the hardware interface for embedded AI applications. 
If you want to have a standalone AI system then this should work well.
There is some examples how to use the Tensorflow lite implementation.
Corel Standalone Dev Board
  • GPIO header pinout. (40Pin Header)
  • Universal Asynchronous Receiver-Transmitter (UART). Programmable baud rates up to 4 Mbps.
  • Synchronous Audio Interface (SAI)
  • Inter-Integrated Circuit (I2C)
  • Serial Peripheral Interface (SPI)
  • Pulse Width Modulation (PMW) Frequency of 0 - 66Mhz.
  • Serial console port. Terminal port for local access.
  • HDMI port. This is a full-size HDMI 2.0a port.
  • USB 3.0 ports. There are three USB 3.0 ports. 
  • Ethernet port. Supports 10/100/1000 Mbps.
  • Bluetooth 4.1.
  • Microsd-slot.
  • Audio Connections. 4-pin stereo terminal, 3.5mm audio jack, microphone (x2)   
  • MIPI-DSI display connector. Resolution up to 1920x1080 at 60Hz.
  • MIPI-CSI2 camera connector pinout. 24-pin flex cable connector.
  • Power specifications The Coral Dev Board must be powered by 2 - 3A at 5V with USB Type-C power port.

Boot mode.

This board can be boot in 3 different modes.

  1. Serial download.
  2. eMMC. 8GB
  3. SD card.

Operating system.

Supports Mendel Linux (derivative of Debian)

Software models.

There is several pre-compiled examples.
  • Object recognition.
  • Plant recognition.
  • Baird recognition.
  • Human faces recognition.
  • Object Location detection.
Un-compiled examples
  • Gesture recognition.
  • Speech recognition.