Minecraft Server

One of our members Pixelpox has built a Minecraft server for us to all play and socialise on. It is a project that is just getting started but has already been popular with some of the members here at the Sheffield Hackspace.

Interesting Specs

Some of you are most interested in the technical details about the server so here it is.

Server TypeSpigot
Minecraft Server Version1.14
Plugins Addedgriefprotection

Members Creations

Our members have been hard at work collecting resources and building their buildings. Some people have taken to creating farms such as sugar cane and eggs for the whole community to benefit from a sustainable source of food.

Others have been focused on village security and plain old exploring the world. Check out some of the things that have already been built.

How can I join?

It’s simple and FREE! Go to the Sheffield Hackspace Forum to subscribe online and introduce yourself. After that ask for the Minecraft details and one of our current members will get back to you with the details. Our Minecraft servers are also open to friends/family of hackspace members.

Alternatively you can join us on a gaming night that runs every other Saturday, see our events calendar for more details but importantly you’ll need to sign up as a paying member (£6/month) first which can be done on your first visit.

Gaming night isn’t just about Minecraft, members decide on the night what they are going to play in the group, this can be RetroPie and Raspberry Pi games, console games, PC LAN games, board games and much more!.

A Model Lighthouse

Designed and built at the Sheffield Hackspace using an arduino and bits and pieces of things that you might find lying around in your own home…

Here’s the setup:

An arduino (pro mini) for controlling the SG-90 servo motor
An ESP8266 for wifi access and neopixel control
A piece of gutter and downpipe for the main body
A plastic dome sourced from a solar powered garden lamp
An Aldi’s peanut butter jam jar lid (crucial)
Other bits and bobs scrounged from various unwanted poundland items

If you think this is cool wait until you see the boats!

come and join us to build LinoRobot

Hello,

We’ve finished building the prototype of the LinoRobot and have an understanding of how all the software and hardware fit together.

old robot

There was a few issues along the way and ill summarize what we’ve learnt:

  • ROS and the navigation software requires a faster machine than the current VM.  Now we understand more we’re going to build ROS on the direct hardware.
  • The Raspberry PI doesnt have SWAP memory enabled by default and ROS ran out of memory when first starting ROS.  Enable SWAP for initial ROS startup and then disabled it.
  • We cheated the first time by using ubiquityrobotics ROS image the first time and we’ll probably cheat again, it makes setup a lot easier 🙂
  • Don’t use very cheap cheap motors as they don’t give similar results and the robot goes around in circles.  We bought some more expensive motors this time so hopefully they will move when we want them too.

The parts have arrived and we’re now getting started on the second robot.

Raspberry Pi Flatbed Scanner Server

In a recent donation to the hackspace there was a CanonScan FB630U A4 flatbed scanner and I thought that it could be useful to create a shared network scanner for use by the members.

This plan was gainfully assisted by a spare 256MB Raspberry Pi B, 16GB SD card, power supply & PiBow Raspberry Pi case.

Raspberry Pi setup

Start by downloading the newest versions of Rasbian Lite from the Raspberry Pi website.

Flash the Raspbian image onto the SD card using your tool of choice. I’m mostly using Etcher right now as it verifies after flashing.

Finished result

Raspberry Pi and Scanner

Rescue off-screen windows easily (Windows.10 and Linux.Mint)

When a program is moved off the main screen – maybe to a second monitor which is now no longer connected – you need a quick and easy way to move it to the current monitor. This is what I do –

There are several programs running on the extended desktop (on the right hand side monitor).

Without the second monitor all you see is this, and your programs are trapped out of sight.

Running programs are not visible

To see what’s hidden off-screen, hold down ALT and press TAB repeatedly. This cycles through thumbnail images of all windows even if they are off-screen or minimized. Release both keys when you highlight the window you want to rescue.

There are 5 off-screen windows to choose from

When both keys are released, the window is selected but not visible. Hold the WINDOWS (flag) key down and press the LEFT arrow key a few times until the window is visible. Release both keys.

First window is rescued.

When you release the keys, the recovered window will stay where it is, and other windows will be offered for rescue.

On the left are other available windows.

