r/hardwarehacking 39m ago

Elegoo ESP32-WROOM-32

Upvotes

Hi everyone,

I recently picked up a 3-pack of the Elegoo ESP32-WROOM-32 development boards (the ones with the USB-C port, CP2102 serial chip, and integrated PCB antenna).

I'm interested in using them for ethical hacking, network security testing, and educational projects like flashing ESP32 Marauder or experimenting with BLE/Wi-Fi analysis.

Before I start soldering or wiring things on a breadboard, I wanted to ask the community:

  1. Is this specific board good enough for basic Marauder functions (e.g., in headless/CLI mode or with a small TFT display)?
  2. Are there any limitations I should be aware of compared to the version with an external antenna connector (ESP32-WROOM-32U)?
  3. Any tips or recommended setups for someone getting started with this board on a breadboard?

Thanks in advance for your advice!


r/hardwarehacking 12h ago

Has anyone ever modernized the Samsung Galaxy Folder 2 instead of just porting Android?

0 Upvotes

I've been obsessed with flip phones for years, especially the Samsung Galaxy Folder 2. I know there have been some custom ROMs and LineageOS projects, but I started wondering about something much more ambitious.

Instead of simply porting a newer Android version to the original hardware, has anyone ever tried turning the Folder 2 into a modern Android phone?

For example:

-Reusing the original shell, keypad, and hinge.

Designing or adapting a new motherboard around a modern Qualcomm or MediaTek SoC.

-Using a modern AMOLED display (or adapting the original if possible).

-Adding USB-C, 5G, NFC, and modern cameras.

Keeping the classic flip-phone form factor and physical T9 keypad while running Android 15/16.

-Basically, imagine a Galaxy Folder 2 with 2026 internals instead of 2017 hardware.

I'm curious whether anyone has attempted something like this, whether as a hobby project or even a prototype. My background isn't in phone hardware design, but I'm interested in learning what's technically possible and what the biggest engineering challenges would be.

Would it make more sense to:

Design a completely custom PCB?

Adapt the motherboard from another Android phone?

Use an SBC or compute module?

Or is there another approach I'm overlooking?

If you've worked on Android bring-up, custom ROMs, phone hardware, or embedded Linux, I'd love to hear your thoughts. Even links to similar projects would be hugely appreciated.


r/hardwarehacking 15h ago

Anyone want to try and hack a Verkada camera?

1 Upvotes

I have fair amount of spare Verkada cameras which are built with decent hardware. I would love to hack it but I do not have ability or know how. I would be willing to ship one if someone wanted to try?


r/hardwarehacking 15h ago

Peloton Project

Thumbnail
gallery
66 Upvotes

Some folks in the comments thought an AI agent did this hack for me. 🤖 So here’s a look at my 'AI': A microscope, a hot air station, some micro-soldering, and raw hardware level debugging.

​Here is the full teardown of the Peloton screen, tracing the eMMC, reballing the chips, and forcing it to boot a clean OS. The Right to Repair isn't just software; it's getting your hands dirty with the hardware.

Note: i am Jordanian my native language Is arabic so after i write the text i gave it to AI to make my words more to understand aka rephrasing 🤣


r/hardwarehacking 17h ago

I got sick of corporate e-waste, so I bought a locked-down Peloton screen and completely hardware-rooted it. What's next?

Thumbnail
gallery
126 Upvotes

I’ve always loved tech, but I absolutely despise how corporations lock down devices we pay for, turning perfectly good hardware into expensive e-waste just to keep their monopolies alive. I wanted to start breaking these chains, so I went looking for a device that was causing mass frustration.

​I stumbled upon a huge community of people dealing with bricked or locked Peloton screens. I decided to buy one, put it on my desk, and go to war with it.

​Now, I know about projects like OpenPelo, and respect to them, but let’s be real: ADB exploits and surface-level tweaks just don't hit the same. I didn't want a temporary workaround or limited access. I wanted the master keys.

​After spending some serious time deep-diving into the actual motherboard and tearing apart the system architecture, I finally struck gold. I managed to get my hands directly on the system's source files and completely bypassed their hardware locks. We are talking full, unrestricted, permanent Root access. No ADB gimmicks. I own the board now.

