Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Microcontroller Project $50-$200+ Reward Help please

Status
Not open for further replies.

gth629e

New Member
Okay so heres the scoop,

I have this project that seems "impossible" lol. If you can help me or come with a solution. I would gladly pay you for your troubles through paypal or something else. Of course if you would like to do it pro bono that is fine as well =).

Before I get started let me say, this seems simple at first but for some reason, I have not been able to find anyone who could complete it.


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Here is the problem,


I have a total of 20 push button switches that will be in a hand held device. This device needs to be connected to a computer via a usb cable. The device does not need to be high speed so low speed will work.


I need the device to appear as a USB keyboard or some other HID usb device so that the pc thinks an actual keyboard is connected.

I am not concerned about key ghosting etc. Also, these pushbuttons could be attached in a matrix no problem. 5x4 etc.

Here are the actual strings that need to be "sent".

1. `
2. -
3. +
4. /
5. [
6. ]
7. Alt-R
8. Alt-S
9. Space
10. F11
11. F10
12. Ctrl-J
13. Alt-J
14. Up
15. Down
16. Left
17. Right
18. >
19. <
20. Ctrl-W

Notice some of the strings commands must be a combination of key presses. I would prefer this to be done in the software/firmware so that no DPDT switches would be required.

Also, I must be able to “detect” when a switch is being held down (repeating).

I do not care if the usb is implemented though hardware or through firmware clocking the PIC at 12 mhz with an external oscillator etc.

I have done a bit of research and have come up with some possible solutions. Keep in mind, I do not have any requirements on how this can be done with a PIC, or AVR microcontroller etc. Although, tearing apart keyboards is not an option.

1. I found this

http://symlink.dk/projects/c64key/

He uses the AVR Atmel8 and the AVR-USB based on the HIDKeys as the base to implements the usb via firware.

**broken link removed**

2.

**broken link removed**

and

**broken link removed**

3.

**broken link removed**




XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

1. I need a circuit
2. a BOM (bill of materials

3. Also, the firmware and program to program on the chip.


ANYTHING you could do to help would GREATLY be appreciated Thanks.

Brian
 
Last edited:
If you care to read the first link you might get som nice clues as to how to do it. If you ask for everuthing youll get none but come with code and ask whats wrong with it, or a circiut and ask why dont it work then you will get help...

And its acually quite easy as far as the circiut goes.. just make a matrix (as you said) and hve the buttons ground to signals (see attached pic. Let the buttons be in the intersections) I can make a rough layout in Eagle cad for you if you want (just the keypad) Just give me if you want 5 rows and 4 cols or the other way
 

Attachments

  • Matrix.jpg
    Matrix.jpg
    10 KB · Views: 170
Last edited:
Yes I know there is a circuit provided and even the code for the C64 project. My problem here is that I simply do not have the time to do it myself. I'm sure if I had the time I could figure it out. But we all can't be experts on everything thats why we specialize lol. I do intent to learn C etc. Program chips and increase my EE knowledge but not right now. I have about 5 other projects that I do know how to do and I must complete lol. That is why I am looking for assistance. I am the probably the biggest DIY'er I know but time does not allow me to take on this project.

After all, I bet anyone could design an IC engine given enough time and tinkering. However, if you needed a fully working model the next week, I doubt that approach would be the best.

So, I thought I would ask people with different skill sets as my own.

Regards,
Brian
 
Last edited:
Start...

Well ,

If really need help... then follow these steps...

Start from the portion from where you know very well...

Slowly and slowly learn more .. learn more and fulfill next step of application...

Embedded is such a subject : where you can learn only by doing...

Regards,

Simran..:)
 
Thanks,

The circuit is not really the issue. I could make minor changes to the C64 circuit to get what i need. I am fairly comfortable with that.

I am completely lost when it comes to the programing. How do I program the usb firmware on the chip, how do I modify the code to allow combo key presses, or how do I program the chip at all for that matter.

I currently have ponyprog and winavr installed, because I was going to try and reproduce the C64 project and just modify the code to do what I want.

But I got completely lost. Theres the make file, the main file, the usb support file etc. The only programing experience I have is in basic and that seems very different.

The C64 project is very close to what I need but I do not know what to do with it. I know I could make a simple ISP programmer using the printer port but thats about all I know.
 
I am completely lost when it comes to the programing. How do I program the usb firmware on the chip, how do I modify the code to allow combo key presses, or how do I program the chip at all for that matter.

I am not sure but i feel i have the answer for you...

try that microcontroller that has the usb interface with that... like (I feel AVR) or PIC 18 F ...
I currently have ponyprog and winavr installed, because I was going to try and reproduce the C64 project and just modify the code to do what I want.

But I got completely lost. Theres the make file, the main file, the usb support file etc. The only programing experience I have is in basic and that seems very different.

Well learn C ... i feel BASIC is not having that industry reputation as C.

The C64 project is very close to what I need but I do not know what to do with it. I know I could make a simple ISP programmer using the printer port but thats about all I know.

See man is not born as as an engineer or doctor ...

We have to learn step by step...

Take some more time... but learn step by step... Lots of material on internet...

and we are here to help you out...

Regards,

Simran..:)
 
ok,

How do I edit his code?

What is the syntax?

How do I program the chip?

There are about 6 different files, which ones do what?

The list could go on...

Again, I am not looking for this particular project to be a learning experience although I would love to have the comfort and time to do so. U

Unfortunately, this is a case where I have a problem and I need a solution so that I can continue my other project.

When I have the time I would love to learn every bit of this, but in that case I think I would start off with different project.

And trust me this is my third week of trying to do it on my own and with little progress. Now the time is here when I just need a solution. =(.

Regards,
Brian
 
Ok...

Well OK...

Remember...

You dont need to see all the files...

Only one of the two files , i know there are a lot of files attached...

either with the extension .asm ( if program is written in assembly )
or with extension .c (if program is written in C ).

Regards,

Simran..:)
 
Well...

gth629e said:
The file is in c because there is a

main.c
m8key.pnproj
main.hex
makefile
usbconfig.h
c64key.ppg

etc.

Well ... very simple...

just to do is ...

concentrate on two files only ( rather one file only )...

do your work on main.c and see the output file main.hex is automatically changed.

Yes...

Regarding tutorials...

Please give me your email ID...

Regards,

Simran..:)
 
Well...

Well,

regarding c compiler you are going to use - it is same as using BASIC compiler...

Please tell the micro controller also that you are using...

So that i can refer you some good compilers... e.g. for AVR etc.

Regards,

Simran..:)
 
Now,

I am using the Atmel AVR ATMega8 or the ATMega16.

I am also considering the cypress chip

8-Bit (RISC)
EEPROM
Harvard Architecture etc


Thanks
 
gth629e said:
Now,

I am using the Atmel AVR ATMega8 or the ATMega16.

I am also considering the cypress chip

8-Bit (RISC)
EEPROM
Harvard Architecture etc


Thanks

Well , What about PIC 18f...

See...

Regards,

Simran..:)
 

Attachments

  • PIC 18F.pdf
    815.9 KB · Views: 325
The advantage with PIC18F is the buildt in USB slave. :)
Then you dont need Cypress to help.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top