Wednesday, 30 December 2015

Latest Software

Here is the latest software release for Casduino (The MSX CAS file playing version). What used to be the Motor Control On/Off button now selects 1200 or 2400 baud speed for faster loading. We have tried 3600 baudrate but it's too much for the software. There is some scrolling of filenames but it is buggy.


If there are any programmers please feel free to improve on the code and let us know.



Let me know of any problems with link.

Thursday, 24 December 2015

An Early Christmas Present For MSX Users.

Thanks to my very good friend and partner in this project, Andrew Beer, there is some exciting news.

It's still in it's early stages and everything isn't quite functioning properly yet but we have an Arduitape playing .CAS files without conversion. More testing is needed and it's at 1200 baud so the loading is slow but it's most definitely a start. It also has LFN support too so hopefully if we get the scrolling working, it will be even more functional.

Thursday, 10 December 2015

One Step Forward One Step Back

The Bad News
In the last blog I said I was trying some new hardware. It was a nice cheap MP3 player SDcard combo that would've taken the need for some of the libraries out of the Ardui code and freed up memory for conversion on the board.

Unfortunately the MP3 player could not recognise filenames and would not be able to display them on the screen making it difficult to choose what games you wanted to play and making that board a dead end. 


The Good News
Whilst playing with the MP3 player we realised that some games didn't convert properly with cas2wav at any frequency so whereas we thought it may have been a frequency issue it was actually a conversion issue when using players. By adding a couple of seconds silence at the end of each WAV all loading issues have been solved even at higher baud rates so now the only games with issues are bad archives.

The new version of CasTools for MSX games can be found at the following link.

Arduitape CasTools



The Ugly
The Ugly isn't accurate because the next step for Arduitape I'm hoping will be beautiful but it is a major step and a test of my abilities. 

After finding cheap STM32F4 Discovery boards on the internet I'm hoping to convert the project to that board and set of chips. This will be able to do all the conversions for all machines on board without anything having to be done beforehand by the user. It will also mean less construction so it will be much easier to build. 

However the change in code and the coding skills required is ugly.

Also Andrew Beer is still working on the original to see if it is possible to do the conversion on board. The project is still very much alive.


I will keep you all updated

Saturday, 31 October 2015

It's been a while

It's been a while but a new version of the Arduitape is in the process of being designed and built. We have found new (for us) hardware that contains the audio jack, SD card, and also a MP3/Wav decoder that should make the building easier and free up memory in the Nano so that the conversion to Wav is built in. It will mean a software rewrite as well as the hardware changes so it may take some time, however please watch this space.

Sunday, 12 July 2015

A Hardware Tweak And A Plea to Arduino Programmers.

Hardware Tweak

My partner in crime, Andrew Beer, has come up with a slight modification to the Amp board to improve the audio output quality. It does nothing to improve how the computer "hears" the files but it is a lot nicer to the human ears.

It's nice and simple. Just remove the Capacitor C1 off the board. (Circled in the picture)








Plea To Arduino Programmers.

O.k. I have to admit defeat here with improving the programming. I need help from anyone who can either add or tell me how to add LFN support and maybe a basic loading animation and possibly even some sort of display of a countdown as to what's left to play of a file. Later on I will also need your help to see in onboard conversion to wav is possible. Big ask I know but it would be nice to get the project moving forward again.

Friday, 3 April 2015

Improving The Interface

Adding Long File Name Support

After building another Arduino based cassette player replacement ,Tapuino for the C64, and seeing how their interface works we have decided that LFN support would be a good idea for the Arduitape.

This requires the usage of a different library. At first we'd hoped it would be a simple update of the SDFat library without a code rewrite but as with most projects the simple answer didn't work.

I'm now looking into using Arduino-FatFS by Gallegojm which is based on Petit FatFS by ChaN. It may require a code rewrite though.

You can find Arduino-FatFS here. https://github.com/gallegojm/Arduino-FatFs

Saturday, 14 March 2015

Arduino Uno based Mark III.

Arduino Uno based Mark III.


In a bid to make the overall dimensions smaller and also easier to build I have built the Mark III which is based on an Arduino Uno board, which is more expensive but a more reliable USB port and a built in DC power in port.

The button board is still the same but there is a slight change in the design of the filter board.









I may have left off one extra ground pin on the design.












