The Blackberry Keyboard: How An Open-Source Ecosystem Sprouts

What could happen when you open-source a hardware project?

No, seriously. I hold a fair few radical opinions – one is that projects should be open-source to the highest extent possible. I’ve seen this make miracles happen, make hackerdom stronger, and nourish our communities. I think we should be publishing all the projects, even if incomplete, as much as your opsec allows. I would make ritual sacrifices if they resulted in more KiCad projects getting published, and some days I even believe that gently bullying people into open-sourcing their projects can be justified. My ideal universe is one where companies are unable to restrict schematics from people getting their hardware, no human should ever hold an electronics black box, by force if necessary.

Why such a strong bias? I’ve seen this world change for the better with each open-source project, and worse with closed-source ones, it’s pretty simple for me. Trust me here – let me tell you a story of how a couple reverse-engineering efforts and a series of open-source PCBs have grown a tree of an ecosystem.

A Chain Of Blackberry Hackers

A big part of this story has been dutifully documented by [Michael] on his BBKB community website – it’s a meticulous summary of devices in the BBKB ecosystem. You should click on it and check it out, it’s a labor of love, aimed at introducing newcomers to the Blackberry keyboard-adorned device ecosystem, with a degree of care for fellow hackers that’s worth appreciating. In this article, I am relying on [Michael]’s research and interviews, but also on my own experience and research of Blackberry keyboard device community.

As [Michael] has found out, it all started in 2015, with a reverse-engineered replacement part keyboard for a Blackberry Q10. [JoeN] on Eevblog forums reverse-engineered the pinout, then posted the pinout and code to Arduino forums – for sufficiently devoted hackers to create with. Three years later, [WooDWorkeR] on our own Hackaday.io picked up the work, reverse-engineered the backlight, and made an Arduino Nano proof-of-concept. Things heated up when Hackaday superfriend [arturo182] picked up the mantle in 2018 – starting off with a Q10 keyboard PMOD, then eventually reverse-engineering the touchpad-equipped Q20 keyboard, and as a culmination, building a standalone Q20 keyboard with a USB-C connection and a RP2040 controller.

If you’ve seen a few QWERTY handhelds, you’ve likely seen one that’s downstream of [arturo182]’s work. Recently, he’s been big on creating castellated stamps – his RP2350 stamps make for great prototyping devices, can heavily recommend. He’s got a hardware company thing going on, called SolderParty, with a good few innovative products like the FlexyPins I’ve covered before – I adore castellated modules, and I feel like he’s mastered the craft of doing them.

Also, have you seen the Tanmatsu, and in particular, its custom QWERTY keyboard? That keyboard is one of his design – as of recent, he’s got a side project of hacker-friendly keyboards going on, partly to replace the Q20s as they become more and more scarce on the new-old-stock market.

But back to the Blackberry: the Q20 keyboard really hit the news, going beyond the hacker world, if I were to guess, relying upon a fair bit of nostalgy for QWERTY handhelds. My personal belief is “the more screen, the less soul”, and when reading articles like the ones written about the Q20 keyboard, I can feel that in the air. I wasn’t the only one, for sure – looks like Eric Migicovsky, founder of Pebble, felt it too.

My favourite theory of Blackberry keyboard device popularity. By [masklayer]
Seen the Playdate? It’s a handheld games console with a cult following, equipped with a widely beloved Sharp Memory LCD. It’s reasonably easy to buy, with a decent 2.7″ diagonal, and it’s got whole 400×240 worth of resolution – nothing to write home about, but it very much is enough for a Linux terminal, and it can be comfortably driven a Pi Zero’s SPI interface, what’s with the whole “1 bit per pixel” thing keeping it reasonably low-bandwidth. You’re picking up what I’m putting down so far?

Beep Beep (Watch Out For Trademarks)

