top of page

Electronics

Electronics held a key role in the InCOGnito project.

They served as an intermediary between the Raspberry Pi micro-computer, the mechanical cifer and the recieving computer.

WhatsApp Image 2021-02-19 at 19.06.33.jpeg

Mission

We needed to find a way to recieve the keyboard imputs, which came through the micro-computer, split each letter on a different electronic circuit to send them across the encrypting cogs, and finally convert the electronic signal specific to each letter in a langage the recieving computer could understand. 

The electronic circuit

Let us explain in more detail the principal of our electronic circuit. The schema (downloadable here) the circuit when two letters are linked together at any given time by the rotors. The signal is given by a GPIO pin on the Raspberry Pi, depending on the letter. The signal will flow trough the diode, since the transistor will not be supplied at the emitor, and be sent by the rotors to any other letter's channel. It will then arrive by the right side, be blocked by the diode, but go through the transitor by the emitor. It will finally leave from the collector towards the base of mechanical keyboard (BMK) which we cill detail later.

Schema_electrique_PCB.png
Kicad_PCB.png

Printed Circuit Board Concieving

In order to draw the PCB, we used a software called "KiCad", with which one can draw up, test, and export electronic circuits, PCBs and the files needed to have them made.

 

  • First, download the "Kicad" software here

  • Download our KiCad project here 

  • Extract the "Geber files InCOGnito project" file (Warning: IT IS NOT PERFECT! Many of the footprints used are wrong: we incite you to learn how to use KiCad and modify the "Fina schema.kicad_pcb" file; for more details please refer to the next part)

  • You will then need to find a company who will make the PCB for you from your Geber files: we used JLCPCB (you can find their website here)

Main problems with our PCB

As stated above, our PCB is far from perfect. We had to learn how to use KiCad specifically for this project, and necessarily made errors which costed us many extra hours of soldering to fix. Therefore, we strongly recommend you learn how to use KiCad and modify a few points, especially the following:

​

  • The footprints used for the I2C pin extender and the 2x20 socket buses are the wrong size, so we had to manually solder wire from the Raspberry Pi to these parts. If you find the right footprints in the library or draw them yourself on the software, you will save yourself multiple hours of soldering

  • Make sure to check that every electronic channel is separate and doesn't cause a short circuit

  • The footprints used for the resistors forced us to solder them "standing up" (like on the first image of the site) which is rather unstable. Replacing them by wider footprints will allow you to solder them flat, hence making the resistors more stable!

Photo_carte_vierge cropped.jpg
BMK ok.jpg

Converting the electrical signal to USB

For this part, our method was rather unorthodoxe. We used the base of a mechanical keyboard (refered to as BMK), but replaced the key inputs by transistors which served as switches.

​

Soldering (The Best!)

You should now have every part necessary to link up Raspberry Pi, mechanical cypher and recieving computer! "All" you have left to do is solder the elements together!

The tools you need include:​

  • A precise sordering iron and solder

  • Transistors and resistors

  • Patience... A LOT 

 

You will find more details of the precise requirements and tipps in the Word document downloadable here.

WhatsApp Image 2021-02-19 at 19.06.34 (1).jpeg

Back to DATA

bottom of page