Because of how the Uno is built you can connect everything directly to the board using female to male dupont wires. I was lucky enough to have an Uno board with both male and female headers so I had even more flexibility.

And heres the final build.






 


Thursday, 5 March 2015

A few design changes.

VOLUME CONTROL

Someone who is interested asked about volume control as some 8-bits are sensitive to volume of playback. I had thought about this originally, as I know from experience that the MSX can be tricky, but did nothing more other than to adjust the potentiometer on the amp before I placed the ArduiTape into its housing. However if you are using this on different computers this could be annoying so I've decided to modify the amp.


If you want to do this you will need to get a 10k Ohm variable resistor/amp. Logarithmic is the best type for volume control but linear is cheaper. Also try to get a 3 pin mono as they fit best.


This is the type I got for testing purposes.












Desolder and remove the existing potentiometer, very carefully and add 3 single pins into the holes left behind.











Once that is done take 3 dupont wires and remove the connectors off one end and solder the wires to the pins on the new potentiometer. Connect the wire from the middle pin to the middle pin on the amp board and connect the outside pins on the potentiometer to the outside pins on the amp.

This is what mine looked like after I'd done it. obviously the potentiometer is too big but I wanted to test the theory first.










Redesign Of The Button Board



For the Button Board I have redesigned it so that the buttons are on the under side as that way they will fit more snug in to the housing and will protrude more for easier use.






 Bottom View Of the Button Board.





Top View Of The Button Board






Pin connections labelled.





Wednesday, 25 February 2015

How to get files running on your computer.

At the moment ArduiTape can only play .wav files and these .wav files have to be below 20kHz due to limitations of the Arduino Nano. We hope to be able to get the conversions done automatically by the Nano board eventually but development is in an early stage as we've been focusing on getting the boards working first.

Arduitape does support sub directories but to move back and forth you need to create a file called ROOT with no extension. This can be done using a text editor like Wordpad. Create a new file, save as ROOT.txt and then rename the file and delete .txt. Put the file in every subdirectory on your SD card.

Another thing worth noting when loading 2400 baud wavs is that sometimes the wav will stop playing and it will look like the game hasn't loaded. Just press play and wait 5-10 seconds and the game will start.

MSX
For the MSX we have adapted a version of CASTools to convert .CAS files into .wav files at the right frequency to work with the ArduiTape. This 14400Hz for those who are interested. This works perfectly for most .CAS files at both 1200 and 2400 baud (2400 baud loads the games faster), however CASTools has a known issue with Gremlin Graphics games and a few others. We have found that the games that do not work with CASTools do work with Tapdancer though and Andrew has managed to create a programme that converts Tapdancer files into usable .WAV files at the right frequency.

CASTools for ArduiTape
To use just double click on CASTools and drag a .CAS file into the window. Choose if you want the .WAV to be at 2400 baud or not and then convert.

Tapdancer File Rip.
To use copy all the files from the tapdancer folder of your Android device to the files folder and then run Tapdancer File Rip.exe as Administrator. The .wav file you want to copy to your ArduiTapes SDCard is the 14400.wav file. Just rename it to the name of the game.

As the MSX has many different load commands and Arduitape cannot handle long filenames I recommend creating folders named after the load command the game requires. E.g. All games that use the bload"cas:",r command go in a directory called Bload.

ELECTRON
For the Electron find and download UEF2WAV to convert the .UEF files and then use a programme like Gold Wave to Amplify the .WAV and then resample to 16000Hz. Your .WAV file should now be compatible with Arduitape.

Other Computers
At the moment there have only been  2 Arduitapes built and they have only been tested on the MSX and Electron. If you build one for use with another computer let us know so we can work with you to get it working on that system.

Optional extras and housing the unit

Optional Extras

The reset switch build is simple. Use a 5 hole by 5 hole piece of veroboard, connect the button to the centre, cut the copper strips in the same way you did on the button board, solder two wires and connect one wire to the RST pin and one to the standalone ground pin.

The 5v adapter jack is constructed in a similar manner to the 2.5mm jack. Solder a wire to each of the connectors and connect one to the GND and one to the VIN. If when you connect an adaptor nothing happens then switch the wires over.


Housing the ArduiTape

I bought my project box from Maplins as they have a wide range of project boxes. Always make sure when you do house your project you allow more room than you actually need as the wires do take up a lot of room.










