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

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.

The Hunt for J5

Pi Zero J5 Connections

Pi Zero J5 Connections

J5 is alive, and is definitely not called johnny or a robot in a kids sci-fi film. J5 is the mystery connector footprint on the bottom of the Pi Zero. I have been puzzling over what it was intended for since getting my Pi Zero from Pimoroni.  Asking around amongst those who would know more than me about it (Not difficult to find) the hot favourite was a JTAG port but no one was entirely sure and there was no pinout. An extensive google around was surprisingly information free.

Time then for some reverse engineering, first stop was a USB microscope and a look see for obvious pin functions, gotta tackle the low hanging fruit first. Taking pin 1 to be the pin nearest the J5 ID we can see the footprint is for an 8 pin connector and the body or screen is not connected. 1 is the Pi system reset or run pin as it is labeled, 4 and 7 are ground connections. OK that leaves 5 pins to go. I visually traced the connections and lost them in to the maze of CPU via’s. As other than the reset they did not go to the GPIO pins I could rule out an easy hit as to what they were. The up side is if they were JTAG, it would have to be dedicated pins, not GPIO pins, and therefore projects could be debugged even with a phat in place. Hmmm what were those other 5 pins for. Normally at this point I would start on in with a multi meter or a scope and see what I could find out next. But serendipity smiled upon me, in that way it never normally does.

B+ J5 Connections

B+ J5 Connections

Putting some time into a side project (building a Graphite graphing server) I was working with a Raspberry Pi B+. Purely as I tend to mostly use Pi2’s now and was using up any older ones that were lying around. Embedding them irretrievably into other things. Fiddling with the board during one of many mental luls, I noticed the same mystery footprint on the board directly under the HDMI video connector. In fact it is so much the same it is also labelled J5. Cross referencing the ground pin outs that we know from the Pi Zero we get a match. What is more the 5 pins we had not identified are broken out to pogo pin pads bang next to the footprint. All along with nice labels. Combining the data we have then gives us the following table:-

J5 Pin Information
Pin No Pi Zero Function Pi B+ Function Comment
1 Pi System Reset ? Pull low to reset the Pi
2 ? TRST_N TAP Reset pull low to reset the TAP
3 ? TDI Test Data In
4 Gnd Gnd Signal Gnd
5 ? TDO Test Data Out
6 ? TMS Test Mode Select
7 Gnd Gnd Signal Gnd
8 ? TCK Test Clock

Some further technical info on TAP & JTAG can be found here worth a look at to illustrate some of the concepts behind JTAG. OK, all well and good, what is left to do, identify what sort of connector J5 actually is and make up a JTAG lead for it then connect it up and see if we are right.

Mam Tor Kite Aerial Photography

Several members of the group attended Geeks in the Peeks recently (4th-6th September 2015). As part of this on the Saturday, we decided to take my Kite Aerial Photography rig to the top of Mam Tor to see if we could take some photos. I brought along my Raspberry Pi based system (A model A with a camera module, air pressure sensor, USB wifi card (for the web UI preview and start/stop/shutdown buttons) and LiPo battery) which takes images every 7 seconds, on average while airborne.

The wind was nice and smooth and resulted in the Kite flying very stably. This helped produce some very clear and well focused images with little smearing effect (common in gustier winds). See below for some examples…

008

Image 8

022

Image 22

051

Image 51

066

Image 66

067

Image 67

Relative Altitude data for period of use.

Relative Altitude data for period of use.

NB: In the graph above, you can see that towards the end of the flight, the camera appears to be below the starting altitude. This is caused by the kite camera taking the initial reading on altitude (based on air pressure) while it is already some way up above it’s ground level starting point (it takes a little while for the Raspberry Pi to actually boot up to the point it can run the code to control the camera). However, as you can see the highest image was taken at 40m above the start altitude. From the spreadsheet the Pi makes, I can tell you it was image 29.

Image 29, highest in the series.

Image 29, highest in the series.

Kite and camera in flight above Mam Tor

Kite and camera in flight above Mam Tor

From the above you can see the Kite clearly in the sky as well as a brown spec hanging from it, this is the Raspberry Pi kite camera hanging from a Picavet device (this allows the camera platform to always be level while in flight suspended below the kite’s string).

