[Short disclaimer: You are only allowed to 3D print Lego models or replacement parts if you have their license. In the following I assume you have one. I do not host any of the 3D models, this is just an educational guide.]
I found a way to get all the parts of a Lego Set (up until year 2019) to have them printed out with a 3D printer. The original website Printabrick.org, which allowed to get all the parts of a set as models, was taken down but it is still accessible with the internet-archive. Here are the steps to get your stl files:
Visit https://brickset.com and search for the desired set to find the set number.
Replace the placeholder in the following link with your set number (for example 8803-4) and paste it in your browser. It will then download the models of all the stl parts as Zip archive (provided it exists in the database):
https://web.archive.org/web/20190822053718/https://printabrick.org/sets/PLACEHOLDER/zip?sorted=0
If you want to view the project pace first, delete the part “/zip?sorted=0”. The download button on that page does no longer work with left click. You need to right click and choose “Open in new tab”.
I don’t know how practical it is to print whole sets but if you are missing certain Lego parts it could be useful to print them out.
With the HackRF One it is posible to send a fake GPS signal to other devices.
You need the following parts:
– HackRF One (can also be a Chinese clone)
– External TCXO (as GPS needs high precision)
– Antenna (best is a dedicated GPS antenna)
– GNU Radio and HackRF tools
You can also generate routes in the form of an NMEA file with the Labsat simulator: https://www.labsat.co.uk/index.php/en/free-gps-nmea-simulator-software
More information: https://github.com/osqzss/gps-sdr-sim
Please use this responsively. Bear in mind that it can have an impact on other devices if you send it outside a closed circuit.
Wouldn’t it be nice to have an scanner that records interesting radio signals automatically? For example you could record whenever people talk on certain frequencies.
Prerequisites:
– You have Gqrx installed (Guide for Armbian here)
– You have an RTL-SDR attached and the sdr drivers are installed (= it works with Gqrx).
Tip: If the Rtlsdr doesn’t work with Gqrx make sure that under File>I/O Devices you have selected “Realtek RTL2838…” (or whatever is your version) and not “Generic RTL2832…”
Installation of Gqrx-Scan
1. In the terminal go to a folder where you want the scanner to be installed.
2. Install Pearl prerequisites
sudo apt-get install libnet-telnet-perl
3. Download the scanner script:
git clone https://gitlab.com/khaytsus/gqrx-scan
4. Open Gqrx and set bookmarks on the frequencies you want to check. CTRL+b opens the bookmark manager.
5. Under Tools click on “Remote control” to enable it and start the reception (play symbol). Play around with the Squelch setting on the right side until you hear the audio clearly (you could start with -40.0db).
6. Now, you can go to the folder with the scanner script
cd gqrx-scan
7. There are several options to use it:
A) Switch between your bookmarks every two seconds
./gqrx-scan --type gqrxfile --pause 2
B) Check your bookmarks and stay on a frequency if it receives a signal above a threshold
I’ve always wanted an easy to build weather station that is connected to my network. My first projects involved quite some coding but now with the ESPeasy firmware everyone can create an interesting project in only 30 minutes. The heart of the project is a NodeMcu, which is a small computer that has integrated wifi. We will connect a BMP-280 sensor to measure the temperature and humidity. The values can be seen on the lcd or on the webpage of the NodeMcu (his ip address).
The hardware:
1x NodeMCU (or a similar ESP8266 device)
1x Micro USB for NodeMCU
1x LCD 2004
1x BMP-280 Sensor (BME-280 would also have humidity)
1x Breadboard
1x Button
1x Logic Level Shifter (maybe not necessary for every lcd type)
The wiring:
Connect the top red line of the breadboard to a 3.3v pin of the NodeMCU. This is the power for the sensor (unless you have the 5v version). On the bottom red line you connect the VU pin (or VIN if there is no VU). This is the 5v power for the LCD. Pin D1 is defined in the software as SCL and D2 as SDA. You can plug each one into a separate line on the breadboard. Then connect the SCL and SDA from the sensor to the corresaponding line. Connect the LV side of the level shifter: lv is 3.3v, gnd is gnd, lv1 is the sda line and lv2 is the scl line. Now on the other side hv is 5v, gnd is correlated gnd, hv1 is connected to the sda of the lcd, hv2 is connected to its scl. The schematics below should give you the idea. The pins are not where your pins are, as the program didn’t have the proper devices.
Connect the NodeMcu to your computer and run the ESP.Easy.Flasher.exe.
Scan for the port of your device and elect the correct version (…normal_ESP8266_4096.bin).
You can then enter your Wifi name and password, so that it connects automatically.
Click Flash ESP and wait. Maybe you need to click the RST button on the device if it takes to long.
Now your done and you caan check on your router what the ip of the connected Nodemcu is.
Enter that ip in your browser to access the webinterface.
The setup:
The setup is pretty intuitive. First go to Tools>I2C Scan. If everything is connected properly, this gives you the two addresses; one for the LCD and one for the sensor.
Now you can go to Devices>Edit and select the sensor BMP280. Select the correct address and give the values a name (temperature, pressure).
On the second line you can add the LCD2004. Again select the right address and choose the size of the lcd (4×20). On line 1 of the display you can write: IP %ip% to show the ip. On line 2 write T:[BMP280#Temperature] C to show the temperature, where BMP280 is your sensor name and Temperature the name of your value. On line 3 write P:[BMP280#Pressure] hPa to show the pressure.
Bonus:
1. You can make the display go off after a few senconds and use a button to turn it on again. Under Devices>Your LCD select a pin for the button. Then, connect the button to that pin and ground.
2. Advanced: You can make the Nodemcu send the sensor values with Mqtt. Set up your controller under Controllers and then you have the option under Devices>BMP280 to send the values.
As an open source enthusiast it was my dream to build an own linux tablet. I kindly received a touchscreen display and a case from Mr. Lim, the founder of Pine64. So the other parts I needed were a Pine A64, a microSD, a powerbank (10000 mAh) and a wifi dongle. On the Pine I previously installed Armbian which is perfect for my build.
How to screw the Pine casing together
I found a useful YouTube tutorial on how to screw together the case (just watch the second part as the guy makes a mistake first). It took me about 20 minutes to get everything together. One thing to note is that you shouldn’t completely pull out the black covers of the display jacks. It is enough to fold them open and then insert the display cable. If the case is closed, you can access almost everything except the microSD and the Gpio pins. However, inside the case there is still enough space to add sensors.
Activate the screen in Armbian
In the terminal, enter:
sudo nano /boot/armbianEnv.txt
There, change pine64_lcd=off to pine64_lcd=on
Back in the terminal, enter:
sudo nano /etc/modules
There, add a line with gt9xxf_ts
Now, shutdown and boot up again. After a few seconds you should see the Armbian desktop (make sure you installed the version that has graphical desktop supported).
You will probably need a touchscreen keyboard. To install it, enter in the terminal:
sudo apt-get install onboard
You can start it the first time in the menu under Accessories. There is also the possibility to customize the behaviour of the keyboard.
So far, I’m positively surprised by the responsiveness of the touchscreen. I had a lot of fun using my own linux tablet. With an RTL-SDR dongle attached and minimal usage the power consumption was about 800mAh for 1h 15min. during the upgrade process. I will test in future how long it can run in real life situations with a 10000 mAh battery.
As I had a growing number of different devices I needed a cloud service. However, my expectations are high. It should be realiable and cheap and most importantly, I want full control of my data. After some reasearch, I found a solution that fitted all of my needs, the open source project Nexcloudpi. I hosted it on a Raspberry Pi, as the device is perfect for everyday use. It is cheap, quiet and low in energy consumption.
Some time ago, the installation was quite difficult, but now with the NextcloudPi image it is much easier. In the following steps I show you how to host your own cloud.
Instruction
1. On a pc, download the image of the NextcloudPi. Then plug in the microSD with an adapter. Unpack the file with 7-Zip and write it to the microSD with Win32DiskImager. Be careful to select the right drive, I lost some vacation pictures due to inattentiveness.
2. Then, add the microSD to the raspberry pi and plug in the mouse, keyboard, hdmi and finally the power cable. The first boot process will take a bit longer. When you are asked to log in use “pi” as username and “raspberry” as password. Afterwards, you should immediately change the passwords in the terminal with the command:
passwd
3. You can look for your IP address with:
sudo ifconfig
Now, if you enter the ip in the address bar of a browser, you should see a page with one password for the cloud and one password for the configuration. After you clicked on activate, the cloud is ready to use in the local network. You will then be forwarded to port 4443 for the configuration.
4. The configuration wizard guides you through the set up of the Nextcloudpi. For the first time, I would only use the microSD as storage. You can later add usb drives but this can sometimes cause problems. The wizard also asks if you want to use the cloud via the internet. If you select yes, it installs the password protection fail2ban.
5. In a next step, you will need to forward the port 443 (and 80) on the router to the raspberry pi, so that it can receive data. For some routers it can do it automatically, otherwise you will need to log in to your router configuration and do it manually. Just select an incoming port on the router and assign it to the IP of the raspberry pi on port 443.
6. It is likely that the public ip address of your router changes from time to time. Therefore, programs that want to reach the cloud always need to know the current IP of your router (which forwards them to the local cloud). To translate the changing public IP into a stable web address, you need a ddns service. Also here, you will get help from the wizard. You just need to create a free webaddress from one of the providers and the pi will send them a message everytime your ip changes.
7. Now, if you want to reach your cloud in the local network you can use the ip and in the internet you use the ddns address with the port of the router (e.g. address.ddns.com:600). Congratulations, you are now the master of your data.
8. The fun part starts here. You can synchronize your calendars with Nextcloud, make polls for events, collaborate like in Google Docs and much more.
Note: I found out that the Raspberry Pi 3b+ is perfect to synchronize documents but to weak for large media files like movies. You might want to install Nextcloud on a stronger PC if this is an issue. There is now even the possibility to use the Nextcloudpi configuration wizard on any Debian system.
I bought two Pine a64 2Gb boards when there was a liquidation at my local electronics store half a year ago. Since then they were lying around and collecting dust, mainly because they are a lot more difficult to use than the raspberry pi. I finally found a good use for one. I installed a 12 $ rtlsdr dongle (RTL2832U), so I can listen to the frequencies in the air from 500 kHz up to 1.75 GHz. This means the device receives data from radio, planes, satellites, garage doors and also some mobile communication. One of the most interesting things was to see how smartphones communicate with towers. The following instructions seem pretty long but it is easier than you think and most is copy and paste code.
Installation of Armbian and the RTL-SDR dongle
1. Download the latest Armbian OS (based on Ubuntu) for your device. You should pick the one with graphical desktop. Then on a Windows PC you can unpack it using the free tool 7zip and install the .img file on a microSD card with Win32DiskImager.
2. Hook up the pine64 on a screen with an hdmi cable. Add a usb mouse and keyboard.
Now plug in the microSD and and power the device up. The first boot will take a bit longer then usual.
Eventually, you will be asked to sign in with a username and password. This is for armbian “root” and “1234”.
Now you are prompted to create a new password for the root account and you need to create a normal user with username and password. If you want to access the command line of the pine64 from a windows pc you can use SSH with Putty. Great, now all the basic stuff is done.
3. When you plug in the rtlsdr dongle you should be able to see it in the list created with:
lsusb
.
For me it looks like this:
Bus 001 Device 003: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
In my case “0bda” is the vendor identification and “2838” is the product number.
Run
You need to insert the vendor id and product number of your device if it is different than my example. This should ensure that the rtl-sdr is available for the pine.
Installation of GNU Radio
1. In the terminal, update the system with:
sudo apt-get update && sudo apt-get upgrade
.
2. First, you can run
sudo apt install gnuradio
to install GNU Radio, which is a software that lets you process information from software radios. Next, you install the rtl-sdr tools. Note that some of the steps can take very long to compute on the Pine a64.
git clone https://github.com/balint256/gr-baz.git
cd gr-baz
mkdir build
cd build
sudo apt-get install cmake
sudo apt-get install gnuradio-dev
cmake ..
make
sudo make install
sudo ldconfig
Installation of Gr-Gsm
1. The installation of gr-gsm follows the instructions from osmocom. First, you need to install a few modules, that are required for the software:
2. When this is done, you can install gr-gsm, which is required to see gsm communication:
cd ~
git clone https://git.osmocom.org/gr-gsm
cd gr-gsm
mkdir build
cd build
cmake ..
mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/
cd ~/gr-gsm/build
make
sudo make install
sudo ldconfig
Next, you need some Python modules to run the IMSI-catcher script:
3. Let the fun part begin. You need to have a graphical desktop in front of you. Open two terminal windows. In the first one you enter
grgsm_scanner
to see on what frequencies there are towers around you. Then, start to listen to one of those frequencies with:
grgsm_livemon -f 'YOURFREQUENCY'M
.
e.g.
grgsm_livemon -f 948.2M
In the second window you start to receive the processed data in the form of a list with IMSI numbers, phone providers and countries. To get this run inside the IMSI-catcher folder:
python simple_IMSI-catcher.py
There you go. I hope you have as much fun as I had with this tool 🙂 More information can be found here.
Hint: If you want the data to be directly stored in a textfile, use:
Have you ever seen a demonstration, where a hacker opened a garage door or triggered a wireless doorbell from distance? The Universal Radio Hacker (URH) could be a good choice for such a scenario. However, you can also do more productive things, like connecting incompatible devices to your computer or smart home.
Instructions
Note: In case, that you need to set up rtl-sdr or you get an error, make sure that you check my previous tutorials in the RTL-SDR series in order to have the same starting point.
Gqrx is a graphical tool that visualizes radio signals in the spectrum. One of the easiest applications is, to tune to the frequency of a local FM or AM radio station and listen to the music. Assuming that you followed the airplane tracking tutorial, the installation is simple.
1. Run each line separately to add the repositories that are required:
sudo add-apt-repository -y ppa:bladerf/bladerf
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo add-apt-repository -y ppa:myriadrf/gnuradio
sudo add-apt-repository -y ppa:gqrx/gqrx-sdr
sudo apt-get update
2. Install the program:
sudo apt-get install gqrx-sdr
3. Now, you can run the program with
gqrx-sdr
or by clicking on it in the startmenu-section internet. The first time you run it, you need to select an input device. For me it was the recommended one. In the window under ‘file>Start DSP’ you can start the waterfall and the audio.