English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware > Hardware mods

 
 
Thread Tools
Old 30 November 2018, 16:14   #1
sampedenawa
Registered User

 
Join Date: Sep 2017
Location: IT
Posts: 81
HID2AMI - *Any* HID mouse and HID gamepad to Amiga adaptor/converter


(logo by Oge)

---------------------------------------------------
HID2AMI GitHUB page with details, compatibility list, instructions !


Updated 17-Apr-2019: v1.8.b:
- Added support for SONY DUALSHOCK3 original pads

Updated 13-Apr-2019: v1.8.a:
- Fixed a stupid bug which prevented some 12-bit-axis mice to be correctly managed
Updated 10-Apr-2019: v1.8.9:
- Changed mousewheel behaviour:
1) Defaults to no action [hint: probably adding freemouse support in one of next updates]
2) Pressing all three mouse buttons together, board enters "pointer speed setting" mode [Led stops blinking->firmly lit]
3) Rolling Mousewheel now changes pointer speed / DPI sensitivity
4) Pressing all three button together again will save current setting and return to default behaviour [Led starts blinking again]
- Added support for Logitech MK250
- Added support for RAPOO 5G Wireless Mouse
- Added support for ATARI ST Mouse port (ALL devices)
Updated 30-Mar-2019: v1.8.8:
- Added support for Logitech M305 BT WL mouse
- Added Support for Trust IVY 18519 Wireless Mouse
Updated 12-Mar-2019: v1.8.7:
- Added support for Logitech MX510 MX518 G305 G203 G403 G603 G703 G903 gaming mice
- Added Support for Steelseries Rival 110 600 Gaming mice
Updated 04-Mar-2019: v1.8.6
- Added support for Logitech G506, G5 and GPro gaming Mice
- Added Support for Steelseries Rival 100 300 310 500 Gaming Mice
Updated 28-Feb-2019: v1.8.5
- Added support for MS Intellimouse Explorer Wireless
- Added support for generic concole-usb dual stick adapters
Updated 28-Feb-2019: fw revision 1.8.0
- Added support for Dual Shock 4 PS4 original controllers;
- Added support for 3rd party PS3 and PS4 compatible controllers;
- Improved support for Logitech wireless and gaming mice
Updated 11-Feb-2019: fw revision 1.7.3
- Added custom free mapping of first 4 buttons of Gamepad. By pressing 4buttons+LeftStickDown the board enters in mapping mode; pressing in turn single buttons maps them on Amiga1->Amiga2->Up->Down
- Added custom mapping config autosave: each custom configuration is permanently stored and recalled upon Gamepad reconnection.
- Separate permanent configs (up to 20) are saved and recalled automatically upon recognition of Gamepads brand/model
- Added support for 12 bit high resolution gaming mice
- Added customizable real-time mouse pointer speed adjust, by rolling the mousewheel forward/backwards
Updated 22-Jan-2019: New mapping for pad buttons (B1-B2-UP) and new pad decoding core (even faster) [/COLOR][/B]
Updated 21-Jan-2019: Added support for MS peripherals, XBOX 360 Gamepad clones and MS Intellimouse, fw revision 1.6.0
Updated 20-Jan-2019: Setup GitHub page with building instructions, fw revision 1.5.2
Updated 16-Jan-2019: Added support for USB 2.0 and PS3/PC pads, fw revision 1.5.2
Updated 09-Jan-2019: Added support for Analog Sticks (mapped to digital outputs towards Amiga), fw revision 1.4.2
Updated 15-Dec-2018: final pcb arrived and tested with positive results !



I am presenting here my latest hobbyist project:

-- What it is:

HID2AMI is an HID mouse to quadrature waveform converter and HID Gamepad adapter for the Amiga (and AtariST also..) series of boards; it allows ANY modern HID mouse (not limited to PS/2-USB) and almost ANY (*) modern digital/analog Gamepad to be connected and enjoyed with our Amiga computers.

(*) see the compatibility list on github to have an overview of tested peripherals

There are a few similar free projects out there on the net (the most known is Smallymouse2), as well as a number of "commercial" projects (coccolino, Ryz, Tom2 ..) but this one has some major advantages:

- it is natively Amiga-oriented;
- it is frequently updated;
- hw schematics and pcbs are open and free;
- handles and manages any HID mouse, joystick and gamepad with autodiscover of capabilities and automatic button mapping
- it is a 100% Italian project (ok, I admit this one could not be the smartest thing to write on an English board )



