News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_abalore

Abatape: My contribution to tape lovers

Started by abalore, 16:13, 23 September 24

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

abalore

Tape emulator inside your cassette, it doesn't need remote because it detects the reel rotation.

700 mAh battery (24 hour operation without recharging)

All the pieces and components are on the way. More news soon.


abalore

The prototype has been tested with many multi-load games, protected games, esoteric loading games and 4000 baud CDTs. I ignore if it could run faster.

Gryzor

Nice! Will you be putting it up for sale?

abalore

Quote from: Gryzor on 16:17, 23 September 24Nice! Will you be putting it up for sale?

Sure. More than 30 orders already. I just didn't make it public outside Spanish social media before.

Gryzor

Quote from: abalore on 17:16, 23 September 24
Quote from: Gryzor on 16:17, 23 September 24Nice! Will you be putting it up for sale?

Sure. More than 30 orders already. I just didn't make it public outside Spanish social media before.
Oh great, looking forward to it!

poulette73


Brocky

#6
i was gonna do something like this a couple of years ago when i got my 464 working, pulled a tape apart to try to fit in some devices but eventually canned it when all my stuff on hand was too big, considering needs a battery, screen, and mcu, sdcard and buttons..aswell as the read head that i didnt have on hand! its alot to cram in!

the rotation detection is a nice addition, how are you doing that? with a rotary encoder and some cogs? or something simpler, like IR reading lines on a standard spool?

i was thinking about using an ESP32 with large flash to store a bunch of games in, and a web interface to upload new games..and also control it..  just to save some space of not needing screen, buttons and SDcard.. and be able to fit in a USB battery charger board..

nice stuff! would love to see a pic of a real one please!....

abalore

Quote from: Brocky on 19:34, 23 September 24i was gonna do something like this a couple of years ago when i got my 464 working, pulled a tape apart to try to fit in some devices but eventually canned it when all my stuff on hand was too big, considering needs a battery, screen, and mcu, sdcard and buttons..aswell as the read head that i didnt have on hand! its alot to cram in!

the rotation detection is a nice addition, how are you doing that? with a rotary encoder and some cogs? or something simpler, like IR reading lines on a standard spool?

i was thinking about using an ESP32 with large flash to store a bunch of games in, and a web interface to upload new games..and also control it..  just to save some space of not needing screen, buttons and SDcard.. and be able to fit in a USB battery charger board..

nice stuff! would love to see a pic of a real one please!....

Hello, my project is based on Arduino Nano ATMega328p@16 Mhz and standard expansion boards: Battery charge controller, SD card reader and OLED screen. Then a custom PCB to assemble all parts together and another smaller PCB for the buttons. There is not a single cable in the device. The enclosure sides and the reel are 3D printed designs I made. The head is a 2112D type.

I detect the rotation wrapping a magnetic self adhesive sheet around the reel, then I put a hall sensor close to it. It produces a sort of sine wave as the wheel rotates. Later I convert the sine wave into a square wave using a single voltage operational amplifier in comparator mode. The resulting pulse is fed into the Arduino which listens for the pulses. If a certain time has elapsed without detecting any pulse, the player enters in PAUSE state, and returns to PLAYING state when a new pulse is detected. It's a simple concept that works well and is responsive in the scale of milliseconds.

I also added some internal variable resistors to adjust the square wave generation and the output power in the head, which is very important to achieve the maximum speed. I keep the head positioned so it's 1 mm away from the cassette deck head with a distancer and a spring, it showed to work better than directly touching it.

Finally, the firmware is a customised Maxduino firmware, removing all the stuff not concerning the OLED module I use and the ATMega328, and adding the wheel rotation sensing and some other improvements for easier operation.

I'm ashamed of showing the current prototype because it's a mess of cables, I prefer to have some beautifully finished version prior to show it. In the meantime, here you can see a exploded view of the device to see how the components are arranged (the hall sensor is not on it).


Brocky

