M60 Mechanical Keyboard by MakerDiary

I don’t know if this has been already posted somewhere, but just came to this very interesting link:

First, this is an opensource 60% PCB with bluetooth capability.

Second, what makes it special is that it is programmable using circuitpython, with KMK on top.
As @deshipu is a frequent user of CircuitPuthon he will surely appreciate.

Third, it is Bluetooth enabled, plus a bunch of other wireless protocols.
The Bluetooth antenna is cleverly integrated into the switch plate!

There is a MCU daughterboard in the shape of an m.2 slot just on top of the hotswap sockets (yes it is hotswap).

It looks to be compatible with most traymount 60% cases.

The price is not bad at all: 45$ for PCB + daugherbaord and 7$ for the switch plate !

No QMK guys, if you want to configure it you have to learn Python.
It looks to be a fun project to toy with :smiley:


This thing looks cool, however I can’t tell which battery it needs

from the picture it looks like it’s just like one of the regular jst connectors

And you are not forced to use the battery if you are using this just with usb

Well, guess I’ll pick up the cheapest fr4 plate I’ve ever seen, ill take it.

1 Like

Beware if you buy it, that is not qmk but circuitpython for the firmware to play with.
The plate is indeed very cheap :wink:

1 Like

I was planning on just picking up the plate since i know about as much about python as a newborn.

1 Like

lol, ok :smiley:

You don’t have to know Python to use it, they already have the code, and even the key mappings.

One annoying thing with CircuitPython keyboards right now is that they will also appear as a USB drive (and a serial device), so that you can edit the files with the code. I get around that by compiling and flashing custom version of CircuitPython that doesn’t do that, but then I have to re-flash the original one every time I do want to edit the files.

There is ongoing effort to implement dynamic USB descriptors, at which point the code will be able to decide which USB features to expose, for example based on holding a key when connecting the keyboard.

1 Like

I was planning to buy this board, mainly because I have heard that it is a high quality pcb, therefore I presumed that it had esd protection as well. However I am unsure of whether to purchase it or not, because it has it’s own software for configuring or you can flash zmk, but since this would be my first keyboard I don’t know if this would be a good choice. Would you recommend me to purchase this keyboard or is it better to look for something else?

Hey. I did order one of those pcbs when i saw them on reddit even before it was posted here.
(Sadly without the plate, joke’s on me, but it’s missing 7u spacebar support anyway.)

My main issue is it’s not working without that m2 daughterboard, which most cases won’t have the space to house and it has north facing leds which is an terrible illness.

Also i wasn’t able to find a fitting battery on ebay since it uses a very small jst connector but 3 pins

I’m glad it exists and they’re still working on the firmware, which is great.
Programming the layout is just a layout file.
I might take it out on a weekend and tinker with it but seriously wouldn’t recommend it for actual daily usage, especially if it’s your first board.

My choice of pcb would be a plain-c,
usually i’d recommend an instant 60 but i had two of those die on me
probably because of esd, even though they have esd protection. :(.

If it was my first pcb purchase, I’d probably pass also.
But as a spare 60% to toy with python and bluetooth hell yes!

As said it will probably not fit in all cases because of the height of the M.2 connector (probably 4.2mm height), so unless you have a case with a roomy bottom it may not fit.

What hotswap keyboard would you recommend, I saw a pcb called the bm60rgb but it doesn’t offer esd protection, would you say that finding a keyboard with esd protection is worth it?

1 Like

As for ESD protection, i’m afraid that most PCBs in stock do not have them.
This is something that PCB designers are adding systematically only recently.

Now is it really needed?
I have a custom designed PCB that does not have such protection and it still work fine as of today.
But I heard problem could happen in low humidity environnent.

I would say it is not mandatory, but nice to have.

Also have a pcb that has ESD protection does not mean that it will work in practice, unless it is a reputable pcb designer that did it…

I’m not sure what people mean by “ESD protection” in cases like this? Even the ancient ATmega 32u4 that is used in most keyboards as the ESD protection diodes built in on every pin, in the chip itself. So that can’t be it. Also, once the part is actually soldered on the PCB, it becomes much less susceptible to ESD — you would need to prod it with a taser on purpose to damage it.


ATmegas can handle a 5Kv ESD if I recall, but human can generate much more (around 12Kv) so ESD can come in handy in this case.
Now the question is: are added ESD protections really efficient ?

One way to know is to have a specialized device to test on a PCB, those may cost a pretty penny.
Probably very little PCB designers go to the hassle of testing their PCB that way.
I don’t, but I’m an electronic amateur :stuck_out_tongue:

do you have a source for that? I don’t see any ESD rating in the abs max or at all in the datasheet, in fact the only thing I see is a recommendation that you put external protection:

Voltage transient / ESD suppressors may also be used to prevent USB pads to be damaged by external disturbances

the maximum rating of -0.5V/VCC+0.5V on most pins means they probably have some kind of protection diode in there, but they aren’t guaranteeing anything as far as I can tell

I disagree with this also, I have killed both arduinos and keyboards with atmegas from simply walking across the carpet and then touching them, and I don’t live in a particularly dry place.

Figure 10-1, Page 67, “I/O Pin Equivalent Schematic”.

A diode on the other side of the PCB is not going to protect the chip from being touched.

1 Like

There’s no spec for it and it doesn’t say what kind of diode it is, if it’s a zener or something it might not do much to protect against fast transients, could be there more for in case someone puts too high of a DC voltage on the pin.

I never said I touched the chip, touching io pins headers on an arduino would not kill them if there was proper protection, same with touching the case or USB port on a keyboard, if there is proper grounding and protection it will not die in those specific circumstances. I killed a poorly designed keyboard by simply touching the metal case.

They are there specifically for ESD protection. I assure you they are adequate.

Do you realize what kind of charge you would need to pump into a metal case to achieve a gradient steep enough to hurt the electronics on the other side? An electric welder probably wouldn’t be enough, you would need a proper Tesla coil.