Mouse click on the second window you want to rescue and it will be placed next to the first.

Two windows have now been rescued

Repeat the actions for other off-screen windows, and you’re done.

Note that you can use the WINDOWS key with the arrow keys (up, down, left, right) to park windows to any part of the screen.

Sometimes the off-screen program may be waiting for a user response, so try pressing ESCAPE or ENTER to dismiss it. If all esle fails close the program using Task Manager, then reopen it normally. If it starts off-screen, it should now recover easily.

Compiling and uploading Arduino sketches from within Notepad++

Notepad++ is my favourite editor for Arduino sketches, but it lacks the facility to compile and upload sketches directly to the Arduino boards. The usual procedure would be to save the sketch in Notepad++, switch to the Arduino IDE then compile/upload.

However, there is a plug-in for Notepad++ which enables you to run external commands – this post describes how to set it up for the Arduino IDE.

Install the plugin

First ensure you have the latest version of Notepad++ (currently version 7.6.3) and select the menu item under ‘Plugins Admin…’.

Then select the ‘NppExec’ plugin and click install.

Set up the commands to execute

After it installs, you’ll be able to select ‘Execute…’ from the new sub-menu (or simply press ‘f6’), which will display the ‘Execute…’ dialog box.

The empty ‘Execute…’ dialog box will display.

Enter the following text into the command(s) window, ensuring the path points to your ‘arduino_debug.exe’.

set arduino_path = “C:\Program Files (x86)\Arduino\arduino_debug”
npp_save
inputbox “Enter the COM port of your Arduino (e.g., COM1):”
cmd /c $(arduino_path) –port $(input) –upload $(full_current_path)

Commands are remembered in the Execute window

Pressing ‘OK’ will allow you to enter the COM port (this is shown in the Arduino IDE ‘Tools’ menu).

The COM port number is remembered too.

Press ‘OK’ and the process of compiliation and uploading will begin.

A pane opens in Notepad++ and displays the Arduino compilaition progress

SUMMARY OF HOW TO USE IT

  • Open the Arduino code in Notepad++
  • Edit your code
  • Press f6
  • Press ‘Enter’ twice
  • Watch the results window.