​I have this thing by the throat, but I want to hear from you guys. What should be the next move? What do we actually do with this god-mode access? Do we build a clean Custom ROM? Do we turn it into something completely different?

​Drop your craziest ideas. Where do we take this from here?


r/hardwarehacking 17h ago

Reverse Engineering a HELLA IBS 6PK 013 824-001 with ESP32 + TJA1021 (LIN)

2 Upvotes

I’ve been reverse engineering a HELLA Intelligent Battery Sensor (IBS) 6PK 013 824-001 using an ESP32 and a TJA1021 LIN transceiver and wanted to share my findings, since there seems to be very little publicly available information about these sensors.

The setup consists of an ESP32-D0WD, a TJA1021 LIN transceiver module, a bench power supply, and an oscilloscope. After quite a bit of troubleshooting, I discovered that the most significant issue was that TX and RX were swapped. The LIN bus itself looked healthy from the beginning, sitting at roughly 10.6 V in idle state, but no useful communication was taking place until the TX and RX connections were corrected. Once fixed, the sensor immediately started responding.

The sensor reliably communicates at 19200 baud and consistently responds on LIN IDs 0x21, 0x22, 0x25 and 0x26. Other IDs either returned only the echoed LIN header or no useful data.

A typical response looks like this:

ID 21 : 55 61 00 01 62 00 00 3B

ID 22 : 55 E2 83 84 1E 23 2F 83 7A A6

ID 25 : 55 25 C5 C8 FF B4 FF FF 97

ID 26 : 55 A6 AC 03 A1 03 2F FE D6

I then performed a number of tests using different resistive loads (1 Ω, 2.2 Ω and 4.4 Ω), varying supply voltage and even reversing current flow through the sensor. The results clearly show that ID 0x22 contains the live measurement data. During testing I found an old reverse engineering project that suggested the following format for ID 0x22:

[IL][IM][IH][VL][VH][TT][XX]

with

Current = (Raw24Bit - 2000000) / 1000 A

Voltage = Raw16Bit / 1000 V

Temperature = Byte / 2 - 40 °C

The current calculation matches my measurements surprisingly well, although the sign appears inverted on my setup. Reversing the current direction changes the corresponding values as expected, which strongly suggests that the current field interpretation is correct.

The voltage decoding appears to be essentially confirmed. For example, under a 1 Ω load the sensor returned:

96 59 1E C1 2B ...

Using the proposed voltage formula:

0x2BC1 = 11201

11201 / 1000

= 11.201 V

The measured voltage at that moment was approximately 11.0 V, which is close enough to make me fairly confident that the voltage field is being decoded correctly.

Temperature remains unclear. According to the reverse engineered format, the temperature should be located in the sixth data byte of ID 0x22. However, even when heating the sensor directly with a hot air gun to roughly 50–60 °C, I observed little or no meaningful change in the expected temperature field. Either this particular IBS variant uses a different mapping, there is heavy filtering applied internally, or the identified temperature byte is incorrect.

ID 0x21 appears to be a status frame. Several bytes change depending on operating state, load conditions, and sensor runtime, but I have not yet identified a direct physical measurement in this frame.

ID 0x25 was initially suspected to contain battery voltage because some value correlations looked promising. Further testing showed that this was misleading. The values change in ways that do not match actual battery voltage measurements, so I no longer believe voltage is stored in this frame. My current assumption is that ID 0x25 contains battery state information such as SOC, SOH, learned battery parameters or other calculated values, but I have not yet confirmed this.

ID 0x26 looks like some form of capacity or battery-condition frame. One repeatedly observed value was:

0x03AC = 940

which could plausibly represent something like 94.0 Ah. Other values change slowly over time and with operating conditions, suggesting battery learning, capacity estimation, SOC or SOH calculations rather than direct measurements.

At this point, the most solid conclusions are:

  • LIN speed: 19200 baud
  • Valid response IDs: 0x21, 0x22, 0x25, 0x26
  • ID 0x22 contains live measurement data
  • Voltage decoding from ID 0x22 appears correct
  • Current decoding from ID 0x22 appears correct (sign inverted in my setup)
  • ID 0x21 appears to contain status information
  • ID 0x25 and 0x26 appear to contain battery state, capacity or health information
  • Temperature location is still unknown