A few prototypes later, the SQFMI group released the Beepberry project, later known as Beepy. It had the essentials of a pocket computer – a Pi Zero, a Sharp LCD, a Q20 keyboard, an RP2040 tying its all together, a 2000 mAh cell and onboard battery management, plus, a few extra niceties like a side button and an RGB LED for notifications. What else? An integration with the Beeper project, a platform putting all your messaging service under a single roof. All files fully published on GitHub, including the KiCad files for the PCB. A Discord server with open invites. Minimum amount of software support. A rubberband and two pieces of double-sided tape keeping the battery, screen, and keyboard attached to the board. I think that was it?

First batch was merely 50 pieces. The pricing did raise my eyebrow – $80 for a PCBA ($10), Pi Zero 2 W ($10-15), Sharp screen ($20), a Blackberry keyboard ($10), and a 2000mAh cell, for a BOM total of around $50-60, all put together and presumably tested? That sure flies in the face of all “multiply BOM by three” advice. Nevertheless, more and more people started receiving their Beepberries, sharing pictures online, coming together on the Discord and other social media, and playing around with their new cool hardware. It got a good few reviews, too, including a must-read review from our own [Tom Nardi]!

The project’s journey wasn’t seamless, of course, but the problems were few and far between. For instance, the Beepberry project became Beepy – because of Blackberry, legally speaking, raising an eyebrow at the naming decision; it’s the kind of legal situation we’ve seen happen with projects like Notkia. If you ever get such a letter, please don’t hold any hard feelings towards the company – after all, trademarks can legally be lost if the company doesn’t take action to defend them. From what I gather, BlackBerry’s demands were low, as it goes with such claims – the project was renamed to Beepy going forward, and that’s about it.

Unity Through Discord

People deride Discord servers as means of community building, and by now, I’ve heard it all. I get it. Sadly, these days, you’re going to either get on Discord, or be detached from a large chunk of the hacker community – and such a detachment is bad if you want to stay up to date with things. Dislike Discord as much as you want, and I can assure you that all the bad things about it are true, but that’s how the game is played. So, if you’re not on the Beepy Discord server and you like what Beepy stands for, you’re missing out – thankfully, there is a Matrix integration, too.

Beepy owners and fans alike joined the crowd. Each had something to contribute, with varying degrees of hardware and software competence, modulated by varying degrees of executive function, as it goes. Some people received their own Beepies, a few people got the KiCad project and ordered the files, and an unexpected amount of people breadboarded a Beepy! The barebones software support might’ve had deterred people, but at the same time, it became a community obstacle to overcome.

Starting from [arturo182]’s Linux driver work and someone else’s Linux drivers for the Sharp screen, a Linux experience started to grow. Initially, just the keyboard and touchpad were supported, but the support grew – both the RP2040 firmware and the Linux driver grew in functionality, changed names, picked up by one developer after another. Different people picked fonts to fit the screen’s low resolution, mapped extra keycodes to layers built upon the 40-something buttons of the Q20 keyboard and designed on-screen hints, worked on “sleep” modes (mostly implemented within the RP2040 by powering down the Pi Zero in particular), wrote like a dozen different helper scripts for the GPIO-exposed side button, and the apps, oh were there apps!

People Found Purposes

Beepy is no X server-carrying device, and you won’t be running even LXDE on the Pi Zero and the 400×240 mono screen. Under the sheets of a virtual terminal, however, there’s heaps to work with. Of course, Linux has plenty of commandline apps – most of them aimed at a 80×24 text screen resolution and not a character less, but many worked outright. SSH and email clients? Weather alert UIs? Beeper-compatible messengers? Music players? Games? ChatGPT interfaces? Pico8 and other game emulators? Doom? Of course people ran Doom. There were multiple attempts at lightweight GUIs with apps, too, not to foreshadow too much too early.

