Card corruption isn’t anything new on the RPi, if your a Raspberry Pi owner it is a fair bet that you shall encounter it eventually.
Over the years ever since owning my first Pi, I had to deal with the occasional segmentation fault. But I’d never encounter a full blown SD card failure until the other day, when quite unexpectedly the PiDP8/i decided to have a system melt down. The first signs indicating something wasn’t quite right, was when I discovered my fail2ban jail log was corrupt, full of complete gobbledygook. After a reboot of the server, I discovered everything was back to normal or so it had seemed. The next indication problems lay ahead was when I noticed files I’d previously deleted had reappeared on the SD card. Now if there’s one thing Linux is good at letting the user do, it’s delete precious files without much chance of recovery. I once deleted an entire partition of my hard drive by mistake and yes, spent what was left of the night reinstalling Xebuntu. Linux is a powerful OS in the right hands but for the experienced it can be a steep learning curve of mistakes and mishaps.
After spending a full day working on my SD card, I discovered sure enough that the internal 8GB card had died a death. I read from the drive, but could neither format or re-partition it.
So what now? Well my next step is going to be getting my hands on a new SD Card, but I’m not so certain I feel comfortable using it as the primary storage on my PiDP8/i server. Everything I’ve read online indicates using SD cards for prolonged periods is not a great idea, mainly due to the limitations of the technology which doesn’t lend it self to constant read / writes. It’s worth remembering that ever since the first compact flash drive, memory cards were originally intended for cameras and PDA devices, neither of which really hammer the SD card unlike Linux. SD cards have a finite number of read / writes, from the time you plug it in, your memory card is degrading. On a short time project this isn’t a problem and there is evidence to suggest capacity does play a part, with larger cards such as 32, 64 and 128gb lasting longer then 8gb ones. Still if I want my server to be online 24/7, I’m better off finding a more reliable and permanent solution.
A hard drive is one I guess, but a little bit overkill for the tiny PiDP8/i. Which is why I’ve spent the past few days looking up ways to boot the Pi2 model b motherboard from a USB flash drive. Research suggests boot time will be faster and reliability significantly better then using SD. So in my next article I’m going to cover the process of setting up a RPi2 model B with the OS installed on USB pen. If your a Pi3 owner you have two choices, you can follow what I’m doing and it should work just fine. But unlike earlier models, the Pi3 can boot directly from USB by altering the OPT within firmware. Once enabled the Pi will search SD and USB until it finds a bootable partition.
Greetings to all you t’interweb surfers, its that time of year again and here at ByteMyVdu we like sharing the festive spirit. I say we, but really it’s me, muggins sitting at the keyboard doing everything, using the royal ‘we’ just sounds better!
Over the past 12 months I’ve built a PiDP8i, a RetroFlag NESPi, Modded a 60s radio and played about with a Sinclair QL. I’ve also built another Amiga 600Pi, refined the designed and improved on what I did the first time around and after all of that, I’ve yet to upload it to my site.
All that aside its Christmas, a time for good will and giving friends and family gifts wrapped in pretty paper. So as a thank you to the poor soul who accidently set their home page to my site, I’m releasing a spanking new set of Picade cabinet artwork. Drawing inspiration from the 80s, these templates will turn any unadorned Picade in to retro throwback. I’ve been asked a couple of times over the past year about my Picade art, so I decided to make some new never seen before templates. There’s already quite a few out there on the Pimoroni forum but a lot of them are either using copyrighted material or trying to replicate an existing arcade cabinet such as Asteroids or Bubble bobble. That’s alright, but I wanted something a little more unique to the Picade, hopefully that’s what I ended up with. Either way I hope someone out there will have fun with them, Merry Christmas you guys! 🙂
Legal fluff – These templates are offered as is and are strictly intended as freeware, for none profit purposes.
For a long time I’d thought about creating a portable Pi but wasn’t really certain where to begin, so for a long time it remained just an idea rolling around in my head. After building the 600Pi I developed a greater understanding of what was involved fitting a Raspberry Pi inside a custom enclosure, such as extending the USB, HDMI and Ethernet from the tiny Pi and how to power the motherboard directly, bypassing the traditional on board USB port. The 600Pi really opened my eyes and taught me a great deal, not just about wiring, but also about hacking the Pi’s various features. A month or so after finishing that project a friend gifted me a box full of random bits, because if there’s one thing friends know about me, it’s that I love boxes filled with parts. Inside was an assortment of USB cables, fans and a RPI2 B fitted in a custom acrylic case. What caught my attention about the Pi specifically was the 3.5″ LCD panel that was attached to it, as soon I saw the screen the cogs in my head begun to whirr. Well suited for a portable pi project, it was just a matter of me drafting up a design.
A few weeks after receiving my box of goodies I was clearing out a bunch of old stuff from under the bed when I found an old project box lurking under the mattress. A left over from when I was designing my Nomad desktop system, it was just the right size for a portable retro computer, not to mention it already looked kind of old. Originally there had been two but I’d hacked one up for the Nomad, only to find it had very little air flow and caused the mini ITX board to overheat. However, unlike the larger mini ITX board, the Pi not only had a smaller foot print but would never reach the operating temperatures of an Intel Duo processor. At first I wasn’t certain the LCD panel would fit in the front of the case, but pairing the two together proved it would be a snug fit.
Admittedly, building a portable Pi isn’t anything new, people have been putting them inside all manner of things ranging from teddy bears, tea pots, remote control drones and even coat pockets! You can find Pi powered laptops, C64s, Spectrums and even 3D printed Gameboys like the Pi-GIRRL, however my goal was to build a portable computer with a distinctive 80s retro feel, bet you didn’t see that coming did ya! Using a case originally intended for my Nomad desktop, I decided to call my new portable the ‘Nomad SX/Pi’ in homage to my earlier project and also the Commodore 64SX portable computer, a machine I was drawing much inspiration from.
It’s probably no surprise the SX64, Keypro, Osborne and even the TRS80 M100 inspired the design of my project. All are note worthy machines, successful back in their day with a dedicated group of followers even now. Their appearance resonates a specific time in computer history and it was this aesthetic styling that I wanted the Nomad SX to imitate. Measuring 257 x 190 x 85mm the case had ample space for the Raspberry Pi, however the 3.5″ LCD was another matter. It was almost as tall as the case with only 10mm clearance between the top and bottom lid. As I had done with the 600Pi before, I extended the Pi’s ports to the front and rear panels of the case. Included in the rear panel was:
- 1 x USB
- 1 x RS232
- 1 x Ethernet Port (Rj45)
- 1 x MiniUSB (Power Input)
For the front I extended the Pi’s audio jack and another of the USB ports along with the Pi’s power and activity lights. Having only recently upgraded the 600Pi with a new Pi3, it meant I had spare Pi2 board with the on board LEDs already modded for extending to the front panel. The reason I didn’t extend all the USB ports was because I needed two of them for Bluetooth and Wifi.
After making a couple of rough sketches I sat down, using Inkscape to draw up the vectors I would need to cut the front and rear panels out of acrylic. Previously I’d used an old version of Adobe illustrator, but a couple of my friends kept insisting I gave Inkscape another shot, even though I’d struggled with it the first time round. My initial impression of Inkscape was that it was powerful but far less intuitive then Illustrator,, but it does have one thing working in its favour. Unlike Illustrator its an open source freeware application, meaning it doesn’t cost you a penny to use.
Installing it on the Nomad, I spent the evening drawing the panels using the sketches I’d made earlier. After a some what slow start, I actually found Inkscape to be pretty straight forward and not as complicated as first thought. In fact once your in the Inkscape zone it’s actually a pretty powerful application. Available for Linux, Mac OS and Windows, I highly recommend checking it out and did I mention its available for the Raspberry Pi?
Input / Output
One part of the case that was causing me a headache was the keyboard, originally I’d wondered if I couldn’t buy a small keyboard and hinge it to the front of the case similar to the Keypro or attach it with Velcro. However that meant finding a keyboard with the exact same dimensions as the front panel which was highly unlikely. Unlike large manufacturers that can fabricate custom parts, I was limited to finding off the shelf parts to get the job done. After a lot of searching on eBay, I found a wireless keyboard and waited patiently for it to arrive from China. Almost as soon as I unboxed, I realised it was rubbish,
surprise, surprise. The touch sensitive panel was smaller then I’d expected and pretty useless for typing anything. That is unless you wanted to finger type everything, which as I found resulted in almost inebriated sentences of typo ridden nonsense. So it was back to the drawing board and searching once more online for a suitable keyboard, a search that had thus far been less than successful. It turned out I hadn’t needed to worry as only a couple of days after my disappointing eBay purchase, my prayers were answered. While picking the other half up from work, I was telling her about the problems I’d been having when suddenly she revealed her work stocked several bluetooth keyboards on their online shop. A quick trip across
the warehouse floor and I was staring face to face with an ultra slim bluetooth keyboard and not just that, it was narrow! Talk about irony, I’d spent the best part of a month looking for one under 250mm wide and all the while Pimoroni had exactly what I’d wanted on their website and it was 240mm wide, 10mm shorter then the case I was using.
With the issue of the keyboard finally behind me I was able to redesign the front and rear panels to accommodate the new BT keyboard. Originally I’d planned for the little touch panel keyboard to slide inside a slot in the front, but as that wasn’t happening now, I had to find room to accommodate the larger 240mm x 90x 14.5mm keyboard. Barely 10mm narrower then the case, I had to come up with a smart way of stowing it away. Strapping it to the outside would undoubtedly expose it to unwanted knocks which would likely wear it out in no time at all. Don’t ask where the idea came from but scribbling on a piece of paper I found myself staring at a sketch of the rear panel with a narrow slot for inserting the keyboard inside. Refining the design further resulted with a shelf inside the portable for the keyboard to rest on when it wasn’t in use, I also designed a blanking plate to screwed in place over the slot to keep the keyboard from sliding out while the computer was being transported. While it wasn’t like anything I’d seen on the Z80 portables I’d been using for reference, it certainly worked and solved the problem of where to put the keyboard.
As there was no need for a slot in the front panel I redesigned it, turning it in to a sliding door and IO plate for the audio jack and USB port. Taking advantage of the reclaimed space I also included a badge to sit above the IO panel which read “Nomad Pi/SX – Portable Micro Computer”. It seemed fitting given the size of the Raspberry Pi computer hiding inside the case.
Setting up an Ultra Slim keyboard on the RPi wasn’t as smooth sailing as I’d been expecting and required some work before it was up and running properly. I also encountered an annoying problem where the top row of F keys weren’t recognised by Linux, even asking the guys at Pimoroni and on the RPi forum yielded no solution. Two months after finishing the portable Pi I was at a friends sampling a pint of homebrew beer when the answer came to me. I don’t completely recall what led to the discovery (how strong was that beer?), but long story short Linux was mistaking the ultra slim keyboard for a BT Apple keyboard. It turns out these are known for having issues with Linux and there’s even a wiki page covering it, see this link for details.
For the Pi’s composite video jack I used a 3.5mm jack cable, splitting the left, right and video lines. I hooked the video feed up to the LCD panel and the audio channels to the audio socket attached to the front panel. At some point I plan on installing internal sound but that will be a work in progress. When I discovered the PI / LCD combo, I originally wrote down the wiring so that I’d know how to connect it back up. Like any scrap of paper it inevitably went missing and not knowing the model of the screen or where my friend had bought it, I was left in a bit of a pickle. How was I ever going to figure out the wiring? Luckily for me I’m on the Sheffield Hackerspace mailing list and after posting up a request for help, I soon had a link providing me with all the info I needed to connect up my tiny screen. Words honestly can’t do justice for how grateful I was when the tiny LCD lit up for the first time, so a big thank you to the guys at the Sheffield Hackerspace.
Because I was planning primarily to use the terminal and not x.org to operate the Pi, I found the text on a 3.5″ screen a little difficult to read. Online I found several guides showing ways to increase the text size within the Linux console, and I also read up on altering the screen resolution which was running in its default res of 1080p (I guess). Either way it was causing the 3.5″ screen to flicker at a headache inducing rate. Fortunately the config.txt is pretty flexible and allows you to tailor a lot of the Pi’s settings to suit your needs, which is great for anyone trying to use a 3.5″ screen with their Pi via composite out.
Tackling Small Screens
Having only ever hooked a Raspberry Pi up to a VGA monitor, I’d little experience configuring the config.txt file to display on a small screen. Especially one using composite output instead of HDMI. Fortunately there’s plenty of information available online to walk you through setting up the config file and a bit of trial and error I was able to get it working. By setting the screen to 480×320, I was able to eliminate almost all of the screen flicker present while the screen was running in high resolution. Additonally making it much easier to read text, as even in 800×600 it was incredibly small. Though lowering the resolution made the text more legible it still wasn’t suitable for using over an extended period. This led me to looking at changing the Terminal itself and how I could configure it to display differently on the Pi Portable. Fortunately you can alter the Terminal using the following command
"sudo dpkg-recofigure console-setup"
Going through the prompts I set the terminal to use the ‘TerminusBold’ font at a size of 11×22 as this was easy to read and didn’t take up to much room on the screen. It took me a while to figure all this out and I went through several computations of the various fonts and sizes before I found the right one. While doing a little research for this article I discovered one of the machines I’d used for inspiration has a larger screen than I’d first assumed. The Osborne-1 is often cited as the first portable personal computer and it along with the SX64 were machines I used as examples while designing the Nomad SX. As it turns out the 1981 Osborne-1 came with a 5″ screen capable of a mind blowing 128×32 character display. Which is impressive compared to the 11×22 display on the Nomad, if I ever make another portable I’ll be sure to make the screen bigger!
Not A Leg To Stand On
After getting the machine together I realised the viewing angle wasn’t exactly ideal. In fact to read the screen I had to prop a book under the case. I’d not really envisioned using a stand like the SX64, but as it transpired I actually really needed one. If I’d stopped to think back about all those old Z80 machines, a large number of them did come with a kickstand of some sort. Designing a set of legs I got them laser cut from acrylic and fitted to the sides of the case. I used nylon lock nuts so that I could tighten the screw enough so the legs were stiff to move, but with the advantage that lock nuts wouldn’t work themselves loose. The downside to using acrylic is that under certain circumstances it can be a fragile material and exposed to stress will sometimes shatter or crack. As the legs would be in regular use, I wasn’t certain how long the acrylic would last. With that knowledge ever present in my mind, I spent a lot of time trying to think of an alternate solution. Eventually I settled upon 3D printing and fabricating a single piece carry handle, as you can see in the picture the prototype came out pretty good.
Part of this project was to make a portable micro computer that I could take with me wherever I liked. This ultimately meant using a battery, something I’d never done with a Pi before. So once I had the system working and all of the internal wiring finished, I began looking at batteries and also charging circuits. Obviously because of the screen, bluetooth & wifi dongles, I would need a pretty substantial battery to power everything. It was around this time that Pimoroni began stocking batteries via their online store. I also noticed they stocked the Adafruit Powerboost 1000C, a small 5v 1Amp board that doubled as a battery charger. Choosing one of their 4400mAh batteries and the power boost, I set about modifying the internal wiring of the Pi Portable. Instead of the power going directly to the Pi it would have to go via the Powerboost first, so that the internal battery could be charged.
I’ve seldom bought anything from Adafruit aside from perhaps a micro usb socket but I have to say the Powerboost is a fantastic bit of kit and really does credit to Adafruit. Not only was it straight forward and simple to wire up but I found the additional
power switch an especially nice feature, one that I hadn’t been aware of at the time of purchasing. It was certainly a lot better than pulling the plug, as is the normal way to turn off your Pi after shutting it down. As the back panel was in need of revision due to some stress cracks showing, I added an additional hole for a switch, which complimented the rear panel really well, giving it a very professional look. Combined with all the accessories, the Pi portable draws approximately 740Mah, which means I should get nearly 5 hours out of the 4400 battery. I’ve yet to actually bench test the Pi portable to find out if those figures are anywhere near accurate, but even if the system can manage 2 hours, I will be happy and consider the upgrade a success.
While it might not be as sleek or as compact as many other portable Raspberry Pi builds. I’ve taken the Nomad Pi/sx to several retro events and had nothing but positive feedback. Many remember using machines like the SX64 and Osborne back in the day and instantly latch on to the similarities. Loading up Dizzy via the C64 emulator never fails to generate a smile. But if I’m honest, I always end up playing Outrun or Stuntcar racer!
This has been a funny old build but one I’ll definitely remember if not for the fact that I do use the computer on and off when I need a distraction free typing environment.
Produced by Pimoroni, a British company based in Sheffield, the Picade is an all singing and dancing tabletop arcade cabinet that can be put together in an afternoon. For £180 you get everything needed to build your own working cabinet (minus the Raspberry Pi) such as:
- Black powder-coated cabinet panels
- Picade PCB (Arduino compatible with stereo 2.8W amplifier) pre-loaded with the Picade software.
- LCD panel mount with protective overlay
- 8″ LCD panel & driver board
- 2x speakers
- 3.5mm stereo panel mounted headphone socket
- Attractive decals for the marquee and controls
- HDMI, audio, and USB cables
- A proper arcade joystick
- Twelve micro-switch arcade buttons
- Custom assembled wiring looms
- All other fixings, fastenings, nuts, and bolts
The kit is primarily geared towards users of the Raspberry Pi, but that doesn’t mean you couldn’t use it with a mini ITX board or Odroid. In fact the rear door on which you mount the logic board has markings for several different models of computer not just the Pi. Anticipating the needs of their customers, Pimoroni have designed the kit with the hacking and modding community in mind, something they do with a lot of their products.
In 2012 when Pimoroni began their Kickstarter for the Picade I had an opportunity to try a working unit, needless to say the experience was enough to leave me wanting one. It wasn’t until the early last year when I finally got one of their kits but sadly didn’t have any time to assemble it. So the kit sat waiting on my to do list till October came around, when finally my partner and I put it together over several evenings. Assembling the Picade is pretty straight forward so long as you follow the PDF guide provided on Pimoroni’s website. There is also a video guide but in my opinion it is in need of updating, as it led us astray more than once. In the end we resorted to consulting the PDF exclusively, my partner reading the instructions as I placed the pieces together. Contrary to what the video tutorial suggests, make sure to tighten all the screws and nuts using a screw driver, otherwise your cabinet will soon begin to wobble and come apart as mine did after a few plays of DigDug.
The black power coated finish of Picade really sets it off with an old arcade feel, the buttons and joystick are of good quality and fairly responsive to use. At some point I will likely swap them out for more 80s recessed style buttons, but for now they get the job done and look fine.
The Picade comes bundled with an 8” flat panel LCD screen. Originally the kit was available with a 12” panel but I understand supplies dried up and Pimoroni have been unable to source any more at a reasonable price. At first when I removed the panel from its packaging I thought it was mighty small and had some misgivings about its effectiveness for playing games on, but honesty I hadn’t need for concern. The 8” panel compliments the cabinet really well and once your in playing Pacman or Pole Position you really don’t notice it. The picture is clear, sharp and the colours a vibrant, my only regret is the absence of any scanlines, but that’s more a personal preference and something I can probably fix within the Retro Pie software.
With the cabinet built, it is just a case of flashing an SD card with the relevant Retro Pie image, which you can download via their website @ https://retropie.org.uk. Setup is relatively painless and straight forward and should see you up and running in no time at all. Something I did discovered on my first outing, is that RetroPie has more than one Mame emulator to choose from and some ROMs work better in one than they do the other. If you find like I did that a great many of your ROMs aren’t working, you may wish to try using the other Mame emulator. The reason this happens is down to the chipsets the Mame is running, different revisions can sometimes expect different files to be present within the ROM archive. Newer revisions tend to be more compatible but unfortunately the one available on Raspbian isn’t, which is why RetroPie comes with more then one Mame emulator. Swapping between the different versions can be as simple as copying your ROMsets to the appropriate folder on your SD card. It is also possible to change it from within Retropie, just after selecting your ROM the option appear on screen to change the default settings, this also includes which version of Mame is used to run the selected ROMset.
When put together, the Picade and Retro Pie compliment one another well and one can hardly imagine one without the other, both are polished and easily accessible products.
When I began to assemble the Picade, I knew from the get go that I wanted to design some custom cabinet art for it – something that harkened back to the days of my childhood with crazy neon colours and funky 8 bit sprites. One thing about the Picade is that the only decals that come with it are for the marque and the control panel, the sides of the cabinet are left alone. As pretty as the powder coating is, I couldn’t help feel there was something better to do with them, such as cover them up with something bright and retro! So I went about designing the art on my recently aqcuired 15” Powerbook G4. Anyone who says PPC has had its day can go suck a lemon as far as I’m concerned, as this laptop not only oozes style but clocking in at 1.55Ghz it runs Photoshop without breaking a sweat.
As you can probably see in the photos from an early stage there was a very distinct 80s theme going on. One thing I had to keep in mind was to make sure the decal art lined up with the side panels on the cabinet, as I wasn’t just contending with the outside edge of each panel but also the various screw holes and speaker grills that the decals would be covering.
The side art is protected by 1mm thick sheet of clear acrylic that has been cut out to the same shape and size of both MDF side panels. Eventually I plan on making the marquee backlit so that the Picade logo and colours are more vivid to the eye.
Hello dear reader! Did you miss us?
BMV is back for another year and I have a lot of fun articles I’d like to cover and maybe we can fit in a few interviews this year from people active in the community. I’m sorry the blog has been a bit quiet but I was away busily tinkering, working on my Atari Lynx video conversion, making an AmigaPi 1200 and several more USB tank mice for friends who wouldn’t stop pestering me for one after seeing the one I’d built I’ve also been playing with a Powerbook 180 and discovering the pitfalls of LCD tunnelling which the entire 100 series seems to suffer from.
Blasting away from 2016 is my Picade build which I finished just before Christmas, now in 2017 I put the finishing touches to the cabinet with some retro electric 80s art. Keep your eyes peeled as I’ll be offering up free cabinet decal art for anyone looking to deck out their Picade in proper 80s style!
-This hack requires a dremmel with cutting and sanding attachments. Always wear goggles and ask an adult for help if your still in school. Please safety first, I take no responsibility for injury or loss of bladder control if you undertake this guide.
Not so long ago I posted an article on converting a broken Amiga Joystick into a working USB controller. In todays blog, I’m going to cover converting an old Amiga tank mouse in to a USB device. Before any of my fellow Amigans start shouting at me for desecrating a piece of retro tech, I’d like to state the mouse was pooched, the internal micro switches had clicked their last. Sure I could have repaired the switches, but I wanted an Amiga mouse for my AmigaPi and I doubt the world will miss one less yellow A500 mouse.
The first thing you’ll need is a broken mouse, please don’t bust up a working mouse, that’s just wrong and a waste of a good device. Next you’ll need to find a donor USB mouse, preferably something small, compact and simple in design. Essentially you’re looking for a budget mouse, the sort you might find in a 99p store. Below is a photo of the mouse I used, don’t worry if it has an internal LED, we can easily snip that out. Next we’ll need a beige USB cable, pick a length that suits your needs preferably something that will connect to the computer and leave enough room for the mouse to sit comfortable on your desk. If you’re still unsure, go for a 1m or 1.5m length cable as you can always trim it down to suit your needs.
We now have the essentials for making an Amiga USB mouse. Unfortunately I can’t walk you through the whole process, as it all hinges on the USB mouse you bought for the conversion. Initially you need to take both mice apart, and remove the electronics from the Amiga mouse. The only parts of the tank mouse you need are the main shell and the flexible plastic sheath around the mouse cord. The best way I’ve found to remove it, is by cutting along the under side with a sharp blade and pulling the cord out through the cut.
Let us turn our attention to the USB mouse, with the lid off you should have a good view of the PCB. The first thing you need to do is check the pinout of the cable because soon you’ll be removing it. To do this, you’ll need a multi-meter so you can perform a signal test on the each wire going from the connection point on the PCB to the pin inside the connector on the other end of the lead. I find it best to draw a simple diagram of the USB cable with the connector and the four pins laid out. I then jot down the corresponding colour wire for each pin.
Usually this is red, black, green, white, but not all cables are the same so been warned. Once you know the colours and where they go, you need to cut the cable leaving roughly 2” inches coming from the PCB as we’ll be using the remaining wires to patch in the new cable, matching red to red, black to black etc. However if you wish to you can completely remove the old cable by de-soldering it from the PCB and solder your new cable directly to the board. This makes for a neat and tidy finish, but it can prove a challenge depending on your soldering skills. So if in doubt, stick to my suggested route and leave some of the old wire in place. This way it will be easy to match up all those colour wires.
Assuming you are happy with the length of your new cable, trim back the outer sleeve and expose the four inner wires. You should have something like red, white, black and green, if your cable came from China you might find you have blue or even an orange in place of one of the standard colours. Not to worry, just check with your meter and make sure you know which pin the wire goes to. Hopefully if you’re really lucky it will match the wires on the mouse, otherwise you might end up with green as white or red as green. Again jot down the colours on your diagram, matching them up to the respective pins. Usually white and black are voltage, green and red are data. But never take anything for granted, always check!
Once you have the mouse rewired, hook it up to your computer and confirm its working. If nothing happens, check your pin out again.
The chances are your mouse came with a scroll wheel and depending on your skill level, you can either remove this with a hot air gun or use tin snips to remove the parts holding the wheel in place. Just be mindful that you don’t damage the traces on the underside of the PCB. A little wiggling is fine just try not to tear the components right off the board as that would be very bad. Assuming the scroll wheel is now removed, hook the mouse up to a computer and check that it’s still works. Hopefully it does, if not, check you haven’t broken and traces. I’ve make two Amiga mice so far and neither had an issue when the wheel was removed.
If you mouse came with a silly blue or red internal LED (note not the optical sensor!) You can snip it off, as the tank mouse doesn’t need lighting up internally. Your optic sensor does use a red led which is directed into a lens, don’t under any circumstances mess with it!
Here comes possibly the hardest part of the hack, inserting the new PCB into the tank mouse. Initially it won’t fit, for a start the optics will sit to high off the ground to be any good. So you’ll need a Dremmel to cut and sand the inside of the tank mouse, removing any lugs or protruding bits of plastic that are in the way. I’ve included a
photo to give you an idea of what it should look like, on both the mice I modded I had to superglue the cover ball cover in place. Depending on the donor mouse, the PCB might be too large for the inside of the Amiga mouse housing. If this happens you will need to trim the PCB with you Dremmel and a cutting disc. Regretfully I can’t walk you through this part as designs differ from one device to another. Usually trimming the board breaks the ground plane, you’ll need to do a little trace work with some wire to get things reconnected. Either way, you’ll have to get creative or find a friend to help you. Alternatively find yourself a donor mouse with a small PCB.
When your happy with the bottom half of the tank mouse, use a bit of blue tack and press the pcb down temporarily so that is sits inside the housing. Hook it up to your pc and take it for a test run. How does it perform? Is the cursor jumping about or shaking? If so, the optical sensor is probably sitting too high. First try pressing down the PCB with your thumb, does it improve? If it does, you might be able to get away with hot gluing the pcb while pressing it down with your thumb. Once the glue sets, the board will remain where it is. Otherwise use your dremmel to shave off a little more plastic before gluing the board in place.
Before you go gluing the board in place, we need to address the mouse buttons. You can do this one of two ways, either with a set of large micro switches or a pair of lever micro switches. The latter recreates the clicky sound of the tank mouse really well, but either will do the job just fine. Now returning to the PCB, you will need to remove the existing switches. As they will likely be too far back and not sit in the same place as the original Amiga buttons. You can either de-solder them or once again snip them off. I can’t stress the importance of being gentle at this point, if you damage the traces on the board at this stage you’ll have a hard time recovering the mess, so take it slow!
With the old switches removed, you can begin wiring in the new ones. Remember the new micro switches need to sit where the old amiga switches did inside the case. If you still have the original tank PCB, use it for comparison. If it helps, use a marker pen to drawn on the inside of the mouse case, so you have some guides to follow. Blue tack is your friend and will allow you to stick the switched down while you line them up with the mouse buttons. Once you have them lined up, you’ll need to wire them up to the new PCB. The wires will only need to be short and while it’s a little tricky to get everything sitting right, with a little time and patience it can be done, trust me I’ve done this twice.
With the new buttons wired up, you’ll need to test the mouse again by connecting it to a computer. If everything works, we’ll move on to the final stage, gluing all of the components in to place. It is up to you but I would strongly advise using a little blue tack to stick everything in place temporarily. Place the lid on the mouse and see if the mouse buttons work. Hopefully they should be clicking away inside the mouse and working just like the original. If things aren’t going exactly as planned, don’t worry because we used blue tack. Just pop open the mouse and adjust the switches a little until they are aligned with the plastic buttons build in to the upper lid. When you satisfied, remove the blue tack and use hot glue to fix everything in place. If you’ve only used a tiny bit of blue tack and don’t want to risk moving anything you can always glue the parts in place as they sit.
Finally with the buttons and PCB fixed in place, you need to put the flexible plastic piece back around the mouse cord. Simply peel it open using your thumbs and slide the cable inside. Because this collar piece is meant to keep the cable from pulling out of the mouse, you will need to use some glue to fix the cable from slipping up and down inside the collar. I did this by inserting some glue in the cut I’d made, not only does this hold the cable in place, but it also fixes the collar back together. Once the glue sets, it will stop you pulling the wires out from inside your mouse. Still, I’d recommend against holding the mouse by the cord.
All that is left to do now is to screw the mouse back together and take it for a spin. If you’ve been testing it a every step, nothing should have gone wrong. Hey presto you have a new Amiga USB mouse!
Since getting my Tandy M100, I’ve always wondered about connecting it to my main Linux machine. Doing so wasn’t beyond the realm of possibility and if successful, it would open up a whole range of things I could do with my tiny computer. Fortunately, there are two tutorials on the subject, but sadly both of them are out of date with the current distro’s of Linux. What follows is my revised version of both tutorials.
I will point out that this setup isn’t perfect, while I had no problem going on IRC chat and browsing directories, I discovered doing other things, such as using text editors was fraught with problems. The text wouldn’t load up on the screen properly or overlapped as the screen scrolled. While this is disappointing, I did find that I could upload text to an open document on my main PC. By running a session of Nano, I could press the UPLOAD button on the M100, select a file stored locally in the M100’s memory and load it in to the empty Nano document. While this isn’t exactly ideal, it does mean I no longer have fiddle around with Minicom. I can quite literally connect the M100 to my main pc and upload the document straight to the Hard Disk.
For any serious use, I would highly recommend using mComm, developed by Kurt McCullum. Availible on Windows and Android, it offers a convenient mass storage media for any TRS80 M100 Micro computer.
Setting up Linux
First we need to teach Linux the TRS100, so that it knows how to display the console when the Micro connects via serial. With a 40 column display, getting text to fit right is pretty important.
"Sudo nano /etc/trs100"
With the empty document open, paste in the following text.
trs100|Radio Shack Model 100:\ :am:bs:xt:\ :co#40:li#8:\ :al=\EL:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :\ :cr=^M:dl=\EM:do=^J:ho=\EH:kb=^H:kd=^_:kl=^]:kr=^\:\ :ku=^^:le=^H:nd=34:se=\Eq:sf=^J:so=\Ep:up=\EA:\ :ve=\EP:vi=\EQ
Originally part of Terminfo, because of it’s age the configuration profile for the model 100 was relegated to a UFO archive in the mid 90s. Luckily Eric S. Raymond found the file and published the details on his website.
With the text now pasted in place, save the file by pressing Ctrl+O, name it trs100. Before we can do anything with this file, we first need to make sure ‘libncurses5-dev’ and ‘libncursesw5-dev’ are installed on your computer. Type the following command in the terminal:
sudo apt-get install libncurses5-dev libncursesw5-dev
With the above files installed, we can now compile the terminfo file we
created by typing the following command
Providing there weren’t any errors, we can now move on to configuring Linux.
This is where things get a little more involved.
Since the last tutorial was written, Systemd has replaced the init sy which is used to open a console session via the serial port. Without it, it would be unable to communicate with Linux. So we must revise what the original tutorial tells us to do. Let’s begin by opening up a new document in Nano with the following command in the terminal
sudo nano /etc/init/ttyS0.conf
With nano open, copy and paste the following in to the window.
# ttyS0 - getty # # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc RUNLEVEL= stop on runlevel [!12345] respawn exec /sbin/getty -L 600 ttyS0 trs100
Save and close the document using Ctrl+O to save. While still within the terminal, type the following command.
sudo start ttyS0
By entering that command, you’ve now started a console via the serial port. But before you go trying to plug in your Micro, there’s just one last thing we need to do. If you’re serious about using your Model 100 with your Linux machine, one thing you might like is to have the output of the console visiable as soon at the PC loads up. To achieve this, we will need to alter the Grub configuration file.
While in terminal, type the following command and press enter.
sudo nano /etc/default/grub
Look for the follow entries and alter them to look exactly as they are
GRUB_CMDLINE_LINUX="console=ttyS0,600,trs100" Tip- ttys0 tells Linux which serial port to use, this could be change to ttyS1. 600 sets the communication speed to 600 baud, while this might seem slow, going higher can potentially cause data corruption. Specifying the trs100 profile, allows the console to display properly on the tiny screen of the micro.
# Uncomment to disable graphical terminal (grub-pc only) GRUB_TERMINAL="console serial" GRUB_SERIAL_COMMAND="serial --speed=600 --unit=0 --word=8 --parity=no --stop=1"
Tip-By invoking “console serial”, Grub is told to output via the display and serial. –unit=0, you might want to change this to 1, if your using ttys1. Providing all the fields are now updated, let us recompile the Grub configuration file using the following command
Some text will scroll up the screen, similar to what is below.
Generating grub configuration file …
Found linux image: /boot/vmlinuz-3.13.0-55-generic
Found initrd image: /boot/initrd.img-3.13.0-55-generic
Found linux image: /boot/vmlinuz-3.13.0-54-generic
Found initrd image: /boot/initrd.img-3.13.0-54-generic
Found linux image: /boot/vmlinuz-3.13.0-53-generic
Found initrd image: /boot/initrd.img-3.13.0-53-generic
Found linux image: /boot/vmlinuz-3.13.0-48-generic
Found initrd image: /boot/initrd.img-3.13.0-48-generic
Now connect your null modem cable to your PC and your Model 100. On your Tandy computer, run Telcom and type ‘STAT 48n1e’ followed by ‘Term’. Now place the micro to one side and reboot your Linux machine. As it is rebooting, watch the display on the Model 100, it should begin to display information. If not, you may need to look at what serial port your using, as it might be ttyS1, instead of ttyS0. An easy way to find out is to use Minicom, which allows you to quickly swap between com ports and communicate with your Model 100.
Providing all has gone well, you should see a prompt asking you to enter your username and log in to Linux.
Now go have fun!
Thanks goes to
Sean Gallagher, Brian Hicks, wiki.archlinux.org and help.ubuntu.com
Without whom making this tutorial would have been much much harder.