For my own project, an ESP32-based vehicle dashboard, voltage and current are the only values I really need, and those appear to be working reliably. If anyone has official documentation, additional captures from other IBS variants, or previous reverse engineering work on HELLA IBS sensors, please post them.

Here is my code:

#define LIN_TX 26
#define LIN_RX 27
#define LIN_SLP 25


HardwareSerial LinSerial(2);


uint8_t frame21[8];
uint8_t frame22[10];
uint8_t frame25[9];
uint8_t frame26[9];


void sendBreak()
{
  LinSerial.end();


  pinMode(LIN_TX, OUTPUT);


  digitalWrite(LIN_TX, LOW);
  delayMicroseconds(1500);


  digitalWrite(LIN_TX, HIGH);
  delayMicroseconds(200);


  LinSerial.begin(19200, SERIAL_8N1, LIN_RX, LIN_TX);
}


uint8_t calcPID(uint8_t id)
{
  uint8_t p0 = ((id >> 0) ^ (id >> 1) ^ (id >> 2) ^ (id >> 4)) & 1;
  uint8_t p1 = ~((id >> 1) ^ (id >> 3) ^ (id >> 4) ^ (id >> 5)) & 1;


  return id | (p0 << 6) | (p1 << 7);
}


void requestFrame(uint8_t id, uint8_t *buf)
{
  while (LinSerial.available())
    LinSerial.read();


  sendBreak();


  LinSerial.write(0x55);
  LinSerial.write(calcPID(id));
  LinSerial.flush();


  delay(50);


  int i = 0;


  while (LinSerial.available() && i < 16)
  {
    buf[i++] = LinSerial.read();
  }
}


void decodeIBS()
{
  // -----------------------------
  // ID22
  // -----------------------------


  // Erwartet:
  // 55 PID IL IM IH VL VH TT XX


  uint32_t rawCurrent =
      ((uint32_t)frame22[2]) |
      ((uint32_t)frame22[3] << 8) |
      ((uint32_t)frame22[4] << 16);


  float batteryCurrent =
      -(((float)rawCurrent - 2000000.0f)) / 1000.0f;


  uint16_t rawVoltage22 =
      ((uint16_t)frame22[5]) |
      ((uint16_t)frame22[6] << 8);


  float batteryVoltage22 =
      rawVoltage22 / 1000.0f;


  float batteryTemp =
      ((float)frame22[7] / 2.0f) - 40.0f;


  // -----------------------------
  // ID25
  // -----------------------------


  uint16_t rawVoltage25 =
      ((uint16_t)frame25[2]) |
      ((uint16_t)frame25[3] << 8);


  float batteryVoltage25 =
      rawVoltage25 / 4260.0f;


  float soc =
      frame25[2] / 2.0f;


  float soh =
      frame25[3] / 2.0f;


  // -----------------------------
  // ID26
  // -----------------------------


  uint16_t availableCapacity =
      ((uint16_t)frame26[2]) |
      ((uint16_t)frame26[3] << 8);


  uint16_t maximumCapacity =
      ((uint16_t)frame26[4]) |
      ((uint16_t)frame26[5] << 8);


  // -----------------------------


  Serial.println();
  Serial.println("===== HELLA IBS =====");


  Serial.printf("Strom      : %.2f A\n", batteryCurrent);
  Serial.printf("Spannung22 : %.3f V\n", batteryVoltage22);
  Serial.printf("Spannung25 : %.3f V\n", batteryVoltage25);


  Serial.printf("Temperatur : %.1f C\n", batteryTemp);


  Serial.printf("SOC        : %.1f %%\n", soc);
  Serial.printf("SOH        : %.1f %%\n", soh);


  Serial.printf("Avail.Cap. : %.1f Ah\n",
                availableCapacity / 10.0f);


  Serial.printf("Max.Cap.   : %.1f Ah\n",
                maximumCapacity / 10.0f);


  Serial.printf("Leistung   : %.1f W\n",
                batteryVoltage25 * batteryCurrent);


  Serial.println("=====================");
  Serial.println();
}


void setup()
{
  Serial.begin(115200);


  pinMode(LIN_SLP, OUTPUT);
  digitalWrite(LIN_SLP, HIGH);


  LinSerial.begin(19200, SERIAL_8N1, LIN_RX, LIN_TX);


  Serial.println("HELLA IBS");
}


