-------- Original Message -------- From: Christopher Havel laserhawk64@gmail.com Apparently from: arm-netbook-bounces@lists.phcomp.co.uk To: Eco-Conscious Computing arm-netbook@lists.phcomp.co.uk Subject: Re: [Arm-netbook] modifying a 7 inch notebook cabinet to accept apc card Date: Thu, 25 May 2017 17:40:52 -0400
Keyboard is easy if you know a little electronics. A laptop keyboard is a matrix keypad. Rows and columns. One key connects one row to one column.
Look up a little thing called the "Teensy" -- it is a microcontroller board. You can (if you are very good at soldering) connect from the keyboard's PCB connector (cut the
Can the teensy make the key mapping correct and the key mapping will be correct when arriving at the computer's usb port?
PCB and solder to the connector while it's still on there -- no shorts, mind you, or it won't work, and the pin pitch is usually insane...) to a Teensy and make a "custom keyboard" that way. You will of course have to program the Teensy but that's the easy part ;) an Arduino Leonardo clone from eBay (also try to find, if you still can,
Can you use a raspberry pi 0 to program a teensy?
"Arduino Micro" clones -- NOT the "Pro Micro" ones, they won't have enough pins). Same code will run there and work just fine.
Forget the battery, unless you have a reflow toaster oven (or other homemade reflow equipment, or access to the professional gear) -- you will need it for the kinds of chips that let computers talk to batteries, AFAIK. Too much trouble.
I am designing, for a competition on Hackaday, a "made from common modules" "laptop" that I'm calling the AnyTop. The goal is that anyone can build it if they can use a screwdriver, knife, and some sort of drill. (The drill is only needed in one place.) It won't have a battery... but it will be a laptop form factor and it will work. Luke, would some discussion of this be on-topic?
You use the Arduino IDE to program Teensies, IIRC. They might also have their own. Code is uploaded directly to a USB port on the Teensy. Have a look around --> https://www.pjrc.com/teensy/
You *probably* need a Teensy++ 2.0. That is not a guarantee, just a recommendation. I have not myself played around with Teensies, they're expensive (relative to Arduino Nano/Micro clones on eBay, and to my typical budget) and I tend to think in hardware terms far better than anything software/firmware. I can't really help you beyond what I've just written.
The computer doesn't 'see' keymapping. The computer sees a string of information that tells it what key was depressed and released and when. "Keymap" is where the key is in the matrix, which the computer doesn't care about. The computer cares that you pressed the ESC key and released it x number of microseconds later, not that it's row 1, column 1 in the matrix.
You should look up the USB HID protocol and the PS/2 keyboard protocol. Those will tell you a lot of how the computer 'sees' and 'talks to' a keyboard... and how the keyboard 'talks' back.
On Fri, May 26, 2017 at 12:27 PM, ronwirring@safe-mail.net wrote:
-------- Original Message -------- From: Christopher Havel laserhawk64@gmail.com Apparently from: arm-netbook-bounces@lists.phcomp.co.uk To: Eco-Conscious Computing arm-netbook@lists.phcomp.co.uk Subject: Re: [Arm-netbook] modifying a 7 inch notebook cabinet to accept apc card Date: Thu, 25 May 2017 17:40:52 -0400
Keyboard is easy if you know a little electronics. A laptop keyboard is
a matrix keypad. Rows and columns. One key connects one row to one column.
Look up a little thing called the "Teensy" -- it is a microcontroller
board. You can (if you are very good at soldering) connect from the keyboard's PCB connector (cut the
Can the teensy make the key mapping correct and the key mapping will be correct when arriving at the computer's usb port?
PCB and solder to the connector while it's still on there -- no shorts, mind you, or it won't work, and the pin pitch is usually insane...) to a Teensy and make a "custom keyboard" that way. You will of course have to program the Teensy but that's the easy part ;) an Arduino Leonardo clone from eBay (also try to find, if you still can,
Can you use a raspberry pi 0 to program a teensy?
"Arduino Micro" clones -- NOT the "Pro Micro" ones, they won't have enough pins). Same code will run there and work just fine.
Forget the battery, unless you have a reflow toaster oven (or other
homemade reflow equipment, or access to the professional gear) -- you will need it for the kinds of chips that let computers talk to batteries, AFAIK. Too much trouble.
I am designing, for a competition on Hackaday, a "made from common
modules" "laptop" that I'm calling the AnyTop. The goal is that anyone can build it if they can use a screwdriver, knife, and some sort of drill. (The drill is only needed in one place.) It won't have a battery... but it will be a laptop form factor and it will work. Luke, would some discussion of this be on-topic?
arm-netbook mailing list arm-netbook@lists.phcomp.co.uk http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook Send large attachments to arm-netbook@files.phcomp.co.uk
* Christopher Havel laserhawk64@gmail.com [170526 18:34]:
You use the Arduino IDE to program Teensies, IIRC. They might also have their own. Code is uploaded directly to a USB port on the Teensy. Have a look around --> https://www.pjrc.com/teensy/
You *probably* need a Teensy++ 2.0. That is not a guarantee, just a recommendation. I have not myself played around with Teensies, they're expensive (relative to Arduino Nano/Micro clones on eBay, and to my typical budget) and I tend to think in hardware terms far better than anything software/firmware. I can't really help you beyond what I've just written.
The computer doesn't 'see' keymapping. The computer sees a string of information that tells it what key was depressed and released and when. "Keymap" is where the key is in the matrix, which the computer doesn't care about. The computer cares that you pressed the ESC key and released it x number of microseconds later, not that it's row 1, column 1 in the matrix.
You should look up the USB HID protocol and the PS/2 keyboard protocol. Those will tell you a lot of how the computer 'sees' and 'talks to' a keyboard... and how the keyboard 'talks' back.
FWIW there are several keyboard firmware projects out there baset on Atmega32U4s (The Teensy/ Arduino Pro Micro) and others like the Teensy++. Check out QMK for example: https://github.com/qmk/qmk_firmware
Especially the hand wiring guide in the docs directory. I have built several keyboards with both arduino clones and teensy boards. Works like a charm.
Kind regards,
Christian
Quick note... the Pro Micro is a new revision of the older Arduino Micro and has fewer IO pins, IIRC. It may not have enough pins for these purposes...
OF COURSE Chinese eBay factories/sellers jumped on the new one. You can still buy the older ones if you fiddle with keywords well enough (or sort through fifteen million pages of crap) but be prepared to pay a wee bit more than you used to be able to get away with... ~$10 instead of about half that IIRC.
* Christopher Havel laserhawk64@gmail.com [170526 21:47]:
Quick note... the Pro Micro is a new revision of the older Arduino Micro and has fewer IO pins, IIRC. It may not have enough pins for these purposes...
Yes the naming is weird, you need to watch out for the ones actually carrying an Atmega32U4. As for the number of pins this depends on the size of keyboard you want to make. The arduino is fine for 60% Keyboards. For bigger boards you'd either need a GPIO expander or another controller board. Code for both is available, most people go with the Teensy++. Also as a personal preference I'd take mini usb plugs over micro plugs any day. The latter aren't soldered *through* the board anymore but sit on pads and the physics of that plug makes it likely to damage the plug while fiddling with the cable.
OF COURSE Chinese eBay factories/sellers jumped on the new one. You can still buy the older ones if you fiddle with keywords well enough (or sort through fifteen million pages of crap) but be prepared to pay a wee bit more than you used to be able to get away with... ~$10 instead of about half that IIRC.
The pro micros suitable for said keyboards are around 3 USD...
I'm not familiar with percentages being used to describe keyboards. Can you explain?
Also, the price I had quoted was for an original Micro, not a Pro Micro, as context should have made clear. For the record -- $10.49 for quantity one, from China, probably not ePacket shipping, although I didn't check that part.
Sorry for the terse reply, I'm on my phone at the moment.
* Christopher Havel laserhawk64@gmail.com [170526 22:03]:
I'm not familiar with percentages being used to describe keyboards. Can you explain?
A full fledged keyboard usually features 104 keys, featuring a number pad, arrow keys and function key row. Those are your 100%. Keyboards that take away keys are described in a fraction of those 104 keys. I am typing this on a 40% atreus keyboard that has 42 keys only. As you see the percentage is not that accurate :)
Also, the price I had quoted was for an original Micro, not a Pro Micro, as context should have made clear. For the record -- $10.49 for quantity one, from China, probably not ePacket shipping, although I didn't check that part.
Ah ok, I am always getting confused about the naming. Some sellers even sell a pro micro that features the ordinary Atmega328p... Which is not what you want since then you need to do the usb stack in software in your application...
Kind regards!
Christian
The '328 ones are Pro Minis, although eBay does tend to make a mess of the labeling... both Pro Mini and Pro Micro designs are originally SparkFun Electronics in-house designs. Great company, but I wish they hadn't done those. I like the Arduino Nano (328) and original Micro (32u4) far better than the Pro versions. You may have noticed! ;)
As an aside, the Micro and Pro Micro are really just shrink-ray'd Leonardo boards. Whoo.
* Christopher Havel laserhawk64@gmail.com [170526 22:17]:
The '328 ones are Pro Minis, although eBay does tend to make a mess of the labeling... both Pro Mini and Pro Micro designs are originally SparkFun Electronics in-house designs. Great company, but I wish they hadn't done those. I like the Arduino Nano (328) and original Micro (32u4) far better than the Pro versions. You may have noticed! ;)
As an aside, the Micro and Pro Micro are really just shrink-ray'd Leonardo boards. Whoo.
Thanks for that clarification!
Let's resume the usual 3D printing / laptop / EOMA discussion :)
One more thing first. You concretely cannot do USB HID stuff on a '328-based board. You'd have to flash the serial-to-USB chip with a different USBID (high level stuff, that) which would necessarily then cause it to stop ID'ing as an Arduino... see, the USB comms on those boards is handled by that separate chip... the '328 can't USB on its own, so it sends and receives TTL serial from a second (translator/bridge) chip. There's a software thing called VUSB that can sort of get around that in a nasty way, but it's really ugly last I heard, and therefore not quite suitable for this.
For the record, the eBay clones almost universally feature a CH340G from Jiangsu Qinheng Co (aka WCH) as their serial-to-USB translator. More official Arduinos usually use FTDI-branded chips or (in some cases) a second ATMega, an 8u2 or 16u2. Only the Leonardo and compatible (32u4-based) Arduinos can be used for USB HID gear, because they neither need nor have that second translator chip -- it's direct microcontroller-to-USB, because the 32u4 has an on-die USB controller.
On Fri, May 26, 2017 at 4:19 PM, Christian Kellermann ckeen@pestilenz.org wrote:
- Christopher Havel laserhawk64@gmail.com [170526 22:17]:
The '328 ones are Pro Minis, although eBay does tend to make a mess of
the
labeling... both Pro Mini and Pro Micro designs are originally SparkFun Electronics in-house designs. Great company, but I wish they hadn't done those. I like the Arduino Nano (328) and original Micro (32u4) far better than the Pro versions. You may have noticed! ;)
As an aside, the Micro and Pro Micro are really just shrink-ray'd
Leonardo
boards. Whoo.
Thanks for that clarification!
Let's resume the usual 3D printing / laptop / EOMA discussion :)
-- May you be peaceful, may you live in safety, may you be free from suffering, and may you live with ease.
arm-netbook mailing list arm-netbook@lists.phcomp.co.uk http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook Send large attachments to arm-netbook@files.phcomp.co.uk
On Fri, May 26, 2017 at 11:03 PM, Christopher Havel laserhawk64@gmail.com wrote:
I'm not familiar with percentages being used to describe keyboards. Can you explain?
100%= full 104 keyboard TenKeyLess(TKL)= the full 104 without the numpad 60%= TKL without the modifiers on the right side and the arrow keys. Modifiers will be used by hitting other combos etc. 40% Even smaller. No idea how people type on these. Additionally there are other even more weird keyboard like the minivan, the ergodox or the Plank if you are really into them.
I *think* the ones I prefer are therefore TKL in that nomenclature... I usually just call them "mini" or "compact". The ones that advertise as having an "embedded numpad" which I never ever use or need.
See --> Adesso or SolidTek ACK-595, pretty much my ideal keyboard. PgUp/PgDn/Home/End on the right edge, up against the cursor (arrow) keys, with the rest of the usual modifiers (etc) in weird places because that's where they fit. The one in front of me right now (part of a homemade laptop that is the inspiration for my previously-and-briefly-mentioned AnyTop project) has only one Ctrl key, the tilde is between left Alt and spacebar, Ins and Del are between the context menu key and the cursor keys. PrtSc, Scroll Lock (what does that even do?) and Pause are up in the upper-right corner squashed in after NumLock.
OFF TOPIC RAMBLING RANT because I'll explode if I don't.
I'm writing novels now (yes, plural, one's being edited as I write the sequel... there's a story as to how that all came about) and that homemade laptop is my writing box. Of course I corked it with a kernel update last night (ironically I was trying to get it working *better*), so I've got to torture it back into working somehow... that's not going very well right now... see, the system unit is one of those Z3735F based stick computers (think Intel Compute Stick, but generic... this one's a MeeGoPad T02) and on Mint the sound, WiFi, and BT don't work by default because the chipsets are effin' weird. The cherry on the whipped cream on the cake is that this 64bit system has 32bit UEFI because eff everybody (sorry for implied language, but I'm kinda foaming at the mouth here) so Mint's default installer goes "WTF IS THIS S***?!?!?!" and dies when it tries to install the bootloader. Of course that's not the absolute last thing the installer has to do, so I've got to try and torture it into working or find another OS, which I don't want to do TBH. Mint is freaking *fast*.
I think I'm going to just set it aside for now. There's an Australian bloke calls himself Linuxium who's working on a solution... I think I'll let him work this crap out before I go bald. The downside is that he's taking his bloody dang time to get it going, and I've writing to do.
Maybe I'll try Ubuntu. I hear it's a little more graceful in how well it installs on this hardware. Besides, I want to look at that new Budgie desktop environment, just to see what it's like and to play around with it.
OK I'm done.
--- crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
On Fri, May 26, 2017 at 8:38 PM, Christian Kellermann ckeen@pestilenz.org wrote:
FWIW there are several keyboard firmware projects out there baset on Atmega32U4s (The Teensy/ Arduino Pro Micro) and others like the Teensy++. Check out QMK for example: https://github.com/qmk/qmk_firmware
there's also one for the libre laptop project, funnily enough :)
http://git.rhombus-tech.net/?p=eoma-firmware.git;a=summary
l.
* Luke Kenneth Casson Leighton lkcl@lkcl.net [170526 22:54]:
http://git.rhombus-tech.net/?p=eoma-firmware.git;a=summary
Looking through the git repo I have seen that in the flying-squirrel directory's README the http://code.google.com/p/stm32sprog/ is mentioned. Maybe that should be mirrored to a safer place?
On Fri, May 26, 2017 at 10:17 PM, Christian Kellermann ckeen@pestilenz.org wrote:
Looking through the git repo I have seen that in the flying-squirrel directory's README the http://code.google.com/p/stm32sprog/ is mentioned. Maybe that should be mirrored to a safer place?
quick google search, looks like lots of people already have
arm-netbook@lists.phcomp.co.uk