In November 2017, CMS and ATLAS (both Cern experiments), launched a competition to design an exhibit prototype for the LHC accelerator, explaining “why we do what we do” at Cern.
This repository contains information, design, schematics, drawings... concerning the award-winning project for this LHCreate 2017 hackathon at Cern's IdeaSquare.
Scientists, often fascinated by their very specific field of competence, easily end up in a delirium when trying to explain what they are actually doing. This results in an exciting subject like physics becoming extremely unclear for friends and family. This prototype aims at showing in an interactive way how accessible science really is.
A heterogeneous mix of enthusiastic people, who never met each other before, have been put together in a blue container for two days. Ok, let's give them some names... Claudia, James, Laura, Maëlys, Marina and Carl started brainstorming on the subject. After a couple of hours of crazy ideas from the Cern physicists, engineers and IT'ers, they hit the brakes, and started involving their artistic designers from IPAC Design in Geneva. Now things really got moving. Finally, an interactive, scientifically correct exhibit, which also looks good, was born !
The four modules around the central cube each contain an enigma to solve. When having found a solution, a digit will appear in the concerning module. The combination of these four digits can then be combined to a pin-code to open the vault in the central cubicle. It will give access to......... ok, that you will have to find out yourself 😉
The enigmas in the modules have been built around a variety of subjects which trigger the curiosity of both scientists and engineers at Cern. Each of the enigmas represent an important group of researchers working in and around the accelerator complex in Geneva. It all starts with a theory. Next the experimentalists accelerate particles in the 'big' machine, to make collisions for the researchers in their detectors. Finally, data scientists will process huge amounts of information to filter out what we really want to know.
Connect the dots of the Feynman diagram......
Launch the pinball-particle in the accelerator......
Build the onion detector......
Decrypt the visual cryptogram......
- have a crazy idea
- decide on what is should look like
- make it interactive
- design and build a prototype state-of-the-art housing
- build air-wire/breadboard prototype electronics
- publish mechanical build-files for the prototype
- publish (cleaned-up) prototype code for the µ-controller
- design and build a public-proof housing
- design a descent electronics board
- build a proof-of-concept for the final electronics with appropriate code for the µ-controller
- design and build a public-proof housing for the exhibit
- write an end-user manual
The brain of the system is based on an ATmega328p µ-controller (yes, like the Arduino UNO). The choice was pretty obvious for multiple reasons. The design is easy, the IDE is well-known, specific libraries exist for the communication with the different displays and addressable RGB LED's.
As the final system should both be easily reproducible, and be of professional build quality, a universal eco-system has been designed. Below a simulation of the first PCB iteration :
With respect to our artistic specialists, the project's design has been implemented up to the PCB layout. The board is having five modules as well. The electronics have been combined in such a way, that the same board can be used in all individual modules of the "break-in game". On the border of the board, standard industrial screw-terminals have been foreseen for the peripherals and their power supply. To power the system, a standard µ-USB connection will be sufficient as power input for all the equipment (adapter of at least 1.5A). In case longer or more dense LED-strips are used, it might be necessary to foresee a dedicated power-supply (most addressable LED-strips come with extra power-lines for that purpose).
The central square houses the brain of the system. It consists of a stream-line µ-controller with basic circuits to fit the needs of all the different cubes. The oscillator combination X1,C3,C4 provides a stable clock for the countdown timer, and serial communication with the external devices (NeoPixel led's, displays...). L1,C2 are filtering the power line for the analogue inputs (pinball plunger). R2,S1 offer the possibility to reset the system without having to unplug the power. CON2 is a standard 6-pin ICSP header to load the firmware into the µ-controller. Each module has its own firmware, which can be run by the same board. In case you do not have a programmer at hand, all design-files and necessary build-information can be found in the programming shield repository. A serial-to-USB converter can be connected to CON3 for debugging purposes. You can use your favorite serial console software, or use the python script included in the tools folder of this project. As I2C also is to be considered as a very popular protocol, connector CON4 has been foreseen on the board, for future extensions.
The bottom-left module takes care of the power supply. A logical choice, as the pin-ball-particle-accelerator, situated in the same cube, is all about energy as well ! D1, a low-drop Schottky diode protects the system against reversed polarity. R1,LED1 are a first troubleshooting indicator to see if the board is powered correctly. C5 adds stability to the supply of the µ-controller. CON45,CON46 are screw-terminals to provide power to external equipment (+5V and Ground). The total power on these terminals should not exceed 1A (limited by D1).
Fiducial markers FD1,FD2,FD3,FD4 are standard reference points for the pick-and-place robot in case of automated PCB building (SMT placement).
All used components are standard types, and can be easily sourced at any electronics supplier (such as RS, Farnell, Mouser...). The components, their values and package types are listed in the bill of materials.
As described in the code for the µ-controller section, the board has been fit with an ICSP-connector for programming through various programming devices. As an extra, a specific USB programmer shield has been developed within the philosophy of the eco-system. When using a µ-controller with proper bootloader, the system can be programmed serially. The USB programmer shield acts as a USB-to-serial converter.
All information on how to roll-your-own can be found in the dedicated repository.
The shield has been designed to mechanically fit on top of the µ-controller board by using the available connectors in the central square. These connectors contain all required electrical signals : RX, TX, reset, GND and +5V. The serial converter's DTR-line takes care of the reset signal to launch the bootloader. The shield transparently feeds through the signals from the I2C and ICSP connectors on the µ-controller board. They can be used as if the shield was not there (except during the uploading of new firmware of course).
For the countdown timer in the central cube, a 16-digit 7-segment display module, which was lying around, has been used. After the hackathon, it turned out that the module was commercially not available anymore.
As all the required components can still easily be sourced, it was decided to redesign a pcb with the original components for future integration. All design-files and necessary information can be found in the concerning repository.
The modules are using wireless communication to receive the code to look for, and to report back failure or success to the central vault. For that matter, 10-pin Nordic nRF24L01+ communication boards can be inserted in the MOD1 connector, in the bottom-right 'cube' of the µ-controller board. The footprint is also having an extension for the 8-pin type boards. Only one board should be fit at a time. The concerning communication chip uses the serial SPI protocol to connect to µ-controller IC1. It shares MISO/MOSI/SCK with the ICSP connector CON2, but uses dedicated lines for chip selection and enabling (CS/CE). IC2, C7 provides a the stabilized 3V3 power supply for the communication module. Buffer capacitor C8 will protect the µ-controller from resetting (power supply dips) during send bursts. Modules with a booster chip and external antenna should only be used in a setup, where the game modules are physically not too close together (to avoid transmission/reflection problems). With these modules, reliability might also be improved by upgrading capacitor C8 with a higher value (100µF/16V).
The software has been written in the free Arduino IDE (also available as sourcecode). Three specific libraries are required to build this project successfully :
function | library | documentation |
---|---|---|
16-digit display driver (tm1640 chip) | link | link |
8x8 LED matrix display driver (max7219 chip) | link | link |
neopixel LED driver (WS2812b LEDs) | link | link |
This source folder contains snapshots from these libraries at the time of build (tested version). Libraries can be installed using the standard procedure.
As the application has been written as an Arduino sketch, there are various ways to load the code in the controller. As a universal solution, I used the ICSP connector on the µ-controller board in combination with my programming shield. Instructions on how to proceed can be found in this repository. A basic serial-to-USB adapter has been connected to debug the application. You can use your favorite serial console software, or use the python script included in the tools folder of this project.
Below firmware is available in the source folder :
version | name | description |
---|---|---|
v1.0 | central_cube.ino | cleaned-up and commented version, with improved display animation, and sound |
v1.0 | feynman_cube.ino | cleaned-up and commented version, with improved digits, two different animations, and sound |
v1.0 | pinball_cube.ino | cleaned-up and commented version, with improved digits, two different animations, and sound |
The prototype housing has been built with ultra-light sandwich panels. The front and side panels for this modular housing have been designed using Adobe InDesign. different files have been exported to pdf format for easy printing on a plotter-like printer (A1 size required).
The housing for the electronics consists of several layers of lasercut and engraved plexi plates (3 & 6mm). The required files to cut out these plexi sheets are available both in .cdr or CorelDraw format or in pdf format. A legend on which color to use for which action (contour cutting, inside cut-outs, engraving) is available as an instruction in the readme document which is accompanying the files.
More coming soon.............
If you are having any good suggestions, just drop me a line 📧. If feasible, I'll be happy to implement proposed improvements. And if you are having lots of time, I'll be happy to share the work with you ;-).
When you create your own version, don't forget to send us some nice pictures of your construction. We'll be happy to publish them in the 🎊Hall of Fame🎊.
At this moment, there is no specific license attached to this project.
So, today, if you like it, have fun with it (at your own risk of course :-D), and especially, be creative.
Oh, and when using anything from this repository, it is highly appreciated if you mention its origin.
If you would like to use any of this work (or the whole project) for commercial use, first contact us 📧, so we can add the appropriate license, which best fits your business.