-- How does it work ? (in brief):

HID2AMI recognizes and manages any HID device connected to its USB interface; if the device is recognized as an HID mouse, then HID2AMI starts understanding live movements and button pressings of the peripheral, then converting both of them into proper quadrature waveforms (and Amiga mouse button pressings) which can be properly understood by the Amiga itself, as if a quadrature "Amiga" mouse was connected.

If the device is recognized as an HID gamepad, then HID2AMI maps pad's controls on the Amiga Joystick port/interface.
Gamepad's buttons are mapped evenly on Amiga button1/button2 inputs.

There is no need to manually configure the emulation mode: device recognition and operation mode switching are automatically performed by HID2AMI itself.


-- How far is the project complete ?

The final rev. 1.1.0 pcbs are in "production".


-- Who developed HID2AMI ?

HID2AMI hardware and firmware were designed and developed by Sampedenawa, following a discussion born on Italian www.amigapage.it Amiga forum.


-- Will it be shared/given away/sold ?

At the moment my idea is to release the schematics as open source, while keeping the firmware code closed: I would like to distribute soon a number of boards to anyone could be interested.
This is why I would like to share this project with other of Amiga fans, but I would not definitively like finding some "wise guy" making money by cloning and selling my project without having spent a minute on helping develop it.


Anyone could be interested in it, please share your thoughts here !


-- Ok bud, you talked enough, but can we have a look at it ?

Sure !


rev1.1





---------------------------------------------------------------------------------------

------------ > Videos of HID2AMI in action:



---------------------------------------------------------------------------------------



Please give me feedbacks !

Last edited by sampedenawa; 17 April 2019 at 08:35.
sampedenawa is offline  
Old 30 November 2018, 19:38   #2
shaf
Registered User
 
Join Date: Jun 2012
Location: Toronto / Canada
Posts: 150
look interesting, will it work with the mousewheel and 3 button mice without needing extra software.
shaf is offline  
Old 01 December 2018, 16:55   #3
sampedenawa
Registered User

 
Join Date: Sep 2017
Location: IT
Posts: 81
Quote:
Originally Posted by shaf View Post
look interesting, will it work with the mousewheel and 3 button mice without needing extra software.

Yes, confirmed.. you can already see it at the beginning of the second video I linked. There I clicked MMB and the diagnostic promptly recognized it.

Of course, in order to get full advantage of 3rd button and mosewheel you always need some extra driver or management software out of stock amiga system, but this can't be skipped by adding external hw !