thanks abalore, thats a nice solution for the rotation!.. custom pcb helps alot!

cant wait to see the final product!

BSC

This is great, my CPC 464 wants one :-) Where can it be ordered and do you|they deliver to Germany? 
** My website ** Some music

My hardware: ** Schneider CPC 464 with colour screen, 64k extension, 3" and 5,25 drives and more ** Amstrad CPC 6128 with M4 board, GreaseWeazle.

abalore

Quote from: BSC on 21:58, 23 September 24This is great, my CPC 464 wants one :-) Where can it be ordered and do you|they deliver to Germany?

Hello, this thread is ok to be added to the interest list. I will check it later. It will be delivered everywhere, but still needs some time. They are building and delivering the first prototype components and 3D printed parts at this moment. Probably a second prototype correcting minor issues will be required, which adds a couple of more weeks. And then I'll order the parts for the final device. I still don't know if the 3D printing (MJF with PA12-HP Nylon) will provide the required accuracy. In case it doesn't, I'll have to find other alternatives.

Gryzor

I think I forgot to say I want one😁

pelrun

Really neat design! Any reason you went with the analog hall sensor plus comparator instead of an integrated digital hall switch?

I should probably figure out a BLE device I can cram inside my 6128 that maps the remote signal to play/pause, then I can load tapes using my phone and my PlayUAE webapp without needing the cable...

abalore

Quote from: pelrun on 07:00, 24 September 24Really neat design! Any reason you went with the analog hall sensor plus comparator instead of an integrated digital hall switch?

I should probably figure out a BLE device I can cram inside my 6128 that maps the remote signal to play/pause, then I can load tapes using my phone and my PlayUAE webapp without needing the cable...
A digital hall switch is a good approach for the final design. In the prototyping phase I used an op-amp to have more control over the reference voltage and hysteresis width, because all the parameters of the generated magnetic field were unknown. With the prototype in hand I can guess those parameters and maybe find a switch that suits them. It would also require to be low consumption and work with voltages around 3V3 or slightly below.

abalore

Quote from: pelrun on 07:00, 24 September 24Really neat design! Any reason you went with the analog hall sensor plus comparator instead of an integrated digital hall switch?

I should probably figure out a BLE device I can cram inside my 6128 that maps the remote signal to play/pause, then I can load tapes using my phone and my PlayUAE webapp without needing the cable...
Also I'm working on replacing the counting of pulses inside the Arduino by an external pulse train detector to feed the Arduino with a simulated REM signal, so 100% unmodified existing firmwares can be used. I have already a working design in simulator if you are interested.

pelrun

Quote from: abalore on 09:19, 24 September 24A digital hall switch is a good approach for the final design. In the prototyping phase I used an op-amp to have more control over the reference voltage and hysteresis width, because all the parameters of the generated magnetic field were unknown. With the prototype in hand I can guess those parameters and maybe find a switch that suits them. It would also require to be low consumption and work with voltages around 3V3 or slightly below.
Cool. I was genuinely curious if there was a design issue I wasn't seeing.

Generally those adhesive magnetic tapes are configured as a halbach array, so the field is guaranteed to be fairly strong on the primary side, and flipping between full strength N and S with a null in between. So you don't even have to worry about tuning, just get a switch where the switching points are symmetric and close enough to the null field point, and you're set. Even a quick search on LCSC came up with a huge number of suitable options - https://www.lcsc.com/product-detail/Hall-Switches_Diodes-Incorporated-AH1808-P-B_C842168.html is just one that seemed to hit all the requirements with a quick read of the datasheet.

abalore

Quote from: pelrun on 10:24, 24 September 24
Quote from: abalore on 09:19, 24 September 24A digital hall switch is a good approach for the final design. In the prototyping phase I used an op-amp to have more control over the reference voltage and hysteresis width, because all the parameters of the generated magnetic field were unknown. With the prototype in hand I can guess those parameters and maybe find a switch that suits them. It would also require to be low consumption and work with voltages around 3V3 or slightly below.
Cool. I was genuinely curious if there was a design issue I wasn't seeing.