TIPS (for the Arduino IDE)

  • Keep the Arduino IDE open with your sketch.
  • In Arduino IDE select external editor (File -> Preferences -> Settings Use External editor
  • Ensure the serial port monitor is not open.

A wi-fi and touch controlled NeoPixel ring using the Wemos D1 Mini ESP8266 module.

This project describes an easy way to control a strip or ring of WS2812 LEDs via a web page. It was originally based on the Arduino FastLED library.

Although the FastLed library code gives us a great example of how to control NeoPixel rings and strips, it doesn’t provide for user interaction. So it was decided to add the ability to control the device by wi-fi, and also have a touch switch for local control.

Materials required
A Wemos D1 Mini module was used as it consisted of a low-cost ESP8266 wifi chip and antenna, and it can be programmed by the familiar Arduino software. The Wemos module sits in a socket which is soldered to a matrix circuit board. This allows the module to be swapped out if needed, and also makes it easier to connect the touch-switch and neopixel wires.

A touch switch module was chosen rather than a discrete push-switch as it can be hidden behind the acrylic case and should also provide more reliable switching. The 100 x100 x 25mm square case was laser cut from 3mm acrylic, and was designed using the makercase on-line designer. This is the quickest software for making simple boxes. An extra 100mm square piece was cut for the front, with two circular cuts to accommodate the neopixel ring so it can lie flush with the front surface. Later, the touch-switch hole was cut so the sensor sits behind only one thickness of acrylic.

Laser cut acrylic case

The components fitted easily inside the box – it has plenty of room for a battery pack if you wanted to make it totally portable.

The touch switch sits in a rectangular cut-out.
Here is a view before the centre cover is glued on.

Software overview. The project uses websockets so that any web browsers connected can control (and be controlled) by the device. The touch-switch also controls the software and the settings are communicated to all connected browsers via websockets in real time.

User settings are stored in an object, derived from the ‘userDataClass’. This object stores settings for the brightness, colour, active pattern, demo pattern, provides functions for brightness gamma correction, etc.

The touch-switch code decides whether the switch received a tap or long press. A tap changes the pattern and a long press increases/decreases the brightness. Debouncing the switch was achieved by using a 32 bit integer and bit-shifting each switch reading into it. This method has both the advantage of being able to check for a steady switch state, and to discriminate between a short or long press. A future article will explain exactly how this is done.

Here’s a video of it working.

Sheffield Hackspace install Lorawan gateway

Sheffield Hackspace has setup and installed a LoraWAN (The Things Network) gateway.  LoraWAN is a new technology that enables small amounts of data to travel large distances with low power and the best bit of it is….its free!!  This is being used by universities, corporations and hobbyist a like to transmit data such as air quality, traffic, temperature, gps informational ect. from battery (or wire) powered devices that last up to 10 years and more.

lorawan gateway

Come to the Sheffield Hackspace to learn about this new technology and make use of the gateway to prototype your idea.  If you want to make your own gateway and add to the things networks, come and learn how to do that.  See if your area has a gateway installed by clicking the link here.

For our gateway, we used a Raspberry Pi and RAK 831 to receive multiple frequencies at the same time. For some unknown reason the RAK 831 use to switch off occasionally so we’ve added a on/off relay (as can be seen in the photo) to power recycle it automatically/remotely when when it stops responding to the Raspberry PI. Hopefully we’ll find the root cause.

DreamPi and the Dreamcast

Getting the Dreamcast back online

Getting a Dreamcast games console in 2018 is great but there are something that you can do as Sega has stopped supporting it for may a years now. This means that you can’t play some of the great games online. The following article will help you get the Dreamcast back online and playing the awesome games this short lived system has to offer.

Equipment you will need

  • You will need a working Dreamcast with a working 56k modem
  • Raspberry Pi ( A B+ or more is advisable )
  • An SD card with the DreamPi software image – Link
  • A Lunix compatible USB dail-up voice 56k modem
  • Telephone cable RJ11
  • Ethernet cable RJ45 – to go to your router
  • Dreamcast browser software like the Dreamkey 3.0

Equipment for the line inducer

  • 0.47uf capacitor
  • 389 Ohm resistor
  • UK – two 9V battery (18V) : US 9V battery

or

  • A step up power booster module connected via a 5V USB (to the Pi)

Set up the image file

You will need to set up the image file of the DreamPi in order to get things going. I have linked to a guide to install the DreamPi image, you will need to change the file name listed in the link to the DreamPi image file name.

https://www.raspberrypi.org/documentation/installation/installing-images/linux.md

There is an alternative install that you can do via NOOBS. Link below,

https://www.dreamcast-talk.com/forum/viewtopic.php?f=3&t=10851

Setting up the Pi

Once you have successfully flashed the image onto the SD card insert the card into the Pi and connect the Ethernet cable and USB modem ready for the line inducer in the next section. Connecting a monitor is option for normal game play but for initial setup it is good to see it working. You will be able to see if the modem is detected, say with lshw in the terminal. The login information is pi as the user name and raspberry as the password.

Making the line inducer

You will need to cut the phone line wire and solder them on to a PCB board leaving enough room to add in the capacitor and the resistor as displayed in the diagram below figure 1. Make sure that you get the capacitor the right way round in relation to the resistor.

Boost converter for phone line

Boost converter

Figure 1

I used the step up power booster for mine instead of the battery option but I did find that I had to boost the power up more than I expected; approximately 26V in my case to get a stable connection. Have a play around to see if yours will work at a lower voltage. Now in this example I used a USB from the booster converter to the Pi in order to get the power to the phone line, see figure 2 for the pin out when wiring it up to the boost converter.Just make sure that the pins and the wires at the other end match up to what you are expecting so you don’t get any cross wires and fry something; use a multimeter for this.

Pins for USB
Figure 2

Here is my very excellent and well soldered PCB board of the schematic above, figure 3 – 5 shows it made.

Boost converter make photo 1
figure 3

Boost converter - made
figure 4

Boost converter - make 3
figure 5

Now in figure 5 you will see that I have used hot glue to help secure the phone line wires as you will find that they are easily broken.

Now connect this to the Pi and the Dreamcast.

Side note

Now that you my find on some older Pi’s the boost converter makes the Pi unstable. In that case you my have to have an external power source, say a 12v /9v power supply but you will need to adjust the boot converter to make sure that you don’t over load anything.

Turning it all on

As the title says, turn the Pi on. Wait for it all to load and settle down. Your USB modem will most likely have two sets of lights, wait for them both to come on. If they don’t come on after a few minutes this may indicate that you have a problem. This could be an issue with the voltage not been high enough or the inducer on the PCB has a short or bad connection. Test with a multimeter.

Turn the Dreamcast on and follow the next section.

Dreamkey 3 setup

Setting up the Dreamkey is quite easy. In the setup section of the Dreamkey when it asks you for the ISP phone number, set it to 555. The username and password can be what every you want. Pick something easy my is **** and **** (What, you are not suppose to tell anyone your username and password). Everything else is either blank or as default. Make sure you save when prompted so you can get online later. During the connection process you may see one of the lights go off on the modem, if like mine it has two, but it should come on again shortly. If successful you should see a web page load, slowly. If not make sure that you have everything connected and you have an internet connection. Check that there is not breaks in the any of the wires and that the DreamPi software is running and working properly.

Playing an online game

Now here is the fun or more fun part, playing the games. For games like ChuChu rocket it was simple the case of getting the DreamPi turned on and waiting for the green lights. But for some games like Phantasy star online you will need a patch disc to get you going. This is really easy you need to had over to https://sylverant.net/ and download the appropriate version for your game. You only need to use it once (as far as I’m aware) and you should be ready to play.

Trouble shooting

  • Game fails to connect or disconnects nearly staight away.
    • Your line voltage is not high enough
  • Fails to connect at all
    • Your modem is faulty and needs replacing
    • You have forgotten to connect one or more wires
    • There is a break / short circuit in one or more of the wires.
  • The TV is blank
    • Have you turned your TV on?

Sources of information

Here are the links that I used to get the Dreamcast back online.

Instruction on setting up and making the DreamPi

http://blog.kazade.co.uk/p/dreampi.html

Making the line inducer

http://dreamcast.onlineconsoles.com/phpBB2/guides_pcdcwin98.php#10 from about step 10 but step 9 could be useful.

Dreamkey 3.0

https://www.emuparadise.me/Sega_Dreamcast_ISOs/Dreamkey_3_(PAL)/51593

Edit: Emuparadise.me is no longer with us, so here is alternate link but I have not checked the quality of it. Please virus check it before use.

https://romsmode.com/roms/dreamcast/dreamkey-version-3-0-421318

Sylverant Phantasy star online

https://sylverant.net/

A super simple way to copy files from a networked computer

Ok, so you’re wanting to extract files from your Raspberry Pi (or other networked computer) and you can’t be bothered to go find a USB flash drive (don’t feel guilty, I’ve been there too). How about you set up a temporary HTTP file server of the information and access it from any web browser on another computer? Impossible you say? Not quite apparently.

I’ve just found this trick and it is possibly going to become one of my most used methods of file transfer from a Raspberry Pi.

  1. Go to the folder you want to access from another machine in the command line of the Pi…
  2. Now type in the following line…
    python -m SimpleHTTPServer 8080
  3. That’s all you have to do, at least on the pi.
  4. On another computer, go to the following address in any web browser… http://<hostname or IP address of pi>:8080
    For example… http://raspberrypi.local:8080 or http://192.168.1.100:8080
  5. Once you’re done copying you’re files, go back to the Raspberry Pi and type…
    Ctrl+C
  6. Your HTTP Server is now gone, like it wasn’t even there.

Wasn’t that simple? I foresee this as being a stupidly useful tool for copying files in future (particularly copying to an Android or iOS phone). Admittedly it isn’t bi-directional, but that is what SSHFTP is for!

FYI, I have tested this on a Raspberry Pi, Mint Linux desktop and on Windows 10 (with Python installed) and they all work. Windows 10 does require you give Python permission to act as a server (there will be a popup).

Happy making folks, hope the above helped in your projects. Ask a question in the comments below if you haven’t succeeded with this useful trick.