Andy restraining AJ to prevent him being pulled away by kite.

Comedy moments… Andy restrains AJ to prevent him being pulled away by kite.

For more information of Kite Aerial Photography, start with Wikipedia and see how you get on. However, if you have any questions or a desire to see a full & in-depth article on KAP, please leave a message below and I’ll be sure to start work on it. There is also a great YouTube video from the folks at Make Magazine here, this was in fact the original inspiration for me to get into Kite Aerial Photography after I left University.

For more information on Geeks In The Peaks, please see their Twitter & attending.io pages.

Prototype Pi UPS

After advocating for a while that it is worth running up services on Pi Servers one at a time as needed. It occurred to me that we have no UPS to keep them going when the mains electricity drops out. We also have no way to prompt services to shut down in an orderly manor under the same circumstances. This gets to be more critical when we are running infrastructure services like RfID door access and a space automation MQTT broker.

An uninterruptible power supply for the Raspberry Pi

An uninterruptible power supply for the Raspberry Pi

Being as I am also running similar services at home I needed a similar solution for home. Sounds like a call to hack then, first stop was the junk and scrap bins, then a quick rummage through the spare bits left over from Chinese AliExpress shopping trips.

I found an ex UPS maintenance free lead acid battery that had sat in the scrap bin for too many years and a couple of these tiny 3A SMPSU DC-DC switcher modules that are incredibly cheap. The SMPSU modules can cope with up to 28V input and the output voltage is set by a small potentiometer. I also found a scrap laptop PSU that had a decent current delivery at under 24V. All in all the most expensive bits were the screw terminals that you can see from the picture I used to make conections to the board.

Lead Acid batteries have the useful property of being low maintenance and they will take a float charge providing you supply them with a constant voltage at the maunfacturers reccomended value. They will sit there on this float charge for as long as the battery will live. So after a quick rummage on the internet the first switch module was adjusted to provide a constant voltage at the manufacturers reccomended float value of 6.85V for the battery shown. The battery and input to the second switch module were conencted in parralel across the output of the first switcher. The ouput votlage of the second switcher was set to the 5.1V that is best to feed Pi’s with.

That then was the prototype UPS finished. When the supply to the UPS fails the battery takes over and supplys the Pi. When the mains supply comes back on the battery goes straight onto float charge and the Pi is running from the mains. Providing that the battery float voltage is less than the supply voltage and the Pi voltage is less than the battery voltage it all works. At 6V these thresholds are all a little close together and the UPS could do with a 12V battery and then adjusting to charge at that voltage instead. But this does work and the concept is proved.

The next task is to scale this up to run a whole shelf of Pi’s, with a mains high current SMPSU to drive the float voltage and supply the Pi’s, a salvaged car battery for the uninteruptible bit and one of these cheap tiny DC-DC SMPSU’s per Pi. But that is another article for another day.

Retro IBM 12″ VGA monitor (8512) attached to a Raspberry Pi!

Retro IBM monitor with raspeberry pi
One of our members, James Muirhead, managed to get a classic IBM monitor working with his Raspberr pi! He says:

Reasons for doing this…

I’ve had this monitor knocking about in the attic (used for years in the 90s) for years and I’ve wanted to do something like this. It’s taken me a while to get an HDMI to VGA adapter which actually supports 640×480 @ 60Hz.

I was partly doing this for estetic reason (it’s awesomely retro) and partly because it’s an old device I wanted to breath new life into. I always try to reuse before recycling.

Required config.txt changes

hdmi_group=2
hdmi_mode=4
hdmi_drive=2 (if audio supported by VGA adapter).

When it first started I saw nothing but green snow. I thought it wasn’t working so I tried all the different relevent settings. It however turned out that I needed to restart the Pi somehow, whether by bridging the reset pins (this requirtes a Revision 2 Raspberry Pi), or by using sudo reboot from SSH command line (via network).

Future expansion

If I were to make this a perfamant build (I don’t have the desk space or the spare Pi right now).

  • I will likely wire a Solid State Relay to control power to the monitor from a pin on the GPIO (this monitor is way too early for automatic power control).
  • I would also probably create some from of circuit to reset the Raspberry Pi automatically (to avoid green snow). Either using a 555N in monostable mode or a suitably programmed ATtiny45/85.