[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.
There are tons of tutorials on how to create a WordPress website in the internet. In contrast to most other tutorials, this guide is not only about design but also about all the little things that make a website great.
The basic setup of the Website
1. The two most basic things that you need are a domain (website name) and a webspace. If you are a beginner I suggest you to get a webspace with an automatic wordpress installer. I can recommend Hostgator if you can get a discounted offer. However, don’t buy the domain there (more details in the next step). I picked a cloud hosting plan with unlimited domains, which runs fast and allows me to have multiple websites for one price. The installation is very easy. After you logged in, just click on “Launch Cpanel”. Now you see the webspace administration settings. Click on “Build a new WordPress website” and it will guide you through the quick installation. If you can have unlimited websites and you want to add a new one go to “Addon Domains” in the Cpanel to install a new folder for the website.
2. I wouldn’t buy the domain together with the webspace because otherwise the webspace provider owns the name. Let’s say your website became popular and you want to change the webspace because Hostgator no longer offers you discounted prices. This would be hard if they own your name. On the other side, if you own the name the migration is easy. For the domain I recommend Freenom as they offer very cheap prices and a free WHOIS privacy protection.
3. To link the webaddress to your WordPress installation, copy the nameserver information on the lower right side of the “Cpanel”. On Freenom go to Services>My Domains>Manage Domain>Management Tools>Nameservers and paste the nameservers from Hostgator. Then you need to wait for up to 72 hours until all internet browsers are informed that the address points to your WordPress installation. Great, you can now start building the website.
Prepare WordPress for greatness
4. Go to yourdomain.com/wp-admin to log in to the WordPress settings dashboard. Here you have all the options to create the website of your dreams. If you hover over the house on the top left, there is an option to see the website as a visitor would see it. The installation comes with a few plugins preinstalled. You can uninstall all of them.
5. WordPress takes care of all the functions in the background. For the visual representation of the information you need a theme. Simple themes can be downloaded for free in the WordPress store. However, I suggest you get a paid premium theme, as they generally offer more options and better designs. I use Themify Ultra and I can recommend it for anyone who wants a professional website but doesn’t have much coding knowledge. You can buy it at Themify.me. I asked them for a discount on the lifetime membership and they gave me 40% off. This is a good one time investment as it allows me to install the GPL themes on any website. To upload it go to Appearance>Themes and click “Add New” on top. You can now upload the zip folder from your pc to install the theme. Click on activate and it is ready. There will be a note that you need to install a framework plugin. Just click on install and then activate it.
6. If you want to make code changes to the theme that persist when the theme is updated, you can create a child theme with the plugin “Child Theme Configurator”. Most beginners won’t need this but if you later decide to add a code snipped you are already prepared as it is easier to do this in the beginning. To install a plugin for WordPress go to the menu section “Plugins” and click on “Add New” on the top. This time you can search the free WordPress store instead of uploading a zip file. When you installed the Child Theme Configurator, go to Tools>Child Themes and select “Create a child theme”. Pick the Ultra theme, click on “Copy Menus, Widgets, …” and proceed. Then activate the new Ultra child under Appearance>Themes.
7. The next plugin is very important and should be installed as soon as possible (of course you can also get another one with similar functions). The plugin is WP Cerber Security and it protects you from robots that try to break into your website. It blocks an IP address after some false password entries. On my website it registers hundrets of failed attempts each week.
8. Here is a short list of essential plugins:
Themify Shortcodes: Shortcodes that are required for some of the demo pages. It can help you to add elements with a few words (see documentation).
WP Cerber Security: WP Cerber lets you limit login attempts. It will block an IP after some failed attempts. Also, there is a basic spam protection and it can block certain code injection attacks.
Really Simple SSL: This plugin helps you to activate the ssl functions of Hostgator (make your address https and protects the privacy of visitors).
Contact Form 7: Enables you to create simple contact forms with spam protection (Google Captcha or a quiz).
Yoast SEO: The Yoast plugin helps you to create articles that appear often in search engines (e.g. Google). It will add an widget on the bottom of the post editor with tips on how you can improve the current article.
Slimstat: If Google Analytics is to complicated for now, you can simply install Slimstat in WordPress. It helps you to track the visitors in alignment of the EU privacy regulation
9. In order to make the post links look better, you should go to Settings>Permalinks and change it to “Post Name”. This removes silly numbers and it uses the name of the post instead. You should also change the tagline (subtitle of the website) under Settings>General. If you want that search engines not yet show your unfinished website in the results, you can change this under Settings>Reading. You can even go furter and install a “coming soon” page with the plugin IgniteUp.
Give your WordPress Website a beautiful look
Now for the visual appearance you can benefit a lot from the Ultra Theme. Themify has a clearly arranged settings page in the backend for the general setup of the theme. Further, if you click on Appearance>Customize you can change design options for the whole website while instantly seeing the results.
If you want to design a specific post or subpage you can use the Themify Builder, which can be started by clicking the button on the top of the post editor. The builder helps you to instantly create popular graphical elements. The purple box represents the row and the orange boxes are the columns inside the row.
You can even use preconfigured demo sections as a starting point and if you have created an complex element you can save it in a library for future use.
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.