Generally those adhesive magnetic tapes are configured as a halbach array, so the field is guaranteed to be fairly strong on the primary side, and flipping between full strength N and S with a null in between. So you don't even have to worry about tuning, just get a switch where the switching points are symmetric and close enough to the null field point, and you're set. Even a quick search on LCSC came up with a huge number of suitable options - https://www.lcsc.com/product-detail/Hall-Switches_Diodes-Incorporated-AH1808-P-B_C842168.html is just one that seemed to hit all the requirements with a quick read of the datasheet.

I decided to give a try to this one: https://www.ti.com/lit/ds/symlink/drv5032.pdf

They seem to be basically the same.

Yes, the magnetic tapes have an orientation. When you cut them across they generate a N/S wave when rotating, if you cut them longitudinally they do basically nothing.

abalore

Quote from: pelrun on 10:24, 24 September 24
Quote from: abalore on 09:19, 24 September 24A digital hall switch is a good approach for the final design. In the prototyping phase I used an op-amp to have more control over the reference voltage and hysteresis width, because all the parameters of the generated magnetic field were unknown. With the prototype in hand I can guess those parameters and maybe find a switch that suits them. It would also require to be low consumption and work with voltages around 3V3 or slightly below.
Cool. I was genuinely curious if there was a design issue I wasn't seeing.

Generally those adhesive magnetic tapes are configured as a halbach array, so the field is guaranteed to be fairly strong on the primary side, and flipping between full strength N and S with a null in between. So you don't even have to worry about tuning, just get a switch where the switching points are symmetric and close enough to the null field point, and you're set. Even a quick search on LCSC came up with a huge number of suitable options - https://www.lcsc.com/product-detail/Hall-Switches_Diodes-Incorporated-AH1808-P-B_C842168.html is just one that seemed to hit all the requirements with a quick read of the datasheet.


As a side note, the design issue those switches can have is the sample rate, it's not usually very fast. With the direct sensor to op-amp I achieve responses in the range of microseconds while the sampling period of switches is in the range of milliseconds. That can be an issue or not depending on the application. In my case I don't think it's a big issue but I like to keep things as responsive as possible. Who knows when some milliseconds can be a difference, maybe in some very tight speed based protection system.

robcfg

That sound really good!

I guess it is quite CPC oriented, but could it be possible to support other machines?

abalore

Quote from: robcfg on 19:22, 24 September 24That sound really good!

I guess it is quite CPC oriented, but could it be possible to support other machines?
The firmware is based on Maxduino, so theoretically it supports all machines and tape formats Maxduino does:

  • Spectrum: TAP y TZX
  • Amstrad CPC: CDT
  • MSX: CAS y TSX
  • ZX80: O
  • ZX81: P
  • Acorn Atom y Electron: UEF (sin comprimir) y TSX
  • Dragon 32/64 / Tandy CoCo: CAS y TSX
  • SVI Spectravideo: TSX
  • Oric 1 y Oric Atmos: No soporta los TAP de oric, pero sí TAP convertidos a TSX

I don't know if there is room in the chip to add C64 support, I need to investigate that

robcfg

That's pretty nice!

Colour me interested in one once it's finished  ;D

Gryzor

I was wondering, since it plays sound, could the scope be expanded to something akin to SIDPlayer+?

Anthony Flack

Very nice indeed, certainly I would be interested in one too. Although it seemed I missed the call for Alcon 2020 carts when that happened.

abalore

Quote from: Gryzor on 07:14, 25 September 24I was wondering, since it plays sound, could the scope be expanded to something akin to SIDPlayer+?
I know it plays AY files, but didn't investigate that feature yet.

Philippe Lardenois

Count me for one. Great project, as usual.
Thanks Abalore.

Powered by SMFPacks Menu Editor Mod