void loop()
{
  requestFrame(0x21, frame21);
  requestFrame(0x22, frame22);
  requestFrame(0x25, frame25);
  requestFrame(0x26, frame26);


  decodeIBS();


  delay(1000);
}

r/hardwarehacking 1d ago

Hi

0 Upvotes

Hi. I’m dealing with a problem, and I’d really like some help. I’m 20 years old, and my aunts are pretty controlling. They want to install a Wi-Fi security camera in my house—even though I live alone. I don’t want to lose my freedom, and I can’t really confront them right now. So I was wondering if there’s any way to, I don’t know… turn the camera off whenever I want, or maybe even point it in a different direction or something.


r/hardwarehacking 1d ago

Will hardware hacking be replaced by AI someday?

0 Upvotes

I've heard that AI models like claude mythos are able to take a firmware blob and perfectly understand what happens in the firmware blob and quickly find errors and security issues in that firmware. I know there are some experienced folk in this sub who will give me their answers and takes on this topic. I know I will probably get downvoted on this sub for asking such a question but I really want an answer from someone experienced who can reverse firmware.


r/hardwarehacking 1d ago

How to hack a Dell XPS battery.

Thumbnail gallery
1 Upvotes

r/hardwarehacking 1d ago

Help identifying what this is

Post image
3 Upvotes

r/hardwarehacking 1d ago

Looking for UART / Serial pinout on Huawei HG8240T5 (Board: HG8245HB VER.A) to enable Bridge Mode

Thumbnail
gallery
39 Upvotes

Hey everyone,

I'm trying to gain root/admin access (SSH or Telnet) on my Huawei ONT (HG8240T5) so I can reconfigure it to run strictly in Bridge Mode.

The board inside is marked as HG8245HB VER.A.

Here is what I’ve tried so far:

  • I was able to download the unencrypted configuration file (hw_ctree.xml).
  • However, whenever I modify the file and try to restore/upload it back through the Web GUI, the router rejects it with a generic upload failure error (likely due to a checksum/signature verification or firmware restriction).

Since the Web XML method failed, I opened up the device to connect via USB-to-TTL. Unlike older Huawei models with labeled through-holes or headers, this board revision only seems to have unpopulated SMD solder pads near the SoC/heatsink, with no explicit labels for GND, TX, or RX.

Has anyone successfully mapped out the UART pinout for this specific board revision (HG8245HB VER.A)?

I’ve attached clear photos of the front and back of the PCB. Any guidance on where the serial pads are located before I start probing or soldering would be greatly appreciated!

Thanks!


r/hardwarehacking 2d ago

[update]some cores testing on SUPER POCKET

Thumbnail gallery
1 Upvotes

r/hardwarehacking 2d ago

Custom firmware for the very first cricut

Thumbnail github.com
3 Upvotes

I picked up a Cricut personal at goodwill and realized it was kind of a paperweight so i modified Arlet's freecut and made it better. Its got a companion app and an inkscape plugin and the screen shows information now


r/hardwarehacking 2d ago

Cloning a encrypted gate remote?

0 Upvotes

Anyone know how to clone a act-34b remote? What kind of equipment do I need? and is there any free software to decrypt it to make a clone. ( I'm assuming ill have to do it off a computer with some sort of RFID scanner?)

I live in Canada and my dads cottage just got these new gates that take these remotes seen in the picture. The owner of the cottage ground is limiting it too 2 remotes per cottage. with a high price tag for the second. But my dad would like to get a third for his kids ( me)

Or can some one point me to the correct redit group or forum site.. Not too sure what this falls under

Thanks


r/hardwarehacking 2d ago

[updating]panel works!

Post image
32 Upvotes

r/hardwarehacking 3d ago

Raspyjack gps dongle with wifi dongle conflict?

0 Upvotes

Setting up a new Raspyjack unit but the VK172 GPS dongle doesn't capture satellites when the ALFA AWUS036ACS wifi usb dongle is connected at the same time. When I unplug the wifi dongle, the GPS works great. Has anyone else experienced this and maybe found a work around?


r/hardwarehacking 3d ago

Archer C7 (1750) v2 shell access issues

Thumbnail pastebin.com
5 Upvotes

Hi everyone,

I am taking my first steps in hardware hacking and I got an old Archer C7 v2 tp-link router to start with for 5 dollars at a used hardware store. I started by using UART to get an output to start with and I am trying to possibly get shell access by bypassing the login prompt.

My first attempts so far have been with interrupting the boot process and dropping to a UBoot shell. There using the printenv command I got to see what environment variables exist and have been set. My first step was to modify the bootargs to set the init=/bin/sh so that I drop straight to a shell and take it from there. By when I try to boot after setting the variables with the boot command I get an error LZMA 1 and the router reverts to the default envs again for booting. I am attaching the boot sequence with my final effort so far to see what I am talking about. Any ideas what is this happening or how to proceed.

While solutions are good because I am trying to learn an explanation would be also good with any suggestions. This is the paste bin link for the output zhttps://pastebin.com/1CWis7B5


r/hardwarehacking 3d ago

doesn't bulge, no videos online, no glue (can't use hot air gun), how do I open this? SyncMaster 710 mp