Besides, I just tested the MMB with "WheelMouseSupp" driver (http://aminet.net/search.php?query=wheelmousesupp) and, as expected, it works.
sampedenawa is offline  
Old 03 December 2018, 08:11   #4
watman
Registered User

 
Join Date: Apr 2018
Location: Poland
Posts: 36
Is it mouse-only, or is there a chance it will support USB gamepads?
Also, is there a way to add the regular joyport there, and the automatic selector?
watman is offline  
Old 03 December 2018, 10:57   #5
sampedenawa
Registered User

 
Join Date: Sep 2017
Location: IT
Posts: 81
Quote:
Originally Posted by watman View Post
Is it mouse-only, or is there a chance it will support USB gamepads?

At the moment the firmware is mouse-only, but it can be easily extended to handle all kind of HID-compliant devices (so including USB gamepads).

Automatic discovery will come "for free", because any HID device declares himself to the board upon connection.

It is only a matter for me of having the time to work at it (at the moment I can handle a few hours during weekends ) !

As soon as the "production" boards will arrive from China, I am planning a full weekend of tests, and I am expecting myself to add some of these functions to the firmware.


Quote:
Originally Posted by watman View Post
Also, is there a way to add the regular joyport there, and the automatic selector?
You read my mind
Me and another Italian "Amigaware hobbyist" (SukkoPera) are planning to merge this project together with his "OpenMouseSwitcher" into a new "all-in-one" board which will do (besides switching a joy on mouseport, also).

Last edited by sampedenawa; 03 December 2018 at 11:04.
sampedenawa is offline  
Old 06 December 2018, 16:44   #6
sampedenawa
Registered User

 
Join Date: Sep 2017
Location: IT
Posts: 81
Added support for gamepads (automatically recognized at connection)


Here a quick pic of the setup




Still waiting for the PCBs to arrive from China !


sampedenawa is offline  
Old 06 December 2018, 17:39   #7
esel
Registered User
 
Join Date: Jul 2012
Location: Kassel
Posts: 124
Cool ! Hope that i can get one soon
esel is offline  
Old 06 December 2018, 20:40   #8
sampedenawa
Registered User

 
Join Date: Sep 2017
Location: IT
Posts: 81
Quote:
Originally Posted by esel View Post
Cool ! Hope that i can get one soon

I will notice here as soon as the pbcs will arrive and I will be alble to build first "production" prototypes.


It is my intention to distribuite in same way a small number of units for "early bird enthusiast beta testers" in order to help me test and [maybe] debug.


The only thought that's worrying me at the moment is: "how should I map the eleven buttons of my Thrustmaster gamepad onto the Amiga joyport" ?
sampedenawa is offline  
Old 07 December 2018, 07:57   #9
watman
Registered User

 
Join Date: Apr 2018
Location: Poland
Posts: 36
Quote:
Originally Posted by sampedenawa View Post
It is my intention to distribuite in same way a small number of units for "early bird enthusiast beta testers" in order to help me test and [maybe] debug.
I'm all in for this one!

Quote:
The only thought that's worrying me at the moment is: "how should I map the eleven buttons of my Thrustmaster gamepad onto the Amiga joyport" ?
It may need digging into CD32 code/HW, but probably would need a dedicated .device for the usb pads and extensive mapping...


Just wondering if dual USB (mouse+pad) is possible on one joyport...
watman is offline  
Old 15 December 2018, 22:29   #10
sampedenawa
Registered User

 
Join Date: Sep 2017
Location: IT
Posts: 81
Production pcb tested and confirmed working !

Please see first post (updated) for info !

Any comments appreciated !
sampedenawa is offline  
Old 16 December 2018, 01:02   #11
crabfists
Registered User
 
Join Date: Feb 2008
Location: warrington UK
Posts: 102
I’m really interested in this. Great work.

I’ve tried various USB mice adaptors and had issues with them. I had problems with the right mouse button not being detected properly on my 1200.

I also found the mouse pointer speed to be far too fast. Will your device offer a way to adjust the sensitivity?
crabfists is offline  
Old 16 December 2018, 09:34   #12
sampedenawa
Registered User

 
Join Date: Sep 2017
Location: IT
Posts: 81
Quote:
Originally Posted by crabfists View Post
I’m really interested in this. Great work.

I’ve tried various USB mice adaptors and had issues with them. I had problems with the right mouse button not being detected properly on my 1200.

I also found the mouse pointer speed to be far too fast. Will your device offer a way to adjust the sensitivity?

The issue with most of un-buffered adaptors and RMB on some A1200 (mostly Rev. 2B) is a common problem. That's why I designed the "DeLuxe" version, which provides mosfet output buffers and should (*) work fine with any Amiga.


(*) As long as today, I tested it and found working on my five A1200 (all revisions covered), seven A500/+, an A600 and an A4000. But of course I can't guarantee anything else


With regards to sensitivity: at the moment it can be set internally in firmware (i.e. not by the final user). My future plans about the project comprise the capability of setting a number of config parameters by mean of a windows application through the USB port, but this is a spare-time hobby for me, and I can't tell you how long will it take to me to implement that.
Today, my first goal is to test compatibility against the most number of pads is possible.
sampedenawa is offline  
Old 20 December 2018, 12:25   #13
mikele
Registered User
mikele's Avatar
 
Join Date: Dec 2009
Location: poland
Posts: 301
count me in for testing
mikele is offline  
Old 09 January 2019, 15:05   #14
sampedenawa
Registered User

 
Join Date: Sep 2017
Location: IT
Posts: 81
Briefly updated project's status and added a couple of new hires pic of the second assembled board.


At the moment I am working on fw release 1.5.0 (see first post for details) and I would be confident to be able to release schematics, gerbers and a few assembled boards within 1Q/2019.


As always, your comments/critiques are welcome (including any sarcastic comments about my awful english writing skills, not to mention my soldering skills as well)
sampedenawa is offline  
Old 09 January 2019, 16:41   #15
Jope
-
Jope's Avatar
 
Join Date: Jul 2003
Location: Helsinki / Finland
Age: 38
Posts: 7,131
Looking good! One suggestion: you should have copper plated vias for the two mounting tabs in the USB connector, then the mounting tabs should be properly soldered in. This is important for strain relief.
Jope is offline  
Old 09 January 2019, 17:13   #16
sampedenawa
Registered User

 
Join Date: Sep 2017
Location: IT
Posts: 81
Quote:
Originally Posted by Jope View Post
Looking good! One suggestion: you should have copper plated vias for the two mounting tabs in the USB connector, then the mounting tabs should be properly soldered in. This is important for strain relief.

Thanks for the tip !
I will fix it in the upcoming v1.1.0 pcb (also removes some of redundant components, which you can notice not assembled in v1.0.0 pics above in 1st post)
sampedenawa is offline  
Old 09 January 2019, 17:47   #17
Marlon_
Amiga Programmer

Marlon_'s Avatar
 
Join Date: Mar 2016
Location: Sundsvall, Sweden
Age: 30
Posts: 566
Would be nice with a version that uses the pin header internally for the 1200 boards that has the header and has a USB header so you can mount a USB mouse port wherever you want.

Really nice project!
Marlon_ is offline  
Old 09 January 2019, 20:56   #18
Cav
Registered User

 
Join Date: Jan 2019
Location: Sundsvall
Posts: 5
Awesome project! Id like to buy it as a do it your self kit if possible? All components but unassembled.
Cav is offline  
Old 10 January 2019, 09:50   #19
sampedenawa
Registered User

 
Join Date: Sep 2017
Location: IT
Posts: 81
Quote:
Originally Posted by Marlon_ View Post
Would be nice with a version that uses the pin header internally for the 1200 boards that has the header and has a USB header so you can mount a USB mouse port wherever you want.
Really nice project!
Interesting tip, thanks !
At the moment I am focused to make this first release rock solid, but I will drop myself a note for it in my "todo" list.



Quote:
Originally Posted by Cav View Post
Awesome project! Id like to buy it as a do it your self kit if possible? All components but unassembled.

Yes, it is an option I have considered.


I am thinking about the following options (or any combination of):


- Free schematics and gerber files;
- Free downloadable fw bootloader for everyone;
- fw App tied 1:1 to each board (i.e. each board will need an uniquely "signed" fw, which is tied to its uP unique id);



So in order to have a complete working device, the user could either:


1) Build and assemble the board himself, starting from gerbers and BOM + get the fw app from me (simply sending me a request + a proper "code" -very easy procedure I have already tested-);


