Skip to main content

MapleTape - Moving towards combining firmwares.

One of my desires when I first thought about this project was to have something for everyone and for users to just be able to put their files onto an SD card and go but to remain cheap. The Arduino Nano was the perfect starting place for that but it quickly showed it's limitations, so now we're trying to port the firmwares over to the Maple Leaf Mini using the STM32Duino add on to the Arduino IDE.

It's still very much a work in progress and there has been a slight hardware change, the original SD card readers we used are not compatible with the Maple Mini, but we have managed to get the Maple Mini version of ArduiTape working and playing .WAV files. Unlike ArduiTape you are not restricted to the frequency of .WAVs you can play and you also do not require a low pass filter to play the .WAVs

What you need.
Maple Leaf Mini
1602 I2C LCD 

TF Micro SD Card Module Mini SD Card Module Memory Module
LM386 Amplifier Module
5 button button board (See earlier blogs for instructions).
3.5mm Audio Jack
2.5mm Audio Jack

Optional: Veroboard and 40 pin IC DIP socket.

I connected my Maple Mini to a piece of Veroboard as I could then add more pins to connect to for 5v and GND which gave me more flexibility.
Normally the Maple Mini is a 3.3v board so you can't power the 1602 from the VCC pins as normal but I have found that if you use a mini USB cable to power the Maple that 5v comes out of the VIN pin and so you're actually able to power the 1602 and the LM386 from that.

Connections
SD card
MOSI        -> Pin 4
MISO        -> Pin 5
SCK/CLK -> Pin 6
CS            -> Pin 8
3.3v          -> VCC
GND         -> GND

1602 I2C LCD
GND         -> GND
VCC         -> VIN

SDA         -> Pin 15
SCL          -> Pin 16

Button Board
Down       -> Pin 17
Up            -> Pin 18
Stop         -> Pin 19

Play          -> Pin 20
Menu        -> Pin 22
GND         -> GND


LM386
VCC         -> VIN
IN             -> Pin 27
GND         -> GND

GND         -> GND

2.5mm Audio
Active pins-> Pin 21
GND          -> GND



Using the Arduino IDE with STM32duino installed you can upload this sketch with it's improved TMRpcm library and play 8-bit wavs.

Next step

Now that I have MapleTape working (Doesn't stop when it gets to the end of the file yet but it basically works) I can try to port CASDuino and TZXDuino over using the same hardware.
Once that is done I can try combining CAS and TZXDuino first and then add MapleTape to it so that all three firmwares will be on one board which will bring me closer to my original idea.

Comments

Popular posts from this blog

Introducing the TZXDuino

A Giant Leap For Nerd Kind.
I'm not usually one for silliness but Andrew Beer has been working hard in the background trying to programme the Arduino to play ZX Spectrum .TZX files without the need to convert to a .WAV. Today he has managed to do that with some .TZX files but also with .TAP files as well. The code is still very much in the early stages so the compatibility with.TZX files is still relatively low but in theory all .TAP files should work. I only have 5,246 to test.
What's even better is that the code will work on both the Arduitape and the CASDuino hardware by just uploading the programme to the Nano.

Simply download this file, unzip and load in the Arduino IDE.

TZXDuino 1.7

TZXDuino 1.7
This fixes issues with pause lengths that we never noticed before. It should fix games like Top Gun and Street Hawk for the Spectrum and make CDT files behave as they should for the Amstrad CPC.Changes.
*Maximum pause length of 8.3 seconds due to the TimerOne library has been worked around.
*ID20 Pause Block fixed.
*Temporary fix for pause after motor control removed.https://mega.nz/#!aEt1VJKZ!ZFw-fP3bkNTtiPlbG_IllmR94Xni3KvIGUn6Jggfof8

How to change Firmware on the Arduitape/TZXDuino/CASDuino.