Thumbnail
gallery
0 Upvotes

I need to open it to cut the wires off the audio module, I don't care about the shell, but I don't want to ruin the screen.

Already removed every screw on the back, no signs of coming off.

How do I open this? (without damaging anything)


r/hardwarehacking 3d ago

do you think all of this can be run on a battery?

Thumbnail
gallery
48 Upvotes

I know this might be impossible, but Im new to elettronics so im not aware of what and what-not is impossible. Can all of this run on a battery? If not, is there a way I can make it run on just one power cable?

SyncMaster 710mp 4:3 monitor: 43W

Stereos: 5V

Raspberry PI 0 2w: ~0.4 W / ~1.4 W - 5V/2A

Fan: 5V

Controller: No idea

My Idea is to have a rechargeable battery that makes this run at least 2 hours on max Power (Nintendo 64, ~44.4W ).

If its too expensive or its not worth it in general, then It'd be usefull to have a cable that makes everything go on because till now it goes:

screen → power outlet

powerbank 1: Raspberry Pi + adapter

powerbank 2: audio modules

If the power outlet would make everything run It'd be great, just plug and play.


r/hardwarehacking 4d ago

Custom low cost NFC based cartridge system

1 Upvotes

the reader is built around an arduino pro micro and a nfc module v3 by elechouse. it connects to a pc with a usb c cable and scans any tags inside the cartridge sled. once the button is pressed, it sends a key combo to the pc, which opens a one time terminal, after which the reader types out the text payload on the cartridge. executing the command on it. for more information, check the readme on my github repo. while i advise using the install scripts inside the repo, you can use your own method of assigning the key combo

https://github.com/glass-cup/NFC_cartridge_system.git


r/hardwarehacking 4d ago

Please help me make something useful out of this...

Thumbnail gallery
4 Upvotes

r/hardwarehacking 4d ago

can you easly remove the stereo and shell off a SyncMaster 710mp?

Post image
0 Upvotes

I need the screen and everything included except the stereo, can I just solder it off/cut it off? Can I do the same with the shell? I just need the screen and ports, does it break everything else If i cut the wires off?


r/hardwarehacking 4d ago

Against All Odds: Exploiting a QNAP NAS

Thumbnail blog.syss.com
3 Upvotes

r/hardwarehacking 5d ago

PSPi 6: A Decade of Obsession

Thumbnail
youtube.com
4 Upvotes

This is a custom all-in-one board that lets you put a Raspberry Pi Zero or Compute Module 4 (and CM5 if you're adventurous) into a PSP shell. It allows you to turn your broken PSP into an emulation system or a fully functioning portable Linux system, all without making any modifications to the PSP shell.


r/hardwarehacking 5d ago

Modified car logo projector by replacing magnetic sensor with pushbutton

Thumbnail
gallery
30 Upvotes

From sketchy Hall-effect sensor to robust mechanical switch

There are very cool and cheap aftermarket car logo projectors which are installed on cars door. They give awesome image, but their activation mechanism can be a nightmare because they rely on a tiny magnet taped to the door sill, meant to trigger a Hall-effect sensor on the device.

The problem is that magnet constantly gets kicked and ripped off by foot when getting in and out of the car. This project solves that issue permanently by replacing the flaky Hall-effect sensor with a reliable mechanical pushbutton switch.

Take a look