Hasty Briefsbeta

Drawbot – let's hack something cute

9 days ago
  • #hardware hacking
  • #DIY robotics
  • #reverse engineering
  • The author embarked on a hardware hacking project targeting a drawing robot toy that uses pre-defined barcode cards to select images to draw.
  • Initial exploration revealed the robot's barcode system uses 8-bit codes, allowing for 256 possible images, but only 100 were provided with the toy.
  • Disassembly of the robot was challenging due to recessed screws, requiring creative use of power tools to open the device.
  • Fuzzing the barcode reader uncovered hidden images not included in the card deck, such as 'Take a bath!'.
  • The robot's hardware includes an ARM Cortex-M0 MCU and two SPI NOR flash chips (64MB and 128MB), with the latter suspected to store drawing data.
  • Barcode analysis revealed the system uses input multiplexing to read the 8-bit codes from the cards via optical sensors.
  • A Raspberry Pi was used to emulate barcode inputs, enabling the enumeration of all possible images, including hidden ones not on the provided cards.
  • Flash memory analysis identified a structured format for storing drawing instructions, which were successfully extracted and converted to SVG format.
  • The author developed tools to modify the robot's drawing data, successfully replacing an existing image with a custom one by directly editing the flash memory.
  • Future work could include automating the image replacement process, decoding and replacing audio files, or redesigning the robot's body.