Beepy became a hacker’s pocket friend. Maybe not everything was great all the time. The hardware had its sometimes-board-killing flaws, the GPIOs were quite tricky to hack on because of their layout, and the hardware features were pretty barebones. Software achievements and releases were somewhat uncoordinated, too – Discord just isn’t great for discoverability; I can only tell you about all this because I went through two years worth of Discord server logs, and found a lot of cool stuff that people published only to be forgotten in the chat logs. If you ask me, this period of the community would’ve been turbocharged by a monthly Beepy newsletter, also published on on a blog so that outsiders could be linked to it, too.

The Beepy community has truly made Beepy grow into a veritable pocket device, pushing the limits of the Pi Zero, the screen, and the keyboard alike. By now, there’s assortments of software you can run, documentation websites, Debian repositories running on GitHub infrastructure, a few lightweight Buildroot-based distros, dozens of 3D printed cases, and never a shortage of people coming into the Discord server asking when Beepy will be available for sale again.

Just The Beep-ginning

It genuinely fascinates me how a chain of, spanning years, has come from “keyboard pinout” to “a mass-manufactured open-source board with a big community” – Q10 keyboard reverse-engineering on Eevblog forums led to wider adoption, which eventually led to Arturo’s Q20 board and its splash, and that in  led to Beepy and its Discord server. Did it end here? Of course it didn’t – I did say ecosystems, plural. Next week, you’re getting a continuation article about the Beepy derivatives, because the story is just starting here.

Enough about open-source – next article, you will hear about the phenomenon of closed-open-source, clones of high and low effort alike, and a pretty cool open-source Beepy successor. (Spoilers: I’m biased because I’m involved.) But for a start, we’ll talk about a mis-used Texas Instruments boost regulator, a mis-calculated resistor, and a few overlooked datasheet parameters.

