Thanks for the wiki -- I have always been interested in hardware hacking but I have always felt overwhelmed as I didn't know where to start. I believe this kind of resource can greatly help with that, especially the case studies.
However, I can't help but feel that a major part of the content is LLM-generated, or at least LLM-rewritten. It feels off and uninteresting to read, honestly. Is it the case? To support my case, I see that the case study page (https://www.hardbreak.wiki/introduction/case-study-led-to-a-...) has very similar paragraphs next to each other, the second one seemingly being the "genuine" one, and the first one being the LLM-rewritten version.
I'm not against using LLMs to help fix typos or reformulate things, but you should definitely keep some of your style. The LLM that you used (if you used one) made the content super bland, and as a reader, I'm not really incentivized to browse more.
This is great timing. I recently purchased a micro:bit for learning with my young daughter (who loves it) and found I was very quickly out of my depth with even the most rudimentary customisation for the board.
My draws have now exploded with breadboards, alligator clips, jump wires, LCDs and various other electrical components and I'm in desperate need of understanding the fundamentals of how all these things work.
There's something magical and addictive about being able to control your own hardware components from your own code though. We've had great joy from simply lighting up LEDs and programming our IR receiver.
A minor nitpick, but it would be great if you put a description of the site in the meta/og description[0] so people get an explanation of what the site is when linking elsewhere, e.g. the same "This page is a free and open-source wiki about hardware hacking!" as is on the page itself. I just linked the site in Slack and it just says "hardbreak.wiki / Welcome to HardBreak | Hardbreak" which is pretty terse. I imagine there might be some setting in your wiki software that might populate these tags automatically (moreso than they already have), with any luck!
I've always been on the application security side of things, but I'm increasingly interested in hardware hacking. Through some cursory research, I learned that there are a few scattered resources, but the best way to learn is to really work with someone who knows what they're doing.
Putting all these guides, roadmaps, etc. together in a single place is a great resource that I'll definitely use.
Instead of `strings` for the search[1], I recommend using `rz-bin`[2] and `rz-find`[3] tools, which offer more flexibility, searching strings outside of the data sections, searching for Unicode and less common encodings, and built-in cryptographic keys search. There are also `/` (search) commands in the Rizin itself. As for the entropy, there is a configurable and interactive histogram, see `p=` and `p==` commands, e.g. `p==e`.
Can anyone recommend a resource for how to (architecturally) handle communication with a device over i2c? That is where I am kinda stuck atm when it comes to programming a GPS device.
I bit off more than I could chew: learn elixir, learn i2c, and produce a novel library for controlling the ublox chip since nothing existed for Elixir.
But when it comes to managing the state of the device, reading/writing memory, etc.. that is all very foreign to me (I am used to sockets, http apis, etc) like request/response style interactions.
I know of one family that’s doing homeschooling. It’s not because of classmates, it’s because of curriculum failures. Their school district has messed up both reading (not doing phonics) and math. So if their kid goes to school they still have to go home and spend a lot of additional time learning. If they stay home, they learn everything they need in much less than a school day.
This is only possible for them due to modern education software that lets them know exactly where their kid is at and where tutoring is needed.
This is good. I would've like to see the things that are possible by hacking hardware upfront. I think this help entice users by providing some exciting anticipation.
One interesting feature: an index of all existing (already documented) hardware hacks on commercial devices. I know for example the IP camera industry has a large models that many different people are modding, but their docs are scattered all over github.
This is great, and sorely needed! My son wanted to get into hardware hacking a couple of years ago and had a horrible time. He ended up watching a mish-mash of varying quality youtube videos and reading blog posts which went out of date suprisingly quick.
Thanks this is an awesome resource! Especially to get into hardware hacking without getting lost in case studies... It looks super beginner friendly too
I've been trying to learn how to customize Linux (e.g. roll my own Linux) for any platform but it takes time to learn since all the information is laid out all over the internet, thus hard to locate. I'm aware of Linux From Scratch project but it is a long read and I find that certain knowledge is assumed (e.g. why build chain is needed), thus not necessarily newbie-friendly. Though I've yet to go through your site, hopefully it will take the newbie inexperience (e.g. electronics knowledge if any) into consideration.
I created an open-source Hardware Hacking Wiki – with tutorials for beginners
(hardbreak.wiki)737 points by hw-f3nter 12 January 2025 | 119 comments
Comments
However, I can't help but feel that a major part of the content is LLM-generated, or at least LLM-rewritten. It feels off and uninteresting to read, honestly. Is it the case? To support my case, I see that the case study page (https://www.hardbreak.wiki/introduction/case-study-led-to-a-...) has very similar paragraphs next to each other, the second one seemingly being the "genuine" one, and the first one being the LLM-rewritten version.
I'm not against using LLMs to help fix typos or reformulate things, but you should definitely keep some of your style. The LLM that you used (if you used one) made the content super bland, and as a reader, I'm not really incentivized to browse more.
From the license.md [0] page, under "Terms":
> Exemptions: Commercial Use: For inquiries regarding commercial use, please contact the author.
[0] https://github.com/f3nter/HardBreak/blob/fd3d2d4cd17624a3f62...
My draws have now exploded with breadboards, alligator clips, jump wires, LCDs and various other electrical components and I'm in desperate need of understanding the fundamentals of how all these things work.
There's something magical and addictive about being able to control your own hardware components from your own code though. We've had great joy from simply lighting up LEDs and programming our IR receiver.
https://hardwareteams.com/docs/embedded/embedded-resources/
[1]. https://en.wikipedia.org/wiki/Circuit_bending
[0] https://ogp.me/
I've always been on the application security side of things, but I'm increasingly interested in hardware hacking. Through some cursory research, I learned that there are a few scattered resources, but the best way to learn is to really work with someone who knows what they're doing.
Putting all these guides, roadmaps, etc. together in a single place is a great resource that I'll definitely use.
Thank you!
Head to your local public library and pick any book pre 2020
[1] https://book.rizin.re/src/search_bytes/intro.html
[2] https://book.rizin.re/src/tools/rz-bin/strings.html
[3] https://book.rizin.re/src/tools/rz-find/intro.html
Backstory: at one point I was trying to use elixir/nerves on an rpi to manipulate a few sensor modules to try and produce a race lap timer for motorcycles: https://github.com/whalesalad/rabbit/blob/master/lib/rabbit/...
I bit off more than I could chew: learn elixir, learn i2c, and produce a novel library for controlling the ublox chip since nothing existed for Elixir.
But when it comes to managing the state of the device, reading/writing memory, etc.. that is all very foreign to me (I am used to sockets, http apis, etc) like request/response style interactions.
If it's a wiki, it would be less than courteous to restrictively copyright public contributions (but I'm sure it's been done).
And presumably, paywalling it would reduce contributions.
My impression as to the number one barrier to hardware modifications is soldering. For some reason people can't or won't do it.
So I'd like to introduce the non-sponsor for this comment, "Pincel" the open firmware soldering iron
https://pine64.org/devices/pinecil/
It's running a risc-v chip on open firmware so you'll have cool points with when you whip it out at Richard Stallman's next BBQ.
Not to be that guy, but I always think it's a shame to see an open source community centre itself around a Discord server.
I've been trying to learn how to customize Linux (e.g. roll my own Linux) for any platform but it takes time to learn since all the information is laid out all over the internet, thus hard to locate. I'm aware of Linux From Scratch project but it is a long read and I find that certain knowledge is assumed (e.g. why build chain is needed), thus not necessarily newbie-friendly. Though I've yet to go through your site, hopefully it will take the newbie inexperience (e.g. electronics knowledge if any) into consideration.
Good luck, SM68
Can't wait for the RFID section :)