2) Get a "DIY kit" from me (unassembled pcb+components) + assemble the board himself + get the fw App from me as above;


3) Get a fully assembled board from me, assembled by me (but I have a very limited time for this, so it will be a VERY small number of boards);


4) Get a fully assembled board from me, assembled by a professional supplier (would be great, but I should have to invest some heavy money for it, and this is an hobbyist project, not a commercial business for me, so..);


Just let me a few time to complete fw revision 1.5.0, I'm planning to make available an initial small number of boards for "early bird" users within few weeks. I have received an unexpected (large) number of request of interest about this project, and I want to be sure to release a "solid" product to all these early Amiga enthusiasts !


[request, please read] By the way, taking into consideration that this is a hobby for me and (luckily) I do not need to make my living by selling boards, what would you consider (I am asking to any forum user, I wil appreciate your opinion) a "right" price for the option n.2 (the DIY kit) ?

I mean, what would it be the price you'd happily pay for it (leaving apart any consideration about the real cost of production) ?




I will post here updates very soon.

Last edited by sampedenawa; 10 January 2019 at 10:02.
sampedenawa is offline  
Old 10 January 2019, 10:24   #20
Cav
Registered User

 
Join Date: Jan 2019
Location: Sundsvall
Posts: 5
Id be happy to pay €15-20 for the DIY kits.
Cav is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
New USB HID mouse / USB Joystick / Gamepad USB adapter for the classic Amiga spidi News 188 09 April 2019 19:11
Amiga USB Mouse Converter Homer79 Hardware mods 0 07 April 2018 22:13
New USB HID Keyboard adapter for the classic Amiga spidi News 40 11 December 2015 13:19
Mapping HID-compliant game controller Gamma Goblin support.Hardware 2 10 January 2003 03:17

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 03:10.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Page generated in 0.17325 seconds with 12 queries