Hey everyone, back with another project. The antiAFK is something I originally started working on almost a year ago, but its only been since 2014 started that I've been making real progress on all my projects.
Plus, I just finished my MSc the other day so now I've got all the time to work on my OSHW!
The antiAFK is essentially a stripped down Arduino Leonardo with the intention of sending occasional keyboard commands to the attached PC with the intention of preventing the user from being logged out of online games due to inactivity. This can help on high population servers where being kicked back to the login queue can mean that you miss a group event. It randomizes the time between presses (with a min and max), the key from a set of valid keys, and the duration of the key press event. The period, variance, and valid key set are configurable by the user through the CDC serial port.

(http://http://imgur.com/UENa30U)
Here is the video I made today about the antiAFK:
http://www.youtube.com/watch?v=YMG83dEu700 (http://www.youtube.com/watch?v=YMG83dEu700)
All sources can be found at GitHub:
- PCB: https://github.com/Galvant/antiafk-pcb (https://github.com/Galvant/antiafk-pcb)
- Firmware: https://github.com/Galvant/antiAFK_firmware (https://github.com/Galvant/antiAFK_firmware)
I also have the board available on my website at http://galvant.ca/shop/antiafk/ (http://galvant.ca/shop/antiafk/) . I feel bad asking, but I would appreciate any support if you are interested. I'd rather work full time on open source hardware than going out and getting a "proper" job. So any help, even if its just comments/suggestions are helpful.
Tell me more about your hand-soldered VQFP, I am impressed.
[quote author="joeforker"]Tell me more about your hand-soldered VQFP, I am impressed.[/quote]
These were the first boards I soldered together that featured parts without exposed leads. I used my reflow/toaster oven, but I did not use enough paste for several of them. Thankfully, I had left plenty of pad exposed on the PCB. I applied plenty of flux and a small amount of solder to my iron. Just dragging over the pads then sucked up the required amount under the pins to make the connection. It went surprising well. In fact, you could probably do the entire board by hand without the initial reflow step so long as you do not require the center pad to be connected. Just make sure to leave enough exposed on the PCB to give you something to work with.
The exposed pad is also used to dissipate the heat generated by the small IC. Mostly it is not electrically needed, but just thermocally (?). For prototyping you prolly get a way with it.
[quote author="Sjaak"]The exposed pad is also used to dissipate the heat generated by the small IC. Mostly it is not electrically needed, but just thermocally (?). For prototyping you prolly get a way with it.[/quote]
True. Thankfully I'm not sinking/sourcing any real amounts on the micro so heat dissipation isn't a problem here.
I soldered a small exposed pad IC (with normal leads) successfully using a hot air gun. The data sheet will tell you whether the pad is electrically important, and usually recommends connection to ground.
I hate to sound negative, but isn't the ATMEGA32U4 a bit overkill for this?
I did something similar last summer using a Digispark, which uses the ATTiny85. In my case, I used the DigiUSB library to emulate a mouse instead of a keyboard, with a small amount of movement to prevent the screensaver from activating.
http://digistump.com/board/index.php/topic,1018.0.html (http://digistump.com/board/index.php/topic,1018.0.html)
[quote author="dougal"]I hate to sound negative, but isn't the ATMEGA32U4 a bit overkill for this?
I did something similar last summer using a Digispark, which uses the ATTiny85. In my case, I used the DigiUSB library to emulate a mouse instead of a keyboard, with a small amount of movement to prevent the screensaver from activating.
http://digistump.com/board/index.php/topic,1018.0.html (http://digistump.com/board/index.php/topic,1018.0.html)[/quote]
Normally I would agree, I wanted to make it compatible with the Arduino Leonardo.
[edit] After taking a closer look at the project, I might be able to transition to using their bootloader and libraries for a future revision. Thanks for pointing it out.
[quote author="joeforker"]Tell me more about your hand-soldered VQFP, I am impressed.[/quote]
It Is easier and faster to solder qfn/vqfp with an exposed pad than a ssop, just use this method http://www.youtube.com/watch?v=d-f-SBC0GrU (http://www.youtube.com/watch?v=d-f-SBC0GrU) with a good flux and iron.