Another keyboard addon

101 views
Skip to first unread message

David Knoll

unread,
Apr 12, 2013, 2:23:36 PM4/12/13
to fign...@googlegroups.com
I got a Fignition at GEEK 2013. I haven't done a whole lot of coding on it, but I have made another keyboard addon. After trying the Figgipad Encoder sketch for Arduino, I thought it could easily be implemented on an ATtiny2313 and would be ideal with a Bluetooth module. Then I changed to an ATtiny4313 and added a PS/2 socket, and a V-USB HID device through the Fignition's existing USB socket used for power and firmware updates. (Was going to be AVR-CDC but had early hiccups getting it working together.)

Currently it's using 3994 bytes of flash for all 3 input methods at once. All that's on the board is the ATtiny, another crystal, 3 ceramic caps and the connectors.

Pictures and code attached. Some code is adapted from the Figgipad Encoder sketch and some from the V-USB hid-data example. I have tried to make things non-blocking and use interrupts.

David

2013-04-12 18.21.48-2.jpg
2013-04-12 18.22.35-2.jpg
kbdaddon-20130412.zip

Julian Skidmore

unread,
Apr 12, 2013, 2:48:11 PM4/12/13
to fign...@googlegroups.com
Hi David,

Wow, gosh, really clever :-)

Video coming soon?

-cheers from julz
> --
> You received this message because you are subscribed to the Google Groups
> "FIGnition" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to fignition+...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>


--

The DIY 8-bit computer from nichemachines™

carl

unread,
Apr 13, 2013, 3:17:31 AM4/13/13
to fign...@googlegroups.com
Thats really impressive!
What are your headers for?
Great work.

David Knoll

unread,
Apr 13, 2013, 5:17:14 AM4/13/13
to fign...@googlegroups.com
The 6-pin male header is for programming the ATtiny. The 4-pin female header is for a serial Bluetooth module.

David

David Knoll

unread,
Apr 13, 2013, 2:54:48 PM4/13/13
to fign...@googlegroups.com
I've put better headings at the top of each file and made a small and probably pointless change to the keyboard scan code. Also laid out a board in Eagle.

David
kbdaddon-20130413.zip
schematic.zip

fig8r

unread,
Apr 13, 2013, 6:10:29 PM4/13/13
to fign...@googlegroups.com
David, this a really impressive accomplishment of combining the different interfaces in the ATtiny form. It shows a lot of skill and microcontroller design and programming experience. Here I'll share first impressions from the design. I can't wait to make it and see it in action.

There's been discussions on this group on some of the ideas, but making it all work is a great effort. The Figgipad Encoder code uses Arduino libraries. So to adapt it for ATtiny, requires reimplementing the beefy Arduino libraries into tight AVR code for clock, serial and key scan interfaces. Very nice work on timer/clock and leveraging pin change interrupts.

The most amazing piece is introducing the USB interface, using the existing FIGnition USB connector and still fitting the code into ATtiny4313. This is the part I looking forward to see the most.

The bluetooth idea is completely new. It is also clever, since it provides bluetooth breakout compatible pinout for TTL interface but also make the generic TTL pins exposed for other serial communication interfaces. I've only recently discovered that low cost adaptors can be found and make it very feasible to connect with PCs and mobiles.

I like the minimalistic board size and the placement of PS/2 connector in line with the board. The stripboard layout has many examples of what can be done in a small prototype with some tight scale through-hole integration. How the first row of the chip hangs off the board?! :) The reverse orientation of the board requires some experience in under-package soldering. But it hides the wiring nicely.

In general, a lot of bold innovation and ingenuity!

Reply all
Reply to author
Forward
0 new messages