Kategorie: Linux

  • Aarnio adds force feedback and sensing to chairs

    Aarnio adds force feedback and sensing to chairs

    Reading Time: < 1 minute

    Aarnio adds force feedback and sensing to chairs

    Arduino TeamJanuary 9th, 2020

    Desk chairs are essential tools for the office environment, so why not turn them into a computer input and feedback device? Aarnio, by researchers from several universities, adds this functionality via an Arduino board. It’s able to detect rotation and tilt via an MPU-6050 IMU, and how far it travels along the floor with an optical sensor from a computer mouse.

    User feedback is provided by servo motors that can lock individual casters down. A brake setup is also implemented to inhibit rotation of the central axis and a spring is tightened as needed to modify tilt force. 

    Testing showed about a 90% feedback recognition in users, and applications could include use as a gaming controller or as an assistive device for those with limited mobility of their hands.

    [youtube https://www.youtube.com/watch?v=kFls3r3qJz8?feature=oembed&w=500&h=281]

    You can read more about Aarnio in its research paper here.

    Website: LINK

  • Upgrading a ride-on car to a joystick-controlled assistive device

    Upgrading a ride-on car to a joystick-controlled assistive device

    Reading Time: 2 minutes

    Upgrading a ride-on car to a joystick-controlled assistive device

    Arduino TeamJanuary 9th, 2020

    Child-sized wheelchairs can be difficult to come by, and unfortunately aren’t as much fun as something like a ride-on car. The South Eugene Robotics Team, or FRC2521, decided to address both challenges by building a mini Jeep augmented for kids with limited mobility.

    Instructions found here detail how to modify the battery-powered toy, including what can be recycled and what extra parts will need to be purchased. In the new configuration, the Jeep’s two rear motors are configured for differential control, with the input regulated by an Arduino Nano and a pair of electronic speed controllers (ESCs). 

    In this project, a joystick replaces the original pedal and steering wheel, and it looks like a lot of fun when implemented in the similarly-outfitted firetruck below.

    [youtube https://www.youtube.com/watch?v=y7esOf6DKY8?feature=oembed&w=500&h=281]

    Website: LINK

  • Come to our free educator sessions next to Bett 2020

    Come to our free educator sessions next to Bett 2020

    Reading Time: 4 minutes

    Are you attending Bett Show this year? Then come to our free educator sessions on Friday 24 January right next to Bett to take a break from the hustle and bustle of the show floor and learn something new!

    Our team will be in a private room below the [email protected] pub, next door to Bett, all day on Friday 24 January. We’ll be offering free physical computing sessions for primary and secondary educators during the day. Then from 17:30, you can drop in to chat to us about computing in your classroom, and to connect with like-minded educators.

    A teacher attending a physical computing sessions laughs as she works through an activity

    Our schedule for you on 24 January

    11:00–12:30: Physical computing session for primary teachers (limited spaces, please register to attend)

    12:45–13:30: Panel and Q&A for primary teachers: Code Club and the National Centre of Computing Education (drop in without registering)

    14:30–16:00: Physical computing session for secondary teachers (limited spaces, please register to attend)

    16:15–17:00: Panel and Q&A for secondary teachers: Code Club and the National Centre of Computing Education (drop in without registering)

    17:30–21:00: Informal meet and greet with the Raspberry Pi team for everyone (drop in without registering)

    • Snacks and refreshments will be provided at all the sessions
    • Directions to the [email protected] pub, where you’ll find us, are below
    • You don’t need to have a pass to Bett Show to attend any of our sessions

    What are these physical computing sessions?

    In these free, registration-only, practical sessions (tailored to primary and secondary educators, respectively), we’ll highlight the value of delivering curriculum objectives through physical computing activities.

    You’ll learn about:

    • Setting up a Raspberry Pi computer
    • Controlling LEDs using Scratch, Python, and Raspberry Pi
    • Pedagogical approaches such as pair programming and Parson’s Puzzles

    Women using Raspberry Pi and Trinket

    The sessions are perfect for you if you’d like an introduction to how to bring physical computing to your classroom, because no experience of physical computing is needed.

    Both sessions are free and open to all teachers and educators working with learners in the relevant Key Stages.

    Spaces are limited for both sessions, so make sure you register to reserve your space:

    Find out how to bring more computing opportunities to your school

    Following each of the physical computing sessions, you’ll have the chance to find out how else we can help you bring computing to your school! During a 45-minute panel and Q&A, our team will introduce you all things Code Club and how to set up an engaging coding club in your school, and to the comprehensive, free support we offer you through the National Centre of Computing Education. You’ll also be able to ask us any questions you have about the programmes and resources we offer to you.

    There is no need to register for this ‘panel and Q&A’ part of the day — just drop in when it suits you.

    Network with us and other educators

    Your evening at [email protected], from 17:30 onwards, will be an informal meet and greet with the Raspberry Pi team. Snacks and refreshments will be provided, and you can drop in whenever you like.

    This is your time to chat to us, discover more about the other educational activities we run, and network with other primary and secondary educators who want to encourage children and young adults to get hands-on with computing.

    Code Club

    We hope to see many of you there, and we’re looking forward to chatting with you!

    If you have any questions about this event, or want to find out more, please contact [email protected] and we will get back to you!

    How to find us

    The [email protected] is a pub located in Warehouse K next to the ExCel Center, easily accessed from the footpath between the ExCel West Entrance and Custom House DLR Station.

    Map of where the Fox@ExCel London is

    You will find us in a private area below the main floor of the [email protected]. There should be a sign directing you to the location, and you can also ask the pub staff to point the way.

    From Custom House DLR Station:

    Follow the signs along the footbridge towards the ExCel main entrance, enter the door labelled ‘[email protected]’ on the first building to your right, and head down the stairs.

    From the ExCel West Entrance:

    Turn right out of the main entrance and follow the footbridge towards the ExCel. You will find the entrance to the [email protected] in the second pair of doorways on your left. Enter the building and go down the stairs.

    Website: LINK

  • Scale model Oldsmobile Dynamic 88 wagon handles like the real thing

    Scale model Oldsmobile Dynamic 88 wagon handles like the real thing

    Reading Time: 2 minutes

    Scale model Oldsmobile Dynamic 88 wagon handles like the real thing

    Arduino TeamJanuary 8th, 2020

    Model cars can be fun to use and look at, but when driving one it’s difficult to get the same sort of movement in the suspension as a full-sized vehicle. To enhance his 65cm long 8.5:1 Oldsmobile Dynamic 88, creator Dimitar Tilev turned to an active suspension system controlled by four micro servo motors.

    When maneuvering the little beast, an Arduino board along with an MPU-6050 IMU allow it to raise and lower each wheel individually based on the forces it experiences, giving an amazing approximation of an actual car’s behavior. 

    The build also features a sound effects system to simulate engine noises and exhaust pops, and an attention to detail in the styling that sets it apart as something really special. 

    More info on the project can be found in Tilev’s blog post or see it in action in the videos below! 

    [youtube https://www.youtube.com/watch?v=CTbNVA4aua4?feature=oembed&w=500&h=281]

    [youtube https://www.youtube.com/watch?v=sKRCJOwClXQ?feature=oembed&w=500&h=281]

    Website: LINK

  • Design 3D prints with a Raspberry Pi and BlocksCAD

    Design 3D prints with a Raspberry Pi and BlocksCAD

    Reading Time: 6 minutes

    BlocksCAD is a 3D model editor that you use in a web browser, and it runs on Raspberry Pi. You drag and drop code blocks to design 3D models that can be exported for 3D printing.

    In this project, you will use BlocksCAD to design a 3D pendant. The pendant uses a geometric pattern based on ‘the flower of life’, a design which is often found in historical art.

    The finished pendant with a cord threaded through the small hanging hoop

    If you have access to a 3D printer, then you can print your pendant. The pendant is small and only uses a little bit of filament. There’s a hoop on top of the pendant so that you can put it on a necklace or cord. The pendant has a diameter of 40 mm, plus the hoop for hanging. It is 2 mm thick, so it will 3D-print quite quickly.

    After this project, you’ll also be able to code your own design and create a custom pendant.

    Step 01: create a hoop

    This project can be completed in a web browser using BlocksCAD. Open Chromium and enter the BlocksCAD editor URL: blockscad3d.com/editor.

    The design uses six interlocking hoops in the centre, and a larger hoop around the outside. As mentioned, the pendant is 40 mm wide, plus the hoop for hanging, which is 2 mm thick.

    Click 3D Shapes and drag a cylinder block to the project. Create a cylinder with a radius of 12, and a height of 2 (the unit here is millimetres). Cylinders are automatically centred along the X and Y axes. Select not centered so that the pendant sits on the surface. (This means that the Z-axis value is greater than 0.)

    Click on the Render button after each change to your code to see the results.

    Step 02: add more hoops

    Now, drag a difference block from Set Ops to encase the cylinder. Add another cylinder block in the bottom space, and this time give it a radius of 11 mm. This will remove a smaller cylinder from the centre. This creates a hoop. Click Render again to see it.

    If you like, you can click on the coloured square to change the colour used in the viewer. This does not affect the colour of your pendant, as that depends on the colour of the filament that you use.

    The design uses six intersecting hoops, and each hoop is moved out from the centre and rotated a different number of degrees.

    In the final design, there is no central hoop: the hoops are all moved out from the centre.

    Drag a translate block (from Transforms) around your code, and set X and Y to 5. This moves the first hoop into position.

    Step 03: centre the hoop

    Now the hoop is a little off-centre. You need multiple copies of this hoop, rotated around the centre. First, create three equally spaced hoops.

    Add a count Loops block to create three hoops. To space the hoops, add a rotate Transforms block between the count loop and the translate block.

    In the count block, set the i variable from 1 to 3. You’ll need to insert an arithmetic block from Math and a variable (i) block from Variables into the Z field of the rotate block.

    The rotation moves each hoop by 120 × i degrees, so that the three hoops are distributed equally around the 360 degrees of a circle (360 / 3 = 120). Look at the code and make sure you understand how it works. The finished design has six hoops rather than three. In the count block, set i from 1 to 6, and set the Z rotation to 60, so it creates six equally spaced hoops.

    Step 04: add a border

    Next, add a border around the edge of the design. Create a centred hoop that touches the edges of the design. You can either do the maths to work out what the radius of the circle needs to be, or you can just create a circle and change the radius until it works. Either approach is fine!

    Encase your code with a union block from Set Ops, to join the border to the other hoops. Add a difference block to the plus section of union, and two cylinder blocks to make the hoop.

    The six hoops each have a radius of 12 mm, so the border cylinder that you are making needs to be bigger than that. You could try setting the radius to 24 mm.

    To make a hoop, the radius of the second cylinder in the difference block needs to be 1 mm smaller than the radius of the first cylinder.

    Adjust the size of the cylinders until the border hoop just touches the outer edges of the six inner hoops.

    The radius should be around 20 mm. (As mentioned in the introduction, the finished pendant will be 40 mm in diameter.)

    Step 05: work it out

    You could also use maths to work out the diameter. The diameter of each inner hoop is 24 mm. If the hoops met at the centre of the pendant, the border hoop would need to have a radius of 24 mm. But the inner hoops overlap, as they are translated 5 mm along the X and Y axes.

    This removes a section from the radius. This section is on the arc, 5 mm from the origin, so we need to remove 5 mm from 24 mm. Thus the inner radius of the border hoop should be 19 mm.

    Maths is really useful when you need to be accurate. But it’s fine to just change things until you get the result you need.

    Step 06: add a hanging hoop

    Now, add a small hanging hoop through which you can thread a cord to make a necklace.

    Click the [+] on the union block to add another section to add the new hoop.

    At the moment, the position of the hanging hoop isn’t very visually pleasing.

    Add a rotate block to move the inner hoops so that the hanging hoop is centred over one of the gaps between them.

    Step 07: experiment with shapes

    Experiment and change some values in your pendant. For example, change the number of hoops, or the rotation.

    You could also try to use cuboids (cubes) instead of cylinders to create a pattern.

    Step 08: export to STL

    BlocksCAD 3D can export an STL file for 3D printing. Render your model and then click on Generate STL. Remember where you save the STL file. Now 3D-print your pendant using a filament of the colour of your choice. Very carefully remove the 3D print from the print bed. The pendant is thin, so it’s quite delicate.

    You might need to remove small strands of filament (especially from the hanging hoop) to tidy up the print.

    Thread the pendant on to a chain or cord. If you want to use a thicker cord or necklace, then you can adjust the design to have a larger hanging hoop.

    Check your code

    You can download the full code and check it against your own. You can also check out our projects page, where you’ll find more images and step-by-step instructions for using BlocksCAD.

    This project was created by Dr Tracy Gardner and the above article was featured in this month’s issue of The MagPi magazine. Get your copy of The MagPi magazine issue 89 today from your local newsagent, the Raspberry Pi Store, Cambridge, or online from Raspberry Pi Press.

    Website: LINK

  • Top 10 advanced Raspberry Pi projects

    Top 10 advanced Raspberry Pi projects

    Reading Time: 3 minutes

    A robotic beast

    A serious robot, the DiddyBorg (£220 / $299) is diddy in name only and a true Raspberry Pi automated monster. Program it, remote-control it, or just have it sitting pretty in your workshop. Your choice.

    DiddyBorg is seriously capable robot you can program and control remotely using your Raspberry Pi

    PiGrrl 2

    DIY handheld gaming

    We’ve covered this project in a previous issue of The MagPi, but this project deserves mentioning again: with some 3D-printed parts, and some ingenious Adafruit PCB parts, you too can make a handheld console (£56 / $60).

    PiGRRL 2: Make your own handheld games console with a case and parts you print yourself

    Retro-cool at home

    This big build by Bob Clagett is incredibly thorough, and shows you how to build a wooden arcade cabinet from scratch, complete with lights and cool art.

    Bob Clagett talks you through making a full-size arcade machine. How retro-cool is that!

    Pinball table

    High score mania

    If an arcade machine is a bit too new for you, how about something a bit more classic and physical like a pinball table? This one repurposes an old bed.

    Turn an old bed into a Raspberry Pi-controlled pinball table. Genius!

    Raspberry Pi classic

    This kind of project is a classic among the community, especially as the mirror software part is so easily done. Building a frame is quite fun and a great first-time carpentry project.

    Turn your Raspberry Pi display into a magic mirror and learn carpentry skills along the way

    Take Raspberry Pi anywhere

    This tiny laptop project allows you to bring your Raspberry Pi with you wherever you want to go, and do some work while you’re there.

    By turning your Raspberry Pi into a tiny laptop you can take it out and aboutou

    Home assistant

    Voice-controlled computer

    A number of big voice services are available on Raspberry Pi. Alexa is one of the easiest to get onto Raspberry Pi, thanks to the excellent AlexaPi software.

    Scan your friends

    This big project is great for showing off at your local Raspberry Jam or maker event. It takes a lot of Raspberry Pi boards and cameras to create the project, but it does capture impressive 3D scans.

    A 3D scanner like you've never seen before, this one makes a great display piece

    3D printer controller

    Futuristic plastic printing

    Have a new 3D printer? How about interfacing it with Raspberry Pi using the amazing OctoPrint? It’s especially helpful if you think of something cool to print while on the go.

    Octoprint adds 3D printing to your Raspberry Pi and offers a web interface for on-the-move updates

    Smart CCTV system

    Recognise your visitors

    CCTV cameras with Raspberry Pi are not too difficult to put together. We like this project as it uses computer vision and face detection to recognise known people as well.

    Face detection and CCTV functions make this a smart security setup

    Learn to program

    Got the tools and the skills to raise a barn and then some, but lacking the ability to print ‘Hello World’? Take a look at our books on controlling electronics with Python and GPIO Zero and learning C.

  • How to set up OctoPrint on your Raspberry Pi

    How to set up OctoPrint on your Raspberry Pi

    Reading Time: 8 minutes

    If you own a 3D printer, you’ll likely have at least heard of OctoPrint from the ever benevolent 3D printing online community. It has the potential to transform your 3D printing workflow for the better, and it’s very easy to set up. This guide will take you through the setup process step by step, and give you some handy tips along the way.

    Octoprint

    Before we start finding out how to install OctoPrint, let’s look at why you might want to. OctoPrint is a piece of open-source software that allows us to add WiFi functionality to any 3D printer with a USB port (which is pretty much all of them). More specifically, you’ll be able to drop files from your computer onto your printer, start/stop prints, monitor your printer via a live video feed, control the motors, control the temperature, and more, all from your web browser. Of course, with great power comes great responsibility — 3D printers have parts that are hot enough to cause fires, so make sure you have a safe setup, which may include not letting it run unsupervised.

    OctoPrint ingredients

    • Raspberry Pi 3 (or newer)
    MicroSD card
    • Raspberry Pi power adapter
    • USB cable (the connector type will depend on your printer)
    • Webcam/Raspberry Pi Camera Module (optional)
    • 3D-printed camera mount (optional)

    Before we get started, it is not recommended that anything less than a Raspberry Pi 3 is used for this project. There have been reports of limited success using OctoPrint on a Raspberry Pi Zero W, but only if you have no intention of using a camera to monitor your prints. If you want to try this with a Pi Zero or an older Raspberry Pi, you may experience unexpected print failures.

    Download OctoPi

    Firstly, you will need to download the latest version of OctoPi from the OctoPrint website. OctoPi is a Raspbian distribution that comes with OctoPrint, video streaming software, and CuraEngine for slicing models on your Raspberry Pi. When this has finished downloading, unzip the file and put the resulting IMG file somewhere handy.

    Next, we need to flash this image onto our microSD card. We recommend using Etcher to do this, due to its minimal UI and ease of use; plus it’s also available to use on both Windows and Mac. Get it here: balena.io/etcher. When Etcher is installed and running, you’ll see the UI displayed. Simply click the Select Image button and find the IMG file you unzipped earlier. Next, put your microSD card into your computer and select it in the middle column of the Etcher interface.

    Finally, click on Flash!, and while the image is being burned onto the card, get your WiFi router details, as you’ll need them for the next step.

    Now that you have your operating system, you’ll want to add your WiFi details so that the Raspberry Pi can automatically connect to your network after it’s booted. To do this, remove the microSD card from your computer (Etcher will have ‘ejected’ the card after it has finished burning the image onto it) and then plug it back in again. Navigate to the microSD card on your computer — it should now be called boot — and open the file called octopi-wpa-supplicant.txt. Editing this file using WordPad or TextEdit can cause formatting issues; we recommend using Notepad++ to update this file, but there are instructions within the file itself to mitigate formatting issues if you do choose to use another text editor. Find the section that begins ## WPA/WPA2 secured and remove the hash signs from the four lines below this one to uncomment them. Finally, replace the SSID value and the PSK value with the name and password for your WiFi network, respectively (keeping the quotation marks). See the example below for how this should look.

    Further down in the file, there is a section for what country you are in. If you are using OctoPrint in the UK, leave this as is (by default, the UK is selected). However, if you wish to change this, simply comment the UK line again by adding a # before it, and uncomment whichever country you are setting up OctoPrint in. The example below shows how the file will look if you are setting this up for use in the US:

    # Uncomment the country your Pi is in to activate Wifi in RaspberryPi 3 B+ and above # For full list see: https://en.wikipedia.org/ wiki/ISO_3166-1_alpha-2 #country=GB # United Kingdom #country=CA # Canada #country=DE # Germany #country=FR # France country=US # United States

    When the changes have been made, save the file and then eject/unmount and remove the microSD card from your computer and put it into your Raspberry Pi. Plug the power supply in, and go and make a cup of tea while it boots up for the first time (this may take around ten minutes). Make sure the Raspberry Pi is running as expected (i.e. check that the green status LED is flashing intermittently). If you’re using macOS, visit octopi.local in your browser of choice. If you’re using Windows, you can find OctoPrint by clicking on the Network tab in the sidebar. It should be called OctoPrint instance on octopi – double-clicking on this will open the OctoPrint dashboard in your browser.

    If you see the screen shown above, then congratulations! You have set up OctoPrint.

    Not seeing that OctoPrint splash screen? Fear not, you are not the first. While a full list of issues is beyond the scope of this article, common issues include: double-checking your WiFi details are entered correctly in the octopi-wpa-supplicant.txt file, ensuring your Raspberry Pi is working correctly (plug the Raspberry Pi into a monitor and watch what happens during boot), or your Raspberry Pi may be out of range of your WiFi router. There’s a detailed list of troubleshooting suggestions on the OctoPrint website.

    Printing with OctoPrint

    We now have the opportunity to set up OctoPrint for our printer using the handy wizard. Most of this is very straightforward — setting up a password, signing up to send anonymous usage stats, etc. — but there are a few sections which require a little more thought.

    We recommend enabling the connectivity check and the plug-ins blacklist to help keep things nice and stable. If you plan on using OctoPrint as your slicer as well as a monitoring tool, then you can use this step to import a Cura profile. However, we recommend skipping this step as it’s much quicker (and you can use a slicer of your choice) to slice the model on your computer, and then send the finished G-code over.

    Finally, we need to put in our printer details. Above, we’ve included some of the specs of the Creality Ender-3 as an example. If you can’t find the exact details of your printer, a quick web search should show what you need for this section.

    The General tab can have anything in it, it’s just an identifier for your own use. Print bed & build volume should be easy to find out — if not, you can measure your print bed and find out the position of the origin by looking at your Cura printer profile. Leave Axes as default; for the Hotend and extruder section, defaults are almost certainly fine here (unless you’ve changed your nozzle; 0.4 is the default diameter for most consumer printers).

    OctoPrint is better with a camera

    Now that you’re set up with OctoPrint, you’re ready to start printing. Turn off your Raspberry Pi, then plug it into your 3D printer. After it has booted up, open OctoPrint again in your browser and take your newly WiFi-enabled printer for a spin by clicking the Connect button. After it has connected, you’ll be able to set the hot end and bed temperature, then watch as the real-time readings are updated.

    In the Control tab, we can see the camera stream (if you’re using one) and the motor controls, as well as commands to home the axes. There’s a G-code file viewer to look through a cross-section of the currently loaded model, and a terminal to send custom G-code commands to your printer. The last tab is for making time-lapses; however, there is a plug-in available to help with this process.

    Undoubtedly the easiest way to set up video monitoring of your prints is to use the official Raspberry Pi Camera Module. There are dozens of awesome mounts on Thingiverse for a Raspberry Pi Camera Module, to allow you to get the best angle of your models as they print. There are also some awesome OctoPrint-themed Raspberry Pi cases to house your new printer brains. While it isn’t officially supported by OctoPrint, you can use a USB webcam instead if you have one handy, or just want some very high-quality video streams. The OctoPrint wiki has a crowdsourced list of webcams known to work, as well as a link for the extra steps needed to get the webcam working correctly.

    As mentioned earlier, our recommended way of printing a model using OctoPrint is to first use your slicer as you would if you were creating a file to save to a microSD card. Once you have the file, save it somewhere handy on your computer, and open the OctoPrint interface. In the bottom left of the screen, you will see the Upload File button — click this and upload the G-code you wish to print.

    You’ll see the file/print details appear, including information on how long it’ll take for the object to print. Before you kick things off, check out the G-code Viewer tab on the right. You can not only scroll through the layers of the object, but, using the slider at the bottom, you can see the exact pattern the 3D printer will use to ‘draw’ each layer. Now click Print and watch your printer jump into action!

    OctoPrint has scores of community-created plug-ins, but our favourite, Octolapse, makes beautiful hypnotic time-lapses. What makes them so special is that the plug-in alters the G-code of whatever object you are printing so that once each layer has finished, the extruder moves away from the print to let the camera take an unobstructed shot of the model. The result is an object that seems to grow out of the build plate as if by magic. You’ll not find a finer example of it than here.

    Satisfying 3D Prints TimeLapse episode 7 (Prusa I3 Mk3 octopi)

    3D Printing timelapses of models printed on the Prusa i3 MK3! Here’s another compilation of my recent timelapses. I got some shots that i think came out really great and i hope you enjoy them! as always if you want to see some of these timelapses before they come out or want to catch some behind the scenes action check out my instagram!

    Thanks to Glenn and HackSpace magazine

    This tutorial comes fresh from the pages of HackSpace magazine issue 26 and was written by Glenn Horan. Thanks, Glenn.

    To get your copy of HackSpace magazine issue 26, visit your local newsagent, the Raspberry Pi Store, Cambridge, or the Raspberry Pi Press online store.

    Fans of HackSpace magazine will also score themselves a rather delightful Adafruit Circuit Playground Express with a 12-month subscription. Sweet!

    Website: LINK

  • Add internet access to a vintage computer using Raspberry Pi

    Add internet access to a vintage computer using Raspberry Pi

    Reading Time: 7 minutes

    The bulletin boards of the 1980s haven’t died out quite yet, but they have gone online. There’s only a handful of BBSes (bulletin board systems) that you can dial up with your old-time modem.

    If you like the idea of accessing an internet-based BBS from your Atari ST, Amiga, or BBC Micro, then we can use a Raspberry Pi computer to act as a translator. You can even use modern services like Twitter! All we need to do is get Raspberry Pi talking in one of the most popular communications protocols of all time: RS232.

    By interfacing the Raspberry Pi computer UART interface to RS232 and then using WiFi, we bridge the gap between old and new technology

    A little history

    Every Raspberry Pi computer has a form of serial access, which is one of the oldest and simplest ways of communicating with computers. These days you’re more likely to use TCP/IP, the protocol of the internet, to chat to a remote device, but back in the day it was RS232 that ruled the communications world.

    Raspberry Pi circuitry features a further simplified version often referred to UART (universal asynchronous receiver/transmitter) running at 3.3 V, but we can adapt it to ‘full’ RS232 at 12 V so that older computers can handle the signal.

    Cheat #1: If you don’t fancy soldering, you can buy these pre-assembled units (for a few pounds) that can connect to the GPIO

    You’ll need

    Top tip 1: Not just vintage

    This project works well with older PCs. Although they refer to them as COM ports, their 9-pin connectors are really RS232.

    Top tip 2: Be careful of weird wiring

    Do your research on your choice of classic machine. Some, such as the Cambridge Z88, use non-standard wiring to their connectors.

    Study and shop

    To ‘downgrade’ a Raspberry Pi to RS232, we’ll need to build a small circuit to act as a transceiver so the vintage computer can ‘hear’ our virtual modem and the RS232 signals do not fry our delicate Raspberry Pi board. Luckily, all the heavy lifting for such a job can be done by the MAX3232CPC integrated circuit. All you need to do is wire it up, add a few capacitors, and you’ll be BBSing in no time.

    Have a look at the circuit diagram in Figure 1. We’ve deliberately made it larger than it needs to be for simplicity. More experienced makers will be able to reduce it in size if they wish.

    Figure 1: the connector from the solder (rear) side. Use DuPont-style jumper cables to connect the circuit to your GPIO. Make sure you wire up correctly to pins 2 and 3 and ground it

    Soldering the main circuit

    Time to get building. Thankfully, the circuit itself is not very complicated, but it’s also unforgiving, so make sure all the wiring is in the correct place or nothing will work! We recommend starting with the IC socket, then the wiring, followed by the capacitors, finishing with the headers (optional if you’d like to use jumper cables). The result takes the two transmit (TX) and receive (RX) lines from the GPIO and feeds them into the IC. The MAX3232CPC converts the data into RS232 standard and outputs them to the 9-pin D connector and vice versa. Check and double-check everything.

    Add connectors

    Unless you’re going for a permanent setup or looking to make it as low-profile as possible, we recommend using DuPont-style jumper cables to connect the circuit to your GPIO. Which model of Raspberry Pi you use is up to you, but unless you have a specific use case in mind, a Raspberry Pi Zero W is the perfect choice as it’s small and there’s little horsepower required. You will also need to solder up the 9-pin D connector. The diagram (Figure 1) shows the connector from the solder (rear) side. Make sure you wire up correctly to pins 2 and 3 and ground it too.

    Raspberry Pi time

    Your Raspberry Pi Zero W will need a bit of configuration before you can get going. Start with a fresh microSD card with Raspbian Lite (we don’t need a desktop, but feel free to install ‘full’ Raspbian if you wish). This is also a great project for reusing any old low-capacity microSD cards you have, as there’s not much software to install. Once booted up, make sure everything is up to date by running sudo apt -y update && sudo apt -y upgrade. Time to grab a refreshing beverage as Raspbian applies all the latest updates.

    Prepare your virtual modem

    An ‘out of the box’ Raspbian installation isn’t quite ready to go back to the 1980s just yet, so we need to do a little further configuration. From the command line, run sudo raspi-config to start the Raspberry Pi configuration utility. From the top of the menu, start by changing your password (optional, but recommended); then, under Network Options, set your host name (again, optional) and configure WiFi. Finally, under Interfacing Options, enable SSH and Serial. When asked ‘Would you like a login shell’, select ‘Yes’. Now exit the utility and shut down the computer (sudo shutdown).

    Cheat #2: The simplest solution of all is the widely available USB-to-RS232 cables based on the Prolific PL2303 chipset

    Testing time

    Check your circuit board for any short circuits or dry solder joints. Once happy, connect it to the GPIO. There are four connection points: one for 3.3 V (physical pin 1), ground (pin 9), and TX/RX (pins 8 and 10 respectively). We recommend getting an RS232/USB cable and testing with a modern computer first. Connect the 9-pin connectors together and boot your Raspberry Pi. Now, using your favourite Terminal emulator program (we like Serial for macOS), try to connect over RS232. Raspbian’s default settings are 115,200bps (connection speed), eight data bits, no parity, one stop bit (aka 8N1).

    Troubleshooting

    Having problems? RS232 can be a tricky beast as, unless everything is perfect, nothing will work at all. The most common issue will be polarity of the TX and RX lines. For things to work, the RX of the GPIO must be connected via the MAX3232CPC to the TX line of the computer and vice versa.

    Start by checking that your speed is correct and the protocol is set for 8N1. Also try ‘reset’ or ‘send break’ in your terminal emulator, which is sometimes needed to wake up the connection. Finally, try using a null modem cable (which crosses over the lines) or swapping the connectors to pins 8 and 10.

    Get online

    If everything is working, you should now be greeted with the Raspbian terminal login (you might need to press ENTER a couple of times to wake it up). You can now log in as normal. If the connection is behaving, feel free to try it out on a real vintage machine. Some may require adapters to connect (1990s home computers favoured 25-pin D connectors).

    You will probably need to reduce the speed of the connection, as many older computers cannot handle the default 115,200bps. Unless your computer is very old, 9,600bps will probably work. To set the port to this, enter the following from an SSH session:

    sudo stty -F /dev/serial0 9600

    Connect to a BBS

    Almost every BBS is now online and ‚talks‘ using a protocol called Telnet. It is very insecure, sending plain text over the internet and has since been replaced with SSH (Secure Shell). However, many of these services are being run on original equipment that has no support for SSH, so Telnet it is.

    Many classic BBSes are still online, some even supporting PSTN modems. These days, most can be found at the end of an IP address

    The Telnet client software is not installed by default, so run sudo apt install telnet. Once finished, try connecting to the popular Particles BBS (running on an Apple II/e!), by entering:

    telnet particlesbbs.dyndns.org 6400

    Within a few seconds you’ll see a welcome message. After you’ve had a look around, use CTRL+] followed by ‘exit’ to leave Telnet.

    Emulate a classic modem

    If you want a genuine experience, and full compatibility with vintage BBS software, it’s easy to emulate the classic Hayes AT command-set. To install the emulator:

    sudo apt install tcpser

    Before running tcpser, go back into raspi-config, select ‘Interfacing Options’, then ‘Serial’, and answer ‘No’ when asked if you want a login shell to be accessible and then ‘Yes’ if you want the serial port to be enabled. Now start tcpser using SSH:

    tcpser /dev/serial0 -s 9600 -l 7

    (You can change 9600 to be your desired speed).

    Try connecting over serial again and this time you’ll be able to enter AT commands, replacing phone numbers with domain names.

    Polarity is the most common problem encountered when working with RS232. Remember that TX (transmit) goes to RX (receive) and vice versa

    Do more!

    Your original ‘comms’ software should be blissfully unaware that it is talking over the internet. There’s now another web of vintage BBSes to explore on your original machine, but why stop there? The Raspbian repositories are full of command-line software that can be accessed by your classic machine. Tweeting from an old 8-bit is always fun, so why not install ‘t’, a command-line Twitter client (github.com/sferik/t)?

    Of course, you can now do anything in the Raspbian shell that you can in an SSH session, so get your BBC Model B to operate LEDs and switches, or have your Commodore Amiga send Telegram messages!

  • Add internet access to a vintage computer using Raspberry Pi

    Add internet access to a vintage computer using Raspberry Pi

    Reading Time: 7 minutes

    The bulletin boards of the 1980s haven’t died out quite yet, but they have gone online. There’s only a handful of BBSes (bulletin board systems) that you can dial up with your old-time modem.

    If you like the idea of accessing an internet-based BBS from your Atari ST, Amiga, or BBC Micro, then we can use a Raspberry Pi computer to act as a translator. You can even use modern services like Twitter! All we need to do is get Raspberry Pi talking in one of the most popular communications protocols of all time: RS232.

    By interfacing the Raspberry Pi computer UART interface to RS232 and then using WiFi, we bridge the gap between old and new technology

    A little history

    Every Raspberry Pi computer has a form of serial access, which is one of the oldest and simplest ways of communicating with computers. These days you’re more likely to use TCP/IP, the protocol of the internet, to chat to a remote device, but back in the day it was RS232 that ruled the communications world.

    Raspberry Pi circuitry features a further simplified version often referred to UART (universal asynchronous receiver/transmitter) running at 3.3 V, but we can adapt it to ‘full’ RS232 at 12 V so that older computers can handle the signal.

    Cheat #1: If you don’t fancy soldering, you can buy these pre-assembled units (for a few pounds) that can connect to the GPIO

    You’ll need

    Top tip 1: Not just vintage

    This project works well with older PCs. Although they refer to them as COM ports, their 9-pin connectors are really RS232.

    Top tip 2: Be careful of weird wiring

    Do your research on your choice of classic machine. Some, such as the Cambridge Z88, use non-standard wiring to their connectors.

    Study and shop

    To ‘downgrade’ a Raspberry Pi to RS232, we’ll need to build a small circuit to act as a transceiver so the vintage computer can ‘hear’ our virtual modem and the RS232 signals do not fry our delicate Raspberry Pi board. Luckily, all the heavy lifting for such a job can be done by the MAX3232CPC integrated circuit. All you need to do is wire it up, add a few capacitors, and you’ll be BBSing in no time.

    Have a look at the circuit diagram in Figure 1. We’ve deliberately made it larger than it needs to be for simplicity. More experienced makers will be able to reduce it in size if they wish.

    Figure 1: the connector from the solder (rear) side. Use DuPont-style jumper cables to connect the circuit to your GPIO. Make sure you wire up correctly to pins 2 and 3 and ground it

    Soldering the main circuit

    Time to get building. Thankfully, the circuit itself is not very complicated, but it’s also unforgiving, so make sure all the wiring is in the correct place or nothing will work! We recommend starting with the IC socket, then the wiring, followed by the capacitors, finishing with the headers (optional if you’d like to use jumper cables). The result takes the two transmit (TX) and receive (RX) lines from the GPIO and feeds them into the IC. The MAX3232CPC converts the data into RS232 standard and outputs them to the 9-pin D connector and vice versa. Check and double-check everything.

    Add connectors

    Unless you’re going for a permanent setup or looking to make it as low-profile as possible, we recommend using DuPont-style jumper cables to connect the circuit to your GPIO. Which model of Raspberry Pi you use is up to you, but unless you have a specific use case in mind, a Raspberry Pi Zero W is the perfect choice as it’s small and there’s little horsepower required. You will also need to solder up the 9-pin D connector. The diagram (Figure 1) shows the connector from the solder (rear) side. Make sure you wire up correctly to pins 2 and 3 and ground it too.

    Raspberry Pi time

    Your Raspberry Pi Zero W will need a bit of configuration before you can get going. Start with a fresh microSD card with Raspbian Lite (we don’t need a desktop, but feel free to install ‘full’ Raspbian if you wish). This is also a great project for reusing any old low-capacity microSD cards you have, as there’s not much software to install. Once booted up, make sure everything is up to date by running sudo apt -y update && sudo apt -y upgrade. Time to grab a refreshing beverage as Raspbian applies all the latest updates.

    Prepare your virtual modem

    An ‘out of the box’ Raspbian installation isn’t quite ready to go back to the 1980s just yet, so we need to do a little further configuration. From the command line, run sudo raspi-config to start the Raspberry Pi configuration utility. From the top of the menu, start by changing your password (optional, but recommended); then, under Network Options, set your host name (again, optional) and configure WiFi. Finally, under Interfacing Options, enable SSH and Serial. When asked ‘Would you like a login shell’, select ‘Yes’. Now exit the utility and shut down the computer (sudo shutdown).

    Cheat #2: The simplest solution of all is the widely available USB-to-RS232 cables based on the Prolific PL2303 chipset

    Testing time

    Check your circuit board for any short circuits or dry solder joints. Once happy, connect it to the GPIO. There are four connection points: one for 3.3 V (physical pin 1), ground (pin 9), and TX/RX (pins 8 and 10 respectively). We recommend getting an RS232/USB cable and testing with a modern computer first. Connect the 9-pin connectors together and boot your Raspberry Pi. Now, using your favourite Terminal emulator program (we like Serial for macOS), try to connect over RS232. Raspbian’s default settings are 115,200bps (connection speed), eight data bits, no parity, one stop bit (aka 8N1).

    Troubleshooting

    Having problems? RS232 can be a tricky beast as, unless everything is perfect, nothing will work at all. The most common issue will be polarity of the TX and RX lines. For things to work, the RX of the GPIO must be connected via the MAX3232CPC to the TX line of the computer and vice versa.

    Start by checking that your speed is correct and the protocol is set for 8N1. Also try ‘reset’ or ‘send break’ in your terminal emulator, which is sometimes needed to wake up the connection. Finally, try using a null modem cable (which crosses over the lines) or swapping the connectors to pins 8 and 10.

    Get online

    If everything is working, you should now be greeted with the Raspbian terminal login (you might need to press ENTER a couple of times to wake it up). You can now log in as normal. If the connection is behaving, feel free to try it out on a real vintage machine. Some may require adapters to connect (1990s home computers favoured 25-pin D connectors).

    You will probably need to reduce the speed of the connection, as many older computers cannot handle the default 115,200bps. Unless your computer is very old, 9,600bps will probably work. To set the port to this, enter the following from an SSH session:

    sudo stty -F /dev/serial0 9600

    Connect to a BBS

    Almost every BBS is now online and ‚talks‘ using a protocol called Telnet. It is very insecure, sending plain text over the internet and has since been replaced with SSH (Secure Shell). However, many of these services are being run on original equipment that has no support for SSH, so Telnet it is.

    Many classic BBSes are still online, some even supporting PSTN modems. These days, most can be found at the end of an IP address

    The Telnet client software is not installed by default, so run sudo apt install telnet. Once finished, try connecting to the popular Particles BBS (running on an Apple II/e!), by entering:

    telnet particlesbbs.dyndns.org 6400

    Within a few seconds you’ll see a welcome message. After you’ve had a look around, use CTRL+] followed by ‘exit’ to leave Telnet.

    Emulate a classic modem

    If you want a genuine experience, and full compatibility with vintage BBS software, it’s easy to emulate the classic Hayes AT command-set. To install the emulator:

    sudo apt install tcpser

    Before running tcpser, go back into raspi-config, select ‘Interfacing Options’, then ‘Serial’, and answer ‘No’ when asked if you want a login shell to be accessible and then ‘Yes’ if you want the serial port to be enabled. Now start tcpser using SSH:

    tcpser /dev/serial0 -s 9600 -l 7

    (You can change 9600 to be your desired speed).

    Try connecting over serial again and this time you’ll be able to enter AT commands, replacing phone numbers with domain names.

    Polarity is the most common problem encountered when working with RS232. Remember that TX (transmit) goes to RX (receive) and vice versa

    Do more!

    Your original ‘comms’ software should be blissfully unaware that it is talking over the internet. There’s now another web of vintage BBSes to explore on your original machine, but why stop there? The Raspbian repositories are full of command-line software that can be accessed by your classic machine. Tweeting from an old 8-bit is always fun, so why not install ‘t’, a command-line Twitter client (github.com/sferik/t)?

    Of course, you can now do anything in the Raspbian shell that you can in an SSH session, so get your BBC Model B to operate LEDs and switches, or have your Commodore Amiga send Telegram messages!

  • Arduino goes PRO at CES 2020

    Arduino goes PRO at CES 2020

    Reading Time: 2 minutes

    Arduino goes PRO at CES 2020

    Arduino TeamJanuary 7th, 2020

    We’re kicking off this year’s CES with some big news.

    Millions of users and thousands of companies across the world already use Arduino as an innovation platform, which is why we have drawn on this experience to enable enterprises to quickly and securely connect remote sensors to business logic within one simple IoT application development platform: a new solution for professionals in traditional sectors aspiring for digital transformation through IoT. 

    Combining a low-code application development platform with modular hardware makes tangible results possible in just one day. This means companies can build, measure, and iterate without expensive consultants or lengthy integration projects.

    Built on Arm Pelion technology, the latest generation of Arduino solutions brings users simplicity of integration and a scalable, secure, professionally supported service. 

    “By combining the power and flexibility of our production ready IoT hardware with our secure, scalable and easy to integrate cloud services, we are putting in the hands of our customers something really disruptive,” commented Arduino CEO Fabio Violante. “Among the millions of Arduino customers, we’ve even seen numerous businesses transform from traditional ‘one off’ selling to subscription-based service models, creating new IoT-based revenue streams with Arduino as the enabler. The availability of a huge community of developers with Arduino skills is also an important plus and gives them the confidence to invest in our technology”.  

    But that’s not all. At CES 2020, we are also excited to announce the powerful new Arduino Portenta family. Designed for demanding industrial applications, AI edge processing and robotics, it features a new standard for open high-density interconnect to support advanced peripherals. The first member of the family is the Arduino Portenta H7 module – a dual-core Arm Cortex-M7 and Cortex-M4 operating at 480MHz and 240MHz, respectively, with industrial temperature-range (-40 to 85°C) components. The Portenta H7 is capable of running Arduino code, Python and JavaScript, making it accessible to an even broader audience of developers.

    The new Arduino Portenta H7 is now available for pre-order on the Arduino online store, with an estimated delivery date of late February 2020.

    Website: LINK

  • Adaptive Field Robot changes wheel shape to overcome various terrain

    Adaptive Field Robot changes wheel shape to overcome various terrain

    Reading Time: 2 minutes

    Adaptive Field Robot changes wheel shape to overcome various terrain

    Arduino TeamJanuary 6th, 2020

    If your robotic vehicle will only work on smooth surfaces, the choice of a wheel is obvious. For more rugged bots, the same applies with knobby wheels. For those that need to operate in both environments, however, the Adaptive Field Robot presents a new solution in the form of wheels that actually change dynamically depending on the terrain.

    This Arduino-powered robot is able to transform its two driving wheels from a nearly circular shape into a claw-like arrangement using secondary motors that rotate along with the wheel assembly.

    When the bot detects an obstacle in its path via an ultrasonic sensor, the motors springs into action, activating a rack-and-pinion system that expands the two halves of the wheel into “claw mode.” 

    Be sure to check out this innovative robot in the video below, including some trial-and-error during the development process.

    [youtube https://www.youtube.com/watch?v=d-3zAQj66tE?feature=oembed&w=500&h=281]

    Website: LINK

  • Hundreds of LED triangles combine for brilliant interactive display

    Hundreds of LED triangles combine for brilliant interactive display

    Reading Time: 2 minutes

    Hundreds of LED triangles combine for brilliant interactive display

    Arduino TeamJanuary 6th, 2020

    If you need another idea for how to creatively diffuse LED lighting, then look no further than the “Light Me Up!” project by Hyewon Shin, Eunjeong Ko, and Junsung Yi. 

    Their setup uses 312 3D-printed and laser-cut light triangles, each of which contains a trio of RGB LEDs. Users select the desired light by pressing the triangles themselves, via buttons concealed beneath the main assembly. Several Arduino boards are used to control the massive structure.

    With such an involved triangular display, a number of interesting 3D-like shapes and even words can be created by users. Alternatively, smaller triangle arrangements can also be constructed using the same build concepts. 

    This project has several triangles that form a hexagonal shape. So you can create stereoscopic patterns according to how you design light! Just press each piece and various colors will be gradated, and when the color you want comes out, just hit the hand you pressed and it will continue to shine beautifully with the color you wanted!

    Check out its triangular luminescence in the videos below!

    [youtube https://www.youtube.com/watch?v=ZVxkHbfOONY?feature=oembed&w=500&h=281]

    [youtube https://www.youtube.com/watch?v=xwadp2LTiOc?feature=oembed&w=500&h=281]

    Website: LINK

  • What makes a mechanical keyboard ‘clicky’?

    What makes a mechanical keyboard ‘clicky’?

    Reading Time: 2 minutes

    In our latest video for the newly rebranded Raspberry Pi Press YouTube channel, Custom PC’s Edward Chester explains what mechanical keyboards are, and why they’re so clicky.

    How do mechanical keyboards work?

    So, what makes a mechanical keyboard ‘mechanical’? And why are some mechanical keyboards more ‘clicky’ than others? Custom PC’s Edward Chester explains all. Check out our Elite List of mechanical keyboards: https://rpf.io/elite-list-mechanical-keyboard Subscribe to our channel: https://rpf.iopressytsub Visit the Custom PC magazine website: https://rpf.io/ytcustompc Our magazines and books: https://rpf.io/ytpress Raspberry Pi Press is the publishing imprint of Raspberry Pi Trading Ltd., a subsidiary of The Raspberry Pi Foundation.

    Custom PC is one of the many magazines produced by Raspberry Pi Press, the publishing imprint of Raspberry Pi Trading Ltd; it does exactly what it says on the tin cover: provide everything you need to know about the ins and outs of custom PC building and all the processes that make the topic so fascinating.

    Be sure to subscribe to the Raspberry Pi Press YouTube channel, because we’ll be offering more videos from Custom PC, alongside content from The MagPi magazine, HackSpace magazine, Wireframe, and our future standalone book publications, such as The Official Raspberry Pi Beginner’s Guide and An Introduction to C & GUI Programming (the latter of which is currently on sale with free worldwide shipping!), on that channel very soon.

    Website: LINK

  • Andrew Suttle interview

    Andrew Suttle interview

    Reading Time: 3 minutes

    “My first Raspberry Jam was CamJam in autumn 2013, when I showed some programs I had written,” Andrew tells us. “I also enjoy developing robots and doing electronics. I first went to the Colchester club run by John Woods in 2016, when I built a robot car using a Raspberry Pi. The Colchester club is run at the university and I like going there very much. The lab we use has all new oscilloscopes and I used them recently with some op-amp circuits. I also built my own oscilloscope from a kit and John Woods helped me get it working, as I had not soldered one of the connections properly. I took my oscilloscope into school and used it there.”

    Andrew isn’t the only young person at the club, either: “Several other children from my school have also gone to the club and I have built projects with them. We made an ‘I ♥ Pi’ team and entered competitions. We also had a ‘Pi Rates’ team. My brother also goes to the club. He is building a security project with Arduino, and I might use some of his ideas in a programming course I am making.”

    While some go there to build physical projects, others learn to code

    What kind of people attend?

    At the moment, it is all children aged 8 to 14 who come along with their parents, but we don’t have set age limits. The youngest children usually want to learn Python; the older children usually have a project of their own that they want to work on. People often drop in for a few sessions and solve a particular problem and then stop attending. We have had some stay for years and they are all from different local schools.

    One boy, Taylor, came regularly until he was 18. He developed several AI projects. He got a scholarship to Cambridge University, and graduates this year.

    Other members have entered competitions and we have had members win in the ‘BigBang’, ‘Pioneers’, and ‘EasternDigital’ competitions. EasternDigital is an ‘adult’ competition for companies and one of the winners three years ago was ten years old; he was too young for their children’s competition!

    What projects have you or other people made there?

    As well as the AI projects I have mentioned, we have had members developing robotic arms. Then there was a flight control system for model aircraft and several robot cars.

    Several children have gravitated towards embedded systems. Two children, Zara and Andrew, developed a plant monitoring system.

    What are you working on at the moment?

    Some of the younger children who are new to the club are doing directed tasks. Samuel, aged eight, and Xingtong, aged eleven, are both working on TicTacToe. But we do very little teaching.

    Some children are doing their own Python projects, with Python always a popular language. Robyn, aged twelve, has made a Mastermind-style game linked with Hangman. Andrew, now aged 14, has developed a version of Conway’s game of life.

    There are also several Arduino projects on the go. Victor, aged eleven, has just finished his security control system which is based on an Arduino Uno and written in C.

    There are always robots. We have a robot arena that is purpose-built for the development of robots, and we have a lot of knowledge and resources to support a robot project. The arena is 100 square metres in area, and has a six-metre-high ceiling to accommodate flying robots.

  • Will Cogley’s tester controls 16 servos simultaneously

    Will Cogley’s tester controls 16 servos simultaneously

    Reading Time: 2 minutes

    Will Cogley’s tester controls 16 servos simultaneously

    Arduino TeamJanuary 5th, 2020

    When you need to test a single servo, it’s a fairly straightforward task. Just hook it up to an Arduino to generate the proper PWM signal, along with an appropriate power supply, and you’re in business. If, however, you need to test a bunch of them at the same time, things get a bit more complicated.

    To solve this challenge for another project he’s working on, Will Cogley built a 3D-printed tester capable of experimenting with 16 servos at the same time.

    The device runs on an Uno, and uses four potentiometers and two buttons for controlling the motors in sets of four. Settings from all 16 outputs are displayed on a 1.8” TFT screen and an Adafruit 16-channel driver is implemented to interface with the servos directly.

    [youtube https://www.youtube.com/watch?v=cvqAoBrLs7M?feature=oembed&w=500&h=281]

    Website: LINK

  • Designing a two-axis gesture-controlled platform for DSLR cameras

    Designing a two-axis gesture-controlled platform for DSLR cameras

    Reading Time: 2 minutes

    Designing a two-axis gesture-controlled platform for DSLR cameras

    Arduino TeamJanuary 3rd, 2020

    Holding your phone up to take an occasional picture is no big deal, but for professional photographers who often need to manipulate heavier gear for hours on end, this can actually be quite tiring. With this in mind, Cornell University students Kunpeng Huang, Xinyi Yang, and Siqi Qian designed a two-axis gesture-controlled camera platform for their ECE 4760 final project.

    Their device mounts a 3.6kg (~8lb) DSLR camera in an acrylic turret, allowing it to look up and down (pitch) as well as left and right (yaw) under the control of two servo motors. The platform is powered by a PIC32 microcontroller, while human operation is performed via a gamepad-style SparkFun Joystick Shield or through an Arduino Nano 33 BLE Sense

    When in Nano mode, the setup leverages its IMU to move the camera along with the user’s hand gestures, and its built-in light and proximity sensing abilities activate the camera itself.

    Our 2-DOF gesture-controlled platform can point the camera in any direction within a hemi-sphere based on spherical coordinates. It is capable of rotating continuously in horizontal direction and traversing close to 180 degrees in vertical direction. It is able to support a relatively large camera system (more than 3kg in total weight and 40cm in length), orient the camera accurately (error less than 3 degree), and respond quickly to user input (transverse 180 degrees in less than 3 seconds). In addition to orienting the camera, the system also has simple control functionality, such as allowing the user to auto-focus and take photos remotely, which is achieved through DSLR’s peripheral connections.

    At a high level, our design supports three user input modes — the first one uses a joystick while the other two use an inertial measurement unit (IMU). In the first mode, the x- and y-axis of a joystick is mapped to the velocities in the yaw and pitch directions of the camera. In the second mode, the roll and pitch angles of the user’s hand are mapped to the velocities of the camera in the yaw and pitch directions, while the third mode mapped the angles to the angular position of the camera.

    Website: LINK

  • Cheeseborg project showcase

    Cheeseborg project showcase

    Reading Time: 4 minutes

    Making a splash with your final-year university project can be the ideal way to gain the attention of potential employers and land yourself your dream job. Appealing to your lecturers’ and classmates’ stomachs is also a pretty effective way of getting them onside.

    Hearing from Taylor Tabb about the robot project he and friends Mitchell Riek and Evan Hill cooked up for their mechanical engineering degree, it’s little surprise to learn that having graduated in the summer of 2019, he’s already embarked on a fantastic-sounding Raspberry Pi-focused career.

    Taylor Tabb and his Cheeseborg-designing colleagues at Carnegie Mellon knew appealing to fellow students' rumbling tums would win them over

    Taylor studied mechanical engineering at Carnegie Mellon University, exploring how people interact with hardware, and thinks Raspberry Pi is the ideal platform for this. He now works for creative agency DeepLocal, making ‘wild and whimsical’ robots.

    Say cheese!

    “Cheeseborg was born out of our need to concept, design, and build a final prototype of a project in our senior engineering design class,” says Taylor. “As hungry college students awake at hours that it’s often hard to find food, we knew this was our calling – not just for us, but for grilled cheese eaters everywhere.”

    The Raspberry Pi-powered AIY voice kit recognises a request for a grilled cheese sandwich and picks up bread to butter and toast thanks to Arduino Mega

    Cheeseborg is a dedicated, hands-free grilled cheese making robot that will satisfy cheese cravings at all hours. The Google Assistant SDK and AIY Voice Kit provide voice activation. Both “work fantastically with Raspberry Pi 3 Model B+,” says Taylor. Their customised build of Google Assistant, sourced from the AIY Kit and Google Cloud SDK, allowed them to add some personality: you can ask about the weather while awaiting your sandwich.

    Raspberry Pi also triggers its assembly, while motor control circuits and motion are operated by Arduino Mega. Taylor reveals, “We wrote our own code, but also used open-source Arduino libraries,” dictating timings and the motions for each step. Carnegie Mellon’s Department of Mechanical Engineering’s makerspace provided hardware commonly used in 3D printer kits, such as stepper motors and linear motion carriages. However, the acrylic parts were designed and laser-cut by Mitchell, Evan, and Taylor. Impressively, the project cost just $200 to build, and took approximately eight weeks to complete.

    Cheeseborg begins to take shape in the Carnegie Mellon University makerspace

    Taste test

    The team undertook three weeks of customer research to identify grilled cheese preferences. “There was a lot of going back and forth between our build, CAD software, and laser cutter, adjusting parts as we learned more about the mechanics of bread and cheese,” recalls Taylor. They spent days just tuning the grilling time to get the gooeyness and crispiness just right, while experiments in applying the butter resulted in a thoroughly dairy-spattered makerspace.

    Eventually, they went with a spray ‘butter’. “We aimed at the cooking plates and activated just before the bread was moved to be cooked, thus buttering both sides [not to say the rest of Cheeseborg]. In the end, we found if we just spray the grill plates every five [sandwiches] or so, it still is enough to make a crispy, gooey grilled cheese!

    As with all good projects, we had no idea if it was going to work until 4am the morning before it was due, when Cheeseborg popped out its first fully hands-free grilled cheese sandwich.”

    Cheeseborg creators Taylor, Mitchell and Evan at 5am when their invention was finally finished

    Making your own grilled cheese robot

    1. This is the ideal project with which to use Google Assistant in Google’s Raspberry Pi AIY Voice Kit, and the Google Cloud SDK for voice activation. Experiment with phrases to initiate the snack-assembly process.

    Cheeseborg is an ideal project for Google Assistant in the Raspberry Pi-enabled AY Voice Kit

    2. Raspberry Pi now hands over to Arduino. Use Arduino Mega to control the robot that assembles the grilled cheese sandwich once Raspberry Pi instructs it. Open-source Arduino libraries are invaluable here.

    Raspberry Pi hands over to Arduino Mega to control the robot that assembles your tasty snack

    3. Use tongs or suction to pick up slices of bread and add a chute for the snack’s delivery. However, positioning bread to be buttered and adding cheese takes patience.

    Add a chute to deliver the grilled cheese sandwich into the hands of your grateful friends and family

    Interest levels online have been such that Taylor and his colleagues may consider offering a kit version. While he cautions that there’s a huge amount of fine-tuning involved, he says, “If anyone out there is building a grilled cheese robot, we’re more than happy to offer any insights.” Contact him at tabb.me/grilledcheese.

    Warning! Hot mess!

    Gooey butter is messy stuff. Be prepared for your kitchen, as well as your grilled cheese sandwich, to be buttered all over!

    Quick facts

    • Taylor’s first Raspberry Pi project was a ‘not great’ radio telescope

    • Taylor now works with Raspberry Pi almost daily

    • His business card says he’s ’sweeter than Raspberry Pi!’

    • Taylor thinks there’s a whole world of culinary robots to come

    • He recently made a not-so-edible bubble maker

      Hungry students were delighted to encounter Cheeseborg at their final year expo

  • SmartiPi Touch 2 review

    SmartiPi Touch 2 review

    Reading Time: 2 minutes

    The SmartiPi case is designed to work with the 7-inch official Raspberry Pi touchscreen, effectively turning a Raspberry Pi into a (bulky) tablet or fixed monitor. As there’s no real room for rechargeable batteries as standard, it works better in a more fixed environment.

    One of the unique features of the SmartiPi is the interchangeable faceplates on the front of the case. As well as allowing for a Raspberry Pi Camera Module to be mounted inside the case, it enables you to add a Lego-compatible plate. It’s not large, so you can’t do much with it, but it’s a very neat addition nonetheless.

    The SmartiPi Raspberry Pi case looks sleek and compact from the front

    Smart build

    Construction is extremely easy, just requiring you poke some ribbon cables in the right place and fasten and tighten some screws to make sure everything is mounted properly. You can choose little feet for the display, or a foldable stand so you can angle the screen – both are easy to install and even replace. There’s also a little case fan and vented rear panel to keep your Raspberry Pi cool.

    It’s extremely well thought out, and a very handy case if you need a compact ‘Raspberry Pi with screen’ solution that just looks nice.

    SmartiPi's additional case fan and vents can be handy for intensive loads

    Verdict

    The SmartiPi is great case if you need a stationary tablet, although making it mobile might be a little more tricky.

    8/10

  • This 3D-printed infinity cube is easy to make, hard to resist

    This 3D-printed infinity cube is easy to make, hard to resist

    Reading Time: 2 minutes

    This 3D-printed infinity cube is easy to make, hard to resist

    Arduino TeamDecember 31st, 2019

    Infinity cubes use six mirrors arranged in such a way that they bounce light inside back and forth, making them appear to stretch on to infinity. While not the first to make such a device, Thomas Jensma created the frame for his as a single 3D-printed piece.

    This method meant that the plexiglass mirrors surrounding the build are automatically quite flat, allowing the 144 LEDs inside to reflect beautifully with no adjustment. An external Arduino board controls the lights, producing an infinite number of patterns. A 5V supply is also used in order to power the assembly. 

    Instructions for the project can be found here, and with this simplified design, Jensma was able to construct his in a day for just $25 in parts.

    [youtube https://www.youtube.com/watch?v=dx28KnKoUb8?feature=oembed&w=500&h=281]

    [youtube https://www.youtube.com/watch?v=QPtmzVDRJec?feature=oembed&w=500&h=281]

    Website: LINK

  • The biggest Raspberry Pi projects of 2019

    The biggest Raspberry Pi projects of 2019

    Reading Time: 4 minutes

    Raspberry Pi NAS and Samba

    Raspberry Pi 4 introduced improved throughput on the Ethernet port, taking it up to full-fat Gigabit speeds. So it’s perhaps no surprise that building a super-fast NAS (network attached storage) drive was top of the wish-list for many a Raspberry Pi owner.

    Given the popularity of NAS, it’s little surprise to see How to set up Samba also take a top spot on our yearly tutorial list. It’s easy to use a Raspberry Pi as a Samba file server where you can store backups and share files from all the other computers on your network.

    Raspberry Pi 4 USB and Ethernet ports

    SSH and VNC

    SSH (also known as ‘Secure Shell’) is an encrypted networking technology that enables you to manage computers from the command line over a network. It’s a technology that many users are unfamiliar with, until they get a Raspberry Pi and want to get into it from another computer on their network. Our How to setup SSH tutorial gets newbies up and running.

    While SSH is from the command line, VNC enables you to access your Raspberry Pi desktop remotely. Our VNC: Remote access a Raspberry Pi tutorial was another big-hitter in 2019.

    VNC Server displays your IP address and is used to log your Raspberry Pi to VNC Connect so you can access Raspberry Pi via the wider internet

    How to build a Carputer (car computer)

    And now we’re into the biggest project of 2019. How to build a Carputer (car computer) with your Raspberry Pi and touchscreen. Raspberry Pi makes a fantastic car computer, thanks to its small footprint and fast processing power: it’s better than many computers found in commercial cars.

    Car Computer

    Build a Raspberry Pi cluster computer

    Cluster computing is one of the most modern programming techniques around. There’s strength in numbers and some of the world’s most powerful computers are built of hundreds, in not thousands, of inexpensive systems.

    PJ Evan’s Build a Raspberry Pi cluster computer tutorial shows you how to link up four Raspberry Pi boards to build a powerful cluster. This can be used to create a more powerful server (such as the one running this website) or used to learn cluster computing programming techniques.

    Cluster computing is a reasonably niche activity, but our readers are a pretty clever bunch so we’re going to hope many of them find a use for this.

    Each Raspberry Pi in the cluster is known as a node and works in parallel with the others to produce faster results than they could individually

    The Interactive tabletop RPG table

    Plunder dungeons and slay dragons in digital style with this simple TV conversion project for all your role-playing game needs. The MagPi magazine’s very own Rob Zwetsloot built this touchscreen RPG companion device, and it turns out a lot of readers want to build one too.

    dndmain-web

    Steam Link on Raspberry Pi

    Gamers rejoiced when Steam released Steam Link. This software enables you to turn a Raspberry Pi into a streaming console, enabling you to play PC games remotely. The games run on PC, and are typically streamed to a Raspberry Pi sitting underneath a television. Our Steam Link tutorial shows you how to set up Steam Link on a Raspberry Pi 4.

    Steam Link

    Code Pac-Man in Python

    It’s one of the most famous games ever made, and Pac-Man in Python is a great learning tool. It’s no surprise that many gamers want to recreate games in Python and our sister magazine, Wireframe recently released a whole book – Code the Classics – dedicated to just that.

    <img src="https://www.blogdot.tv/wp-content/uploads/2020/01/the-biggest-raspberry-pi-projects-of-2019-4.jpg" alt="

    Code your own Pac-Man game in Python

    „>

    ANPR: Car Spy Raspberry Pi

    Automatic number plate recognition is used by the police to match cars against a huge database. We don’t have that database, but OpenCV can be used to detect car number plates and detect your own car. It wasn’t long ago that ANPR technology was extremely expensive to purchase, and Raspberry Pi makes it available to everybody. And our ANPR: Car Spy Raspberry Pi project certainly seems to have sparked some interest.

    <img src="https://www.blogdot.tv/wp-content/uploads/2020/01/the-biggest-raspberry-pi-projects-of-2019-5.jpg" alt="

    Our target. The software does a great job of recognising number-plates from different heights and angles

    „>

    Build a Raspberry Pi telephone exchange

    Transform your humble home phone line into a feature-packed PBX (private telephone exchange) with Raspberry Pi and Asterisk. Many readers might just want to experiment with telephone exchange technology at home, but there’s a good business case for learning how to do this: professional PBX systems cost thousands of pounds.

    <img src="https://www.blogdot.tv/wp-content/uploads/2020/01/the-biggest-raspberry-pi-projects-of-2019-6.jpg" alt="

    Build a VoIP Telephone Exchange with Raspberry Pi

    „>

    The ZX Spectrum Next

    ZX Spectrum Next has been in development for quite some time, but has only been on our website for a few weeks. In that time it’s become one of the biggest stories of the year. David Crookes investigated the development of the ZX Spectrum Next computer with a FPGA (field programmable gate array) using Raspberry Pi Zero as an extender to act as a virtual tape drive, sound interface and 3D graphics enhancer.

    The ZX Spectrum Next contains a Z80 processor on an FPGA, 1MB of RAM expandable to 2MB,
hardware sprites, 256 colours, RGB/VGA/HDMI video output, and three AY-3-8912 audio chips

  • Build your child a wooden MP3 player for $100

    Build your child a wooden MP3 player for $100

    Reading Time: 2 minutes

    Build your child a wooden MP3 player for $100

    Arduino TeamDecember 30th, 2019

    If your young child wants to listen to music, what better way than a beautiful wooden MP3 “radio,” with an array of buttons that select the album? After being inspired by a similar commercial product, Redditor “DerThes” decided to make such a device for a fraction of the cost using an Arduino Uno for control, along with a Music Maker Shield to play tunes off an SD card.

    The toddler can select songs from a grid of 16 input buttons, which are sent to the Uno via a pair of shift registers. There’s also a “parent’s mode” with the ability to choose from up to 99 albums, and a volume knob for… adjusting the volume. 

    Finally, the unt features a beautiful enclosure made out of oak and black walnut, with corners softened by dowels to reduce collateral damage “after the player has gone airborne.” More details can be seen on Imgur here and on GitHub.

    This is an easy to use MP3 player for small children. I made this for my 2 year old for Christmas. Each of the top 9 buttons will play an album. The black buttons on the bottom are prev – play/pause – next. The player also supports an alternative playback mode that can be activated using a special key combination. That combination will turn the buttons into a 10 digit input matrix allowing playback of up to 99 albums. That way the player can be used by parents as well. 😉

    See GitHub for more details, the schematics for the button PCB and the firmware. https://github.com/MichaelThessel/arduino-stoerbert

    This is heavily inspired by Hoerbert: https://en.hoerbert.com

    When I first saw the Hoerbert at a friends place I wanted it for my child. After I heard of the $400 price tag I knew that I needed to spend 50 hrs and $100 to build my own.

    Website: LINK

  • Build your child a wooden MP3 player for $100

    Build your child a wooden MP3 player for $100

    Reading Time: 2 minutes

    Build your child a wooden MP3 player for $100

    Arduino TeamDecember 30th, 2019

    If your young child wants to listen to music, what better way than a beautiful wooden MP3 “radio,” with an array of buttons that select the album? After being inspired by a similar commercial product, Redditor “DerThes” decided to make such a device for a fraction of the cost using an Arduino Uno for control, along with a Music Maker Shield to play tunes off an SD card.

    The toddler can select songs from a grid of 16 input buttons, which are sent to the Uno via a pair of shift registers. There’s also a “parent’s mode” with the ability to choose from up to 99 albums, and a volume knob for… adjusting the volume. 

    Finally, the unt features a beautiful enclosure made out of oak and black walnut, with corners softened by dowels to reduce collateral damage “after the player has gone airborne.” More details can be seen on Imgur here and on GitHub.

    This is an easy to use MP3 player for small children. I made this for my 2 year old for Christmas. Each of the top 9 buttons will play an album. The black buttons on the bottom are prev – play/pause – next. The player also supports an alternative playback mode that can be activated using a special key combination. That combination will turn the buttons into a 10 digit input matrix allowing playback of up to 99 albums. That way the player can be used by parents as well. 😉

    See GitHub for more details, the schematics for the button PCB and the firmware. https://github.com/MichaelThessel/arduino-stoerbert

    This is heavily inspired by Hoerbert: https://en.hoerbert.com

    When I first saw the Hoerbert at a friends place I wanted it for my child. After I heard of the $400 price tag I knew that I needed to spend 50 hrs and $100 to build my own.

    Website: LINK