39 thoughts on “The Blackberry Keyboard: How An Open-Source Ecosystem Sprouts

  1. ” I even believe bullying people into open-sourcing their projects can be justified”

    Anything can be justified, but that doesn’t make it right.

    According to the first hit on google (quoted from wikipedia) – “Bullying is the use of force, coercion, hurtful teasing, comments, or threats, in order to abuse, aggressively dominate, or intimidate one or more others. The behavior is often repeated and habitual.”

    It may be that you don’t mean the word in such a form, but it’s certainly a polarizing word, and others don’t necessarily share your zeal towards open source or your methods to accomplish your ends.

    1. I am definitely using “bullying” in its softer form here, which I admit might not be the best word for the situation – it’s not impossible that one’d have to be in similar social circles to vibe with the meaning =D I will see to changing it – I wouldn’t want a single word choice to be distracting. Think I’ll go with “lightly bullying”.

      1. Given the context I think it was obvious you didn’t literally mean bully, but rather “strongly advocate/convince”. Anyway the important point is that more open source means more good in the world!

        1. And the inverse is strongly true too – less open source means more bad in the world! We can see that quite clearly in areas like repair, medical device ownership, e-waste from all the proprietary tech like smartphones, outright spyware in things like modern TVs, and all the proprietary factors that thwart otherwise promising projects from becoming real. Plus, I’m not here to play with counterfactuals too much, but a hypothetical world where the Beepy was harder to design, to the point of even maybe never getting there, I do strongly believe that’s a less happy world on average.

          1. There is something to be said in favor of being able to sell and profit off the thing you’re making, such as software, so you can hire and pay people to make it according to your vision of it and not someone else’s.

            This contrasts with having to hope that other people would voluntarily share your ideas and commit to them, because you have no capacity to pull off any great work by yourself and no power to command others to do your bidding.

            It’s almost the same thing as how the accumulation of wealth in private hands is somewhat necessary, so the state/government wouldn’t be the only entity in the society that has enough resources to build and maintain anything bigger than a garden shed. The bigger the system, the more invisible and inconsequential your opinions and needs become.

          2. Dude: you can absolutely sell and profit from open-source hardware, I don’t know who you’re even arguing against here, because it ain’t me. I’ve sold open-source hardware for years, so has arturo, so has SQFMI with Beepy and other products, Adafruit/Sparkfun/Pimoroni/etc, it’s what a giant chunk of the hardware scene does already. I’m not arguing for a “fed by air and high hopes” approach, open-source hardware doesn’t mean you can’t pull off great work or hold no power (how even?), and I’m struggling to see how the third paragraph applies to this article at all – got hints?

            In this article, I’m arguing in favor of a strongly emphasized and nigh-universally applied culture of giving back to the open-source hardware community that made basically everyone’s designs possible in the first place, if not as first-order then as second-order effect. In particular, I’m using the Beepy ecosystem as a case study – with every step of the way being open-source, and both Arturo and SQFMI boards being sold to the point of going out of stock forever due to factors mostly outside of their control. They aren’t exactly short of people willing to give them money.

          3. you can absolutely sell and profit from open-source hardware

            Not really. I mean, you’re right in the sense that someone can sell it – but it’s going to be some copycat manufacturer who can sell below your price because they didn’t have to pay the R&D costs which you did, and you just gave them the design for free.

            See for example how Amazon is stealing popular products. If it’s not patented, copyrighted, or otherwise hard to copy without some special sauce only you have, someone’s going to make a knock-off and steal your sales.

            https://www.reuters.com/legal/litigation/amazon-copied-products-rigged-search-results-promote-its-own-brands-documents-2021-10-13/

          4. open-source hardware doesn’t mean you can’t pull off great work or hold no power (how even?)

            I didn’t mean great in quality, but quantity or scale, ambition. Your power extends to what you can personally manage, maybe a loyal friend or two, and beyond that it’s going to have to be money and legal control of your IP or else you’ll lose the product to other opinions and other people who will inevitably take your ball and run with it in other directions.

            That effect makes open source products both software and hardware – beyond a certain level – always “designs by committee” because they have to involve a community with no clear leadership, that actively resists such leadership and splits the moment anyone tries to assert their vision. They’re not going to be great products if they get off the ground at all, let alone survive the market.

          5. Adafruit/Sparkfun/Pimoroni/etc, it’s what a giant chunk of the hardware scene does already.

            What does Adafruit actually sell? They’re selling components and modules they’ve contract manufactured elsewhere or simply bought off the market and added a premium on top for the branding. The stuff they sell are largely copies of designs by other people. I mean, how much personal input do you need to put a datasheet reference circuit on a breakout board and send it off to a fab in China?

            Do those original designers who open-sourced their designs get a penny out of it?Doubtful. That’s the model: someone works for free and you do the business with it – just like how Amazon copies products from its own sellers – except when it’s open source that’s kinda the whole point.

            If you as a designer have a vision and a target demographic in mind, and then wish to make yourself a living out of your product and work, how do you pull that off with open source, if the point is that you design it and then other people make the money because you are voluntarily relinquishing control of the product?

          6. Dude:
            ??? Your first message is straight up contradicted just by the example outlined in the article alone, as well as examples I provided in the post above – try to avoid that, please, for your own sake, all this typing went to waste. Amazon’s copying example is also very unrelated. I know well about it, and if you read the article, you can clearly see that the copying wasn’t related to any sort of open-source hardware questions – only by the product’s popularity.

            Your second message is, uhhh, what? What kind of situation are you even talking about here? Again, the examples in the article contradict the overwhelming majority of the assertions you make, half of them very explicitly so, and your lengthy description of “this is how things go” reads like a pretty wild story I can’t even begin to recall any real-world resemblances to. Do you actually have any cases that match your description, or? Did you read the article? Why not engage with what I wrote – instead of laying out a wholly unsupported opposite viewpoint and for some reason expecting it to be engaged with, disregarding everything written before?

            Third message is also fun, in a sense that it’s wildly off-base to the point of being deeply puzzling. You’re asking “what does Adafruit sell”, and then you’re describing what you think they sell, and even if that description were true, it wouldn’t actually back the point you’re making. Is it against open hardware principles to subcontract a design from someone then open-source it? Or publish a board that is based on the datasheet schematic? That does not follow in the slightest. Not to mention that Adafruit does in-house design, too, and that from my experience. their circuits are visibly different from both datasheet implementation and alternative products developed before/after, they’re pretty well known for choosing their own path when it comes to the design direction and details. Next paragraph – did those original designers intend to manufacture and sell the product? If so, literally nothing is stopping them, quite evidently from the article’s examples, and supported by my own experiences, as I’ve already stated. If there was no intention to sell in the first place – is the hacker community better off because someone is selling a design that wouldn’t otherwise get sold? Yes, most certainly. What are you even talking about? Did you think these examples through? “how do you pull that off with open source” literally in the way I describe in the article and have also described in the post you’re replying to?

            Are you asking an LLM for these examples and points? That’d track. Either way, even if you wrote it all yourself (quite an achievement), this text is LLM grade in terms of both coherence and veracity of the claims you make (with zero support whatsoever? what?). Please avoid that in the future, that’s honestly just sad, and also wasteful for everyone involved.

  2. Every project I build I dream of it having a story like this. I can’t imagine a higher goal to aspire to for any technology project than to have a community crystalize around it.

    More to the point, I want one in a Gameboy Advance SP shell.

        1. I don’t know about FreeCAD, but I’ve spent some time with OpenSCAD and that has turned out to be very useable (as someone who naturally resonates with computer programming).

          1. OpenSCAD is wonderful too! Afaict they have different niches – OpenSCAD is good for things you can +- straightforwardly describe in math terms, and FreeCAD is good for, well, everything else plus much of what people sometimes use OpenSCAD for. I’d design a gear in OpenSCAD (had to do that, it’s been a good experience), but a for a 3D printed project case, I’d reach for FreeCAD for sure.

        2. Have you give it a shot recently? I’ve miss the latest version, and gave it a shot few month ago, and had been surprised. It’s now able to have some work done in a acceptable time ( traduction : to me and what I do with cad software, It’s enough good to replace solidworks ) .. first benefic aspect : goodbye windows …. I think i have to invest all the time wasted fighting windows in learning freecad for a period, but it’s seems a good deal

          1. Yeah FreeCAD has become more and more of a joy to work with, over the last year-two, but especially so since v1.0! I’ve been meaning to write an article about that one, hopefully, can do that soon. Got quite a few FreeCAD designs going on now, some of them quite complex, and by now, pretty sure I found the open-source CAD I’ve been looking for. I also started off with Solidworks, and honestly, these days I can’t imagine myself ever opening it ever again.

          2. Freecad gave back “v1.0” the real signification of v1.0 : a useable software with all basics functions needed and expected (and some more).
            Not perfect but seems to me a good “v1.0” release

    1. Build enough cool stuff, and you’re basically bound to end up with a story or two like this! Every one of us stands on shoulders of giants in that way, and you too could be one of the giants one day. Also, the Beepy could very well fit into a SP case like that! I’ve worked with the design extensively, and it’d be very doable – especially if you extend the lower part of the case to get higher battery capacity. (also, it feels like there’s other Pi Zero-based designs I’ve seen in a foldable form-factor?)

  3. Nice article. Interesting read.

    I would make ritual sacrifices if they resulted in more KiCad projects getting published,

    “Science by Hubert J. Farnsworth” https://www.youtube.com/watch?v=-tVuxZCwXos
    More like “scionce”.

    :-)

    I think we should be publishing all the projects, even if incomplete, as much as your OPSEC(!) allows. …. My ideal universe is one where companies are unable to restrict schematics from people getting their hardware, no human should ever hold an electronics black box, by force if necessary.

    VS.

    People deride Discord servers as means of community building, and by now, I’ve heard it all. I get it. Sadly, these days, you’re going to either get on Discord, or be detached from a large chunk of the hacker community – and such a detachment is bad if you want to stay up to date with things. Dislike Discord as much as you want, and I can assure you that all the bad things about it are true, but that’s how the game is played. So, if you’re not on the Beepy Discord server and you like what Beepy stands for, you’re missing out

    Have you heard the phrase “DOES NOT COMPUTE!”

    How can you be so far open source to even contemplate bullying people but kinda defend Discord in the same article?

    Yes, from a technical standpoint Discord is great but they seem to be in some kind of inter-quantum state where one part says they are GDPR compliant while blatantly violating some of the GDPR’s core principles.

    (They are collecting and storing far more data than required to run the service and basically give themselves the rights to do whatever they want with it (at any (later) point in time)).

    1. Thank you! That’s a fun video, yet another reminder I ought to watch Futurama ^_^

      I address your concerns by “I can assure you that all the bad things about it are true”. This one is also true. Also, off the top of my head, Discord has banned people, in particular, disabled people, for using alternative clients – despite their client not being sufficiently accessible, not being sufficiently equipped to protect vulnerable users against stalking, and a service that people rely a lot on. They have big problems with rampant child abuse and scam proliferation, they look down on network bridges despite being “pro-community”, an accidental channel deletion isn’t reversible in the slightest, and if you lose access to your 2FA, your account is gone, as in, GONE-GONE. Do NOT lose your 2FA with Discord. I could go on for longer. Discord isn’t even that great from a technical standpoint! It sucks a whole lot!

      If I may, I ask you to compare using Discord to using a cellular data service. Those also suck in a myriad of ways – commercialization of infrastructure resulting in an actively hostile experience, obsolescence caused by events like the switch to VoLTE, bad/compromised encryption and easy deanonymization, strong lack of open-source modems, and hackers’ inability to build cool derivative tech as a result. At the same time, cellular data services are indispensable for what it provides. Of course, you could rely on a volunteer-run mesh network for your data-on-the-go needs… but you will indeed quickly hit the same problem, network effects, and with the side effect of the technology being inferior.

  4. I reject the notion that there is legitimate application of coercion beyond correcting theft and murder (with injuries to property and person as subcategories thereof), as proposed by the ‘by force if necessary’ statement. If it can’t be done voluntarily, is it worth doing?

    1. Well that seems naive. We force people and companies to do things either for the greater good, or at least for a reduction of harm, all the time. We’re verging on a corporate dystopia now, and that’s already with significant restrictions on what they can do. Companies are now broadly weaselling their way into retaining ownership of the things they’re selling, that’s so against the interests of people in general that force must be brought in this matter.
      I don’t want to live in the Dough Based Sate of Papa John.

    2. That’s quite a bold move, relinquishing one of your strongest powers as an individual, and in an age of unprecedented concentrations of power at the top, no less! Ig it’s fine, you do you? Individual freedoms and all. As long as nobody depends on you for their well-being, of course.

      1. What legitimises coercion then? And how do we correct evil without spawning an endless chain of further evils? Better to strip back the systems of law that cause endless coercion in service of things which are not matters of justice

          1. This is the modern age. Sick an AI agent onto them. You sleep in, while the agent argues on your behalf (bringing a library, to a dictionary fight). Every moderators best dream. Double if it can make breakfast.

  5. I’m with you that I’d love to see more Open Hardware projects.

    I’ve really been craving a group to come together and make a full system of modular setups that could be slapped into other projects to make it quicker, easier and get better quality boards out.

    For example, it’d be nice to see a set of power supplies (as in the ones that go on the board to feed components from the main power), with them all set up routed out and optimal components picked. Then the modules could either be copied onto the board and used directly or they could make pre-fab castellated and through-hole boards that could be slapped onto a board as a separate module.

    Extend that out for I/O, like little USB boards that can handle all the USB-C things you need while letting you feed data or video out easily, etc, etc.

    It’d be nice to see a point where a newer creator can come in with a project idea, take a few easy to pick out modules to give their board access to all the features they want then slap them on a board and get to work.

Leave a Reply to limrohCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.