My Project boxed.                                                                           Andrew Beers Project boxed.

Tuesday, 24 February 2015

The final steps

The final step is building the Button Board and the connecting everything together.
The Button Board.
For this you will need the following.
Veroboard I use (10 x 20 holes with the copper strips running horizontally)
5 x Buttons.
6 x Right Angle Male Pins.
Jumper wire.










Top view of the Button Board.

Flip the board over and cut the copper strips where indicated.










Bottom view of the Button Board.


That is most of the construction done. The only things left to do is cut off one end off two dupont wires (for ease make sure one is black) and solder the wires on to the connectors of the 2.5mm port.



ASSEMBLY

This is where it gets complicated. First we will connect the LCD screen to the Nano board.


Use 4 dupont wires and connect to the pins on the back of the LCD screen. The wire on the pin marked VCC goes to a 5v pin. GND to a Ground pin. SDA goes to pin A4 and SCL to A5.

Now the SD Card Slot.










CS to D10
SCK to D13
MOSI to D11
MISO to D12
VCC to 5v
GND to Ground

 Your SD card reader may have it's pins named differently but the pin order is usually the same.


Now to connect the Button Board.
 







I've numbered on the picture where each cable should go on the Nano board. The pin numbered D6 actually goes to D7

The Filter Board and the Amp.
















VCC to 5v Pin on the Nano Board
In to Amp in on the Filter Board
Both GND pins to the Ground Pins on the Nano Board.

On my Amp the is a green socket for two wires that go to the 3.5mm Socket I used a red wire for the in and Black for the GND and soldered the other ends to the 3.5mm socket.

The final piece of teh puzzle is the 2.5mm Motor Control socket. One wire goes to D6 and the other goes to the hopefully final Ground Pin.

The final piece of the puzzle is to programme the Arduino.

You should find the relevant .rar file here.
http://s000.tinyupload.com/index.php?file_id=97271397603044485767

Monday, 23 February 2015

How to build the circuit boards.

And now on to construction.

For the Nano Circuit board you will need the following

Veroboard (I used a piece 13 holes by 19).
32 DIL Wide Socket.
28 Male Pin Headers.
Jumper wire.

Cut the jumper pins to the following

3 x 1 Pin
2 x 2 Pins
2 x 4 Pins
1 x 6 Pins
1 x 7 pins

Make sure the copper strips on the veroboard are vertical and on the underside of the board.














Top view of the Nano Board.

 When you have soldered all the components flip the board over and remove the copper strips where indicated. Be very careful not to cut yourself.











Underside  view of the Nano Board

When completed it should look something like this.












Now on to the Audio filter. You will need the following.

Veroboard (I used a piece 9 holes by 15)
4 x 4.7k resistors.
3 x 4.7nF Capacitors
1 x 100nF Capacitor
3 x Male Pin headers.

Cut your male pin header into single pins.



C1, C2, and C3 are the 4.7nF Capacitors
C4 is the 100nF Capacitor.



Top view of Audio Filter Board.

Now flip the board over and cut the copper as indicated.











Bottom View of the Audio Filter Board

The final assembled board should look like this (minus the wires attached to the pins).













In the next blog we will build the Button board and then assemble all the componants.


What you need.

For this build you will need the following

95x54mm of veroboard or larger.
1 x Serial I2C 1602 16x2 Character LCD Module
1 x Arduino Nano V3.0 (or cheap knockoff)
1 x Micro SD Storage Board For Arduino
1 x DIL32  Wide Socket
4 x 4.7k Resistors
3 x 4.7nF Capacitors
1 x 100nF Capacitor
1 x LM386 Audio Amplifier
1 x 3.5 mm Female Jack
1 x 2.5 mm Female Jack
5 x Tactile Buttons
A strip of Male Pin Headers
A strip of Right Angle Male Pin Headers
Some jumper wire
Some female to female Dupont cables.

Optional.
1 x Tactile Button for a reset switch
1 x DC Socket Charger Power Jack Plug if you do not trust the USB socket to provide adequate power for the Arduino Nano.

All of these can be found relatively cheaply on eBay just make sure you check where they are being delivered from as it takes up to 4 weeks to get to you from China.

In the beginning.

This is just a test post to see if I know what I'm doing when writing a blog on how to construct the Arduitape project.







A taster of what the final product can look like.