Devlog
Our entire development journey, from day one!
Last updated
Our entire development journey, from day one!
Last updated
March 13, 2025
Bryan has completed the first prototype for automating our PCB schematic generation in KiCad!
We are hard at work making automation software tools to help us map and adapt Matchbox to work with different keyboards faster. Continuing my post from a few days ago, Bryan completed the prototype for his end of the tool, which can take in the mapping json file my mapping helper tool exports to use as reference for the mapping. We've gone and automated most of the repetitive steps with this new pipeline and things should move faster now! We also began testing with mapping a new keyboard: the Dell KB216t.
On my side, while I was using the mapping helper tool to complete the mapping, I realized the tool could really use a manual override and delete function as sometimes the keyboard pcbs just exhibit weird mapping anomalies and it would be faster to just manually fix it than to fight the software to try and convince it otherwise. So now, I've added a feature where you can directly select any log entry for a pin and click on the exact keycode entry you want to remove and just remove it directly. This way, we can have good error checking logic to make sure the user isn't missing anything, but still provide some override utilities for control so that ultimately the software doesn't get in the way.
March 12, 2025
The Matchbox team had the opportunity to run our first pilot workshop with 4 secondary students all in form 2 (grade 8) from Ying Wa College in Hong Kong. We learned a lot and we hope to be able to gradually scale our workshops up as we refine the material! The following are some reflections from the workshop.
Time management: We performed significantly better in terms of time management compared with our second workshop at innowing last year. Within 2 hours, 4 students had time to properly understand the material and complete their Matchboxes! This improvement can mainly be attributed to 2 factors:
no soldering was required this time
we asked them to only map 4 keys first, instead of all 10 - this may seem like shifting the goal post, but we believe that once you understand how to wire one key, you understand how to wire 10. We do not think the repetitive steps of the assembly necessarily add all that much to the learning experience, so we opted to have the kids bring some extra wires home to complete the mapping on their own.
Proper firewalls between each major step: After our last workshop, we realized the importance of making the continuous testing an explicit step, clearly integrated into the workshop flow to prevent issues from snowballing and requiring tedious backtracking to repair. Right from the start of the workshop, we showed them how to use a keyboard tester (a simple tool in a browser) to test their keyboard PCBs. From there, each step of the assembly was always accompanied by:
"Do you know if it works?"
"No, not really."
"So how would you find out?"
After a few cycles of assembly > testing > troubleshoot, the kids were able to do the testing and troubleshooting on their own, almost out of habit - and that is exactly what we want them to pick up on! We briefly used this opportunity to talk to them about the iterative mindset and not worrying too much about small mistakes because we are engineers and when something doesn't work we just have to fix it (or make it work slightly less bad compared to before).
Towards the end, the kids were able to genuinely understand the material and thus come to enjoy the process of wiring, testing, and troubleshooting their Matchbox all on their own. We observed a higher sense of urgency and engagement - they seemed confident in their progress and excited at the prospect of completing the controller to play games with it with their peers. At the end, we rewarded them for completing the Matchboxes by loading up a game I created with Scratch for them to play against their friend, both with Matchboxes they constructed in the workshop. This strong connection between what they were learning (basic circuits, hacking electronics) and what they cared about (playing and competing with their friends) gave them a boost in personal involvement and engagement with the knowledge and practice - It's exactly what got us so inspired to make things, and we are glad to be passing it on!
Overall, the team is quite relieved that our observations last time were able to be addressed this workshop and we have proof of concept that this material and teaching method would work with secondary school students. Now comes the next challenge: how would we reliably scale it?
Welp, we've long come to embrace these projects as a constant stream of never-ending challenges and inspiration - but that's exactly what we're here for! Looking forward to learning all about that in the coming months!
March 11, 2025
This week, Bryan and I have been working on automating the PCB creation process. Today, I am proud to share that our very first version for the keyboard mapping helper tool is online! https://fireworks-studios.github.io/Matchbox/
This is my first github pages deployment so I hope I'm doing it right~
A simple overview of v0.1 features (because I'm sure there will be many changes to come when we start using it in development):
It can automatically log keyboard readings for you
Dynamically generates mapping table, with everything color coded to easily see what's missing at a glance
Mini keyboard UI for intuitive interface + enables most of the commonly used functions
A tooltip follows your cursor around to tell you what pins each key requires
All the logs are displayed on a table with easy access via the row of buttons up top - this hopefully enables smooth remapping and repairing process
Error checking and reporting in the console for you to easily see what is still missing before exporting
Exports to simple json format, ready to put into our next piece of software (PCB automapper!) and also allows the file to load back in to restore the exact state - We imagine this mapping file will also be very useful for the community to share their mappings on github
We will be testing and refining this internally during development for the next few months, and when the entire workflow is more finalized, we will start making more detailed tutorials and documentation for you to use this to hack your own keyboards!
March 7, 2025
One of the most grueling steps in adapting the Matchbox for a new keyboard model is figuring out the keyboard mapping and remapping the PCB. Done manually, it is tedious, time-consuming, and a huge threat to our ability to rapidly prototype and explore ideas. Inspired by a paper by Alan Kay I read recently, he points out that:
"If you have the ability to invent and make new tools that are needed for your problem, then you must."
so we decided to tackle this bottleneck as an opportunity to create our own tools and workflows.
After reexamining each step in the process to find out what was taking the most time and what we could do about it, we realized that most of our keyboard mapping woes could be automated with software (theoretically, we had all the parameters we needed and we could feed the program a well-defined problem)
So today we've started working on trying out just that! The process is split into 2 main parts:
Keyboard mapping -> Enoch is working on a web tool
PCB remapping -> Bryan is working with Python scripts to automate KiCad
I (Enoch) began working on speeding up the keyboard mapping with this simple web-based tool I built with basic HTML. This must be the most function-first piece of software I've ever built because by the time I got a proof of concept working there still wasn't proper paddings or margins... Despite its looks, it does actually work! Most importantly, it shaves off hours per board! I'm super happy with the improvements made today with just this proof of concept and we already have many more ideas for how to improve these tools even more!
February 26, 2025
Bryan and I visited Caritas Computer Workshop today to pick up some old keyboards to upcycle! They are a local charity specializing in upcycling e-waste and refurbishing old devices to be sold at a more affordable price to those who need it. We are so grateful for this opportunity to collaborate and we hope our work can also contribute to their mission!
February 19, 2025 (entry by Enoch)
I was reading some of Dr. Resnick's work on design principles for designing construction kits for kids and it got me thinking about how we can make the Matchbox support more opportunities for creative exploration.
Currently, the Matchbox is a DIY controller kit that kids can put together once and that's it. 50 different people can each make a Matchbox and we would end up with 50 exact same Matchboxes. I would like to change that - I would like for there to be 50 different Matchboxes at the end of each workshop.
The following are some ideas we've had. We are looking forward to exploring more!
Here we have a steering wheel and a simple lever switch made by combining a Matchbox with a Stick'em construction kit. Just some simple connection sockets on the bottom case and this could easily be a very fun collaboration!
Something I've been keeping a close eye on is the recent innovations in the field of cardboard crafts.
Cardboard has so much untapped potential as a building and prototyping material, especially for stem education. Nintendo saw it with Labo, and now we are seeing it more and more with the rise of kid-centered tools like the ChompSaw and the Makedo system. With a few well-placed clamps, the Matchbox can easily work with these other tools to turn any cardboard contraption into a super fun alternative input device!
Another idea we are excited to explore is to make a variant top cover that is open and just allows you to slot in a piece of card. This will allow the user to draw for themselves what they want the interface to be like, and provide a super simple modification proof of concept that can be used to demonstrate the concept in a short time (like a 2hr workshop)
February 19, 2025
This is my (Enoch) first time exploring CAD! Huge thanks to Hei for showing me the ropes!
We want to include a small matchstick-looking screwdriver in Matchbox kits to make sure you will have everything you need for assembly straight out of the box. There is a small cheap screwdriver in the 3D-printed shell, and the top cap is a little flame that can come off and be capped on the back when you're using it. It also serves as a nice bulb to rest your palm on when driving a screw into the bottom shell.
This idea came to us when one of the staff at our university's makerspace asked us if there would be a matchstick in the Matchbox kits and we just couldn't turn down such a clever idea!
The handle part was made in Fusion360 and the little flame cap was made in Blender (probably not the right way but hey it's my first 3D project!)
February 12, 2025
Today we had the opportunity to present our Matchbox project to Logitech's Senior Sourcing Manager, Mr. Ricky Cheung. Following an online introduction call, he visited our workspace to meet the team and see the prototypes firsthand. Mr. Cheung gave us some great feedback and questions for us to work on. Once again, we are grateful for the insight and look forward to figuring out more things as we go!
February 11, 2025
To stabilize our keyboard supply, we have reached out to sustainability managers from various companies that make keyboards. This morning, we had the opportunity to present to Mr. Mehul Thakkar, Dell's Sustainability & ESG Lead for Asia Pacific, Japan, and China. He visited our workspace and gave us valuable insight on what we could do next to scale our projects and really reach the communities we set out to serve when we started the project. Here are some of the great questions he gave us to work on:
Think about the end-to-end impact Matchbox can have
Projections on how many people we can serve, how many keyboards what will take
What will happen to the other components from keyboards we upcycle?
How big will this impact be for a student? How much can a Matchbox do for a kid?
We don't quite have all the answers to these questions yet, but we're already super excited to get started working on them!
January 22, 2025
We had the opportunity to visit FabLab HK today to explore the potential of using more upcycled materials for our Matchbox! We discussed the potential for injection molding, using upcycled 3D printing filament, and even upcycling the empty keyboard shells to use as material.
January 9, 2025
Finding a dedicated workspace has always been a challenge since our team left our previous lab in September. Today, we finally have a workstation big enough for our team of 4 to develop and work at!
Feeling energized and ready to tackle 2025 with one of our biggest todos taken off our shoulders... Now on to the next - a consistent supply of waste keyboards!
September 25, 2024
We had our second workshop at the university this week...
There were around 25 participants, our largest turnout to date! We gathered lots of feedback and made lots of mistakes but that's exactly what these workshops are for!
The main issues can be summarized as follows:
Too little staff: I was estimating the staff-to-student ratio based on my experience teaching software but it turns out hardware is much trickier to teach! We will need more volunteers and helpers next workshop.
Too little time: In this workshop, we only had 2.5 hrs to complete everything and it wasn't enough. Soldering alone took more than an hour, and combined with the lack of staff, many participants had to leave the workshop with incomplete Matchboxes... :(
Fundamental components need to be explained better: We had once again made the mistake of assuming the participants had seen or could get an intuitive understanding of the components with little to no explanation. However, from our observation in the workshops, we need to start by explaining the basics much better for them to enjoy learning the more complicated possibilities toward the end.
Testing needs to be continuous: We noticed that many of the problems people were encountering were caused by small issues left unchecked and eventually snowballed into bigger composite problems that are much harder to troubleshoot. We need systems in place that can make sure participants actually complete each step properly before letting them move on to the next.
We were definitely humbled by the suboptimal results of the workshop but we were able to observe some good outcomes too!
Towards the end of the workshop, after we've sorted most of the issues for some of the participants, they were genuinely enjoying the challenge of mapping and wiring their own Matchbox. Many of them had only been introduced to a breadboard 2 hours prior!
The moment participants' faces lit up when their controllers finally worked was such a precious moment that motivated us to go further!
Some participants mentioned the ikea effect where they felt much more attached and proud of their work after they put in all that effort putting it together.
Overall this was a very productive workshop because we were exposed to many many issues that we could never have imagined if we just kept on developing on our own and never tested the product. These workshops are stressful but at the end of the day, it is worth facing problems head-on because we are engineers and solving problems is what we do!
September 11-13, 2024
Our team had the wonderful opportunity to present Matchbox as a student poster at the 8th International Symposium on Academic Makerspaces hosted at the University of Sheffield this year!
We learned a lot and we hope to channel all the feedback into improving our next prototype!
August 25, 2024
Our team is hard at work preparing for an upcoming conference and for our next workshop (planned in September) and we got some name cards printed for the conference!
August 12, 2024
The PCBs arrived today and Hei immediately got to work on the v0.3 shell design! And in record time, we had a working prototype! This much-improved v0.3 design addresses the following issues:
Tedious disassembly: the previous iterations would fall apart and scatter tiny button parts everywhere if you opened them wrong. The PCBs were also hanging loosely by a flimsy rubberband...
Way too much soldiering: prepping the previous version for workshops meant soldering a bunch of pins and the flimsy and inconsistent flex PCB to the main board. Our new solution, the zebra strip, eliminates that and makes the connection even better.
Finally, and most importantly, it creates a secure and consistent connection! This new version has the keyboard PCB fastened snugly in the bottom half of the casing, with the main pcb screwing directly into it, maximizing structural support and minimizing warping and bowing of the pcbs - which is the main cause of bad connections.
August 6, 2024
Bryan took the specifications from Hei's sketches yesterday and completed the PCB for v0.3 today! The order has been sent in so we should be able to test out our ideas soon! In the meantime Hei will begin working on the CAD for the 3D printed parts - there will be quite a drastic change for the bottom half of the shell since we are experimenting with the idea of using the shell as part of the reinforcement and tensioning of the keyboard to the main PCB. (This is a major point of failure and we hope the added reinforcement will ensure a consistent connection)
August 5, 2024
After consulting some seniors with much more experience with PCBs and assembling electronics, we were advised to take a look at zebra connectors (elastomeric connectors) for the connection. We were also given a hint that we could find them inside multimeters connecting the LCD display to the pcb...
A few multimeter disassemblies later*, we had a new design ready for the next version! Here is Hei's sketch of the components we need to make to test this prototype with the zebra connector.
*no multimeters were hurt
July 31, 2024
Well it turns out the tiny springs were no match for Bryan's soldering skills~ We managed to hand solder all the pins on the first prototype board, clamped a keyboard PCB to it and it works! The connection is much more consistent and the part is even more compact now!
July 29, 2024
Our parts for v0.3 have arrived! These parts are super tiny but they look promising! Next is to figure out how we should assemble these...
July 17, 2024
Since our first workshop ended, we have been busy sorting out all the problems the v0.2 prototype had. Today, we finally started working on the v0.3 prototype! The first thing we want to get right in this iteration is the keyboard to main pcb connection, as this was a major failure on our previous board. Getting a consistent connection on this crucial part will also make troubleshooting the other parts much more enjoyable.
With our plan in motion, Bryan began working on the isolated tester pcb we are making just to figure out a consistent connection method. The idea we want to try out this time is using some battery connector pins to individually tension each pin on the keyboard to ensure each pin on the board can be connected well and independently of each other. We've also begun the process of ordering the parts and equipment we need for this exciting new chapter!
July 16, 2024
What if we could make Matchboxes out of cardboard?
This experiment aims to try out 2 things:
Using buttons that already have the caps attached to them so the disassembly can be more streamlined
Using cardboard to make the outer shell so that no 3D printed parts are required
Overall, this quick proof of concept is successful! Although the hand-cut cardboard shell is crude, it shows how a variant option like this could solve some of our problems with the main prototype!
June 8, 2024
We had our first-ever Matchbox workshop today! We invited some of our friends to come and try assembling their own Matchboxes, and in the process, we gathered lots of useful feedback and problems that we needed to solve!
Here is a summary of the main problems we observed and the feedback we received from our friends:
The soldering part was a lot more difficult for beginners than we had anticipated. We had been working on the project for such a long time that we had unknowingly become more experienced in soldering ourselves - to the point where we vastly underestimated how difficult the soldering portion of this prototype would be for a complete beginner... Our solution will be to eliminate as much soldering as we can in the following iterations.
Assembly for certain parts required too much precision. The 3D shell and the flex PCBs were designed with too little room for error in the alignment and assembly. This meant that valuable time was lost to reassembling and realigning the parts for the controller to work at all. To fix this, we have to include more room for error and improve the versatility of the parts (accommodate for multiple orientations, or use parts that are symmetric no matter the orientation)
Too many components, no idea how to test if it's working. This problem should have been discovered earlier... When I teach children Scratch, I make sure to tell them to test every time they program a new feature or component of the game - how did I ever think we could expect people to just assemble the entire controller without giving them ways to be sure the previous steps had been done properly?!! For the next iteration, we will make sure to include good ways to test the controller at each step in the assembly - making the debugging process part of the assembly, not after it.
The wiring and remapping are still too complicated and inconvenient. Even with a fully assembled and functional controller, one of our participants couldn't intuitively remap the controller to fit her desired mapping. This means the prototype still fails at the following 2 objectives:
Be an educational hands-on experience: the assembly process should ideally teach the participants about how the controller works but we noticed that the process was still too complicated for most to digest so many people ended up just following the instructions without really gaining an understanding of how the controller works or how they could modify it.
Be accessible to modifications: If the participants leave the workshop not feeling empowered to modify and expand upon the controller's capabilities, the prototype fails to encourage tinkering and alterations. We need to come up with better ways to wire and remap buttons so that people can feel confident in opening and messing around with the Matchbox after the workshop.
In general, the controller is functional but still much too complicated for our goal of making it accessible for secondary school (middle and high school) students to use. However, from today's workshop, we have seen that our main goal of making learning hardware development fun and approachable with the use of project-based hands-on materials was successful as all the participants agree that the workshop was fun and having fun did indeed help them engage with the concepts being introduced to them.
The results of today's workshop have been incredibly encouraging. Seeing others having fun with the things we have been working on for so long gives us all the confirmation we need to know we are headed in the right direction. We hope to continuously improve the design of the Matchbox and related materials so that eventually we can bring this same challenge and enjoyment to students and educators from all across the world with our little project and share the love of creating with more!
June 3, 2024
We began printing and packing the first batch of 5 Matchbox kits in preparation for the workshop this weekend. The project also finally has a logo!
May 31, 2024
Iterating on the buttons of prototype 3, Hei improved the d-pad part to only allow for 2 directions to be pressed at once. In contrast, the old design had no limitations so you could press all four directions at once (defeating the point of a d-pad). This was done by adding a small bulb at the bottom side of the part to raise it off the breadboard to make a seesaw-esque mechanism which prevents 2 opposite direcions from getting pressed at once.
We also realized that the round buttons were just a little bit loose, making the already mushy silicone membrane buttons we chose feel a little too rattly. Hei once again solved this by adding slightly more thickness to the round buttons so the button caps sat directly against the buttons, leaving no room for rattling.
Improvements were also made to the top half of the case to make assembly and disassembly easier - this is the first Matchbox prototype we could take apart with just our hands (no tools required!) Since the Matchbox is going to be a DIY project that encourages people to take it apart to modify it, we thought it was of utmost importance that the case could be easily taken apart to make the components inside immediately accessible.
May 30, 2024
Hello! We finally received our custom PCBs ordered two weeks ago! Hei and I spent the better half of the previous 2 days trying to figure out a consistent assembly method to put all the parts together... Keyboard PCBs have been the bane of our existence since day one but it looks like we finally figured something out! Take a look at our current latest model - Matchbox Prototype 3!
May 18, 2024
Hello! Bryan here. I'm working on the PCB design of the Matchbox to replace the v0's soldering cables. We hope to minimize soldering work in the assembly process of the Matchbox. As our leader, Enoch, has been struggling to solder those cables between the board and the Keyboard matrix receiver.
April 16, 2024
Wow, this project is off to a great start! After one intense weekend of tinkering at the university, Hei managed to create a working 3D-printed shell for the controller on his first try!!!
It's amazing to have someone so familiar with 3D printing on the team because Hei could foresee and prevent lots of small errors, errors that would have taken me weeks to figure out on my own!
April 8, 2024
Hello world! We’re gonna recycle old keyboards to make affordable DIY gamepad kits for kids! After a bit of tinkering, @mcscwell @heiinhongkong and I have come up with our first working prototype! Apart from looking like an absolute fire hazard, this v0 prototype features 15 key custom remapping, all without the help of any software or emulation! We are hoping the simplicity of this idea can keep costs low and make the project more accessible for more people to get into electrical engineering! On a personal note, this project has been the perfect opportunity for me to finally begin learning about developing hardware. I’ve been wanting to work on hardware projects for the longest time and when this opportunity presented itself I simply had to drop everything to make it happen! Looking forward to sharing more of our progress soon!
-Enoch