Hi folks!
We couldn’t be more proud to welcome such a predestined #1 hardware hacking
victim, than VICTor is!
Before Brian and I gave a lecture on hardware hacking last week at
DHBW Mosbach, we felt, that we needed a custom
victim which is fully documented and provides a good “hackability” to the
students.
Surely we could also have used some cheap $wifi_ap, but here’s the thing: Would
you really want to use a device which you don’t really know? Mostly, there’s a
massive lack of documentation regarding the SoCs used…not to mention the
unavailability of schematics and layouts.
As we wanted to teach students the basics of hardware hacking effectively, we
decided to create something by ourselves.

VICTor is a simple Arduino shield – thought to be compatible with UNO R3 and
Leonardo. Thought to be – more on this later.
To get a cheap PCB we chose to solely use classical THT parts and nothing
surface-mounted.
The
board is equipped with two EEPROMs (one SPI and one I²C), four N/O switches,
three 3mm LEDs (green, yellow and red). Further a bunch of resistors, some
capacitors and a resistor network – parts, which are needed for the other parts
as pull-up, pull-down, series resistor or, in case of the caps, to stabilize
Vcc-supply of the EEPROMs. There are also some pin headers connected next to the
socket-mounted EEPROMs’ pins to easily interface with e.g. a logic analyzer.
As we wanted to have a board which is also expandable in the future, we gave
VICTor the footprint of an ESP8266 connector and its necessary wiring. This
means, that it’s easily possible to make VICTor and its Arduino WIFI-capable!
As mentioned above, we wanted to have the shield compatible with both, the
Arduino UNO R3 and also the Leonardo boards (as we had lots of them laying
around from a past TROOPERS). The compatibility was
considered in schematics and layout – but in real life it sadly didn’t work.
It’s not the first time we had problems with the Leonardo boards. In some
workshops we already had the problem, that we suddenly couldn’t upload new
sketches to them. First, this seemed to be only a problem on Windows boxes, but
then we had more and more Linux machines that wouldn’t flash anymore. The only
thing which sometimes helped, was burning a new bootloader on the Leonardo –
until it got bricked again after several times of uploading new sketches.
Using VICTor on a Leonardo caused some electrical problems. So, e.g. LEDs lit or
flickered, when they don’t were intended to do so. Also the switches couldn’t be
read.
Maybe we’ll spend some time to find the underlying cause soon.
Some words on “why we chose to use Arduino”: It’s on the dice that most
“tekkies” have already heard of the Arduino project or even have worked with it.
We think the project is worth being supported – it’s open source, open hardware
and has a broad community with tons of different projects. It’s also easy-to-use
for beginners in electronics and programming. Most of the things you want to do
or want to interface with, already have functions or libraries you could make
use of in your own project.
A plus for us: We didn’t have to create our own microcontroller platform, which
would have taken much more time to develop and maybe also to debug.
And last but not least: A million thanks to our Olli G. for supporting us and the rest of the team during the past week!
Live long and prosper,
Stefan