Splitting Light: Season 1 - Episode 27


Splitting light

Season 1 Episode 27

From components to a display screen

If you are no longer interested in the newsletter, please unsubscribe

We had used very simple LEDs to display the status of the nodes and management system for the first two compute generations. You could not do any actions except power down or reset the system with buttons. We eventually got feedback from the team who managed big quantities of these devices. It worked great but, sometimes, it was hard to handle in the datacenter. Specifically diagnosing issues without having network access. Datacenter smart hands could not do anything without being synchronized with an operator and it was causing snagles in the production environment.

We had a solution to this problem, it was adding a front mounted display screen. Greg wiped up a PCB and a bill of materials and pushed the order button. I was surprised a few days later when I was handed the raw PCB and a bag full of components. My next task was to make it work. Because I was interested in crafting hardware, it was the practical application of the courses I had taken the previous year at School 42.

I was just told to make it work. I spent a few days burning parts of my fingers working with the soldering iron and the heat gun. Some of the components were so small that I had to use tweezers to place them and hold them while I soldered them. The most difficult part? The micro controllers. So many pins which were all so very small. It was difficult to solder it correctly without doing solder bubbles. They would cause short circuits and most likely burn a few components if I left just a single one.

Once the board was soldered correctly, it became testing the tracks and flashing the chip for the first time. There were two goals with this board. The first one was a visual display that you could manipulate with three push buttons. The second one was a USB port to do serial passthrough which would enable debugging with no network connectivity.

Unfortunately for me, I had skipped 2D and 3D programming courses during my first year of university. I had skipped them to do the robotics classes. Fun fact, keep it secret, they probably do not remember, but the robotics class teachers' assistants at the time were no other than Gregoire, Jerome and Pierro. They failed us in the class because we had used a “dumb” code to have the mini robot escape a maze instead of having a “smart” algorithm. Did it even escape the maze? The second difficulty was handling the USB stack. It was a large piece of software to write with practically zero added value for us to do ourselves.

Fortunately, for us, the chip manufacturer had blocks of software we could use. The hard part was integrating them within our code base and making sure the two codebases played nicely with each other. The difficulty was making sure the interrupts and DMAs would not be used by both codebases. We had to hand check.

I designed the interface and its navigation according to the specs of the hardware it was going to be connected to. I had enough information from the third generation compute to know what to display and how to display it. The third generation main board had not yet been “compiled”. Because of that we could not test the screen with real data. I put placeholders everywhere to remember what to change when we would later on connect it. As for the USB part, after generating the base code with the editor, it was making sure it was 100% compatible with regular serial tools and cables. Testing different speeds and pushing bytes in and out.

When the third generation compute main board was produced, tested, programmed and qualified, we removed the placeholders and added the real code for integration and checked that the data was accurate.

At that time, I was working on many things at the same time as well as doing the support for the already launched product and hardware. It was starting to get though to handle correctly.

If you have missed it, you can read the previous episode here

To pair with :

  • Moon Shot - The Underachievers
  • Family feud by Charles Stross

Vincent Auclair

Connect with me on your favorite network!

Oud metha, Dubai, Dubai 00000
Unsubscribe · Preferences

Symbol Sled

Business, tech, and life by a nerd. New every Tuesday: Splitting Light: The Prism of Growth and Discovery.

Read more from Symbol Sled

Splitting light Season 2 Episode 23 Beat the cluster to a pulp If you are no longer interested in the newsletter, please unsubscribe With proper observability we could now push the cluster even further. This was the final set of tests that we would perform before wiping everything and going to beta after a new setup. We huddled and concocted a strategy. Picked up our tools and went on the field to beat the cluster to a pulp one last time. Our goal was explicitly to overwhelm the cluster as...

Splitting light Season 2 Episode 22 Too many logs If you are no longer interested in the newsletter, please unsubscribe I’ve rarely seen people talk about this effect. The effect being the amplification of requests. This effect can overwhelm your system. We had to deal with it. The object storage, at least OpenIO, was a collection of distributed services. You might call them micro services if you want. That had implications. When a request comes in, from the user perspective, it’s a single...

Splitting light Season 2 Episode 21 All nighter If you are no longer interested in the newsletter, please unsubscribe As we were moving forward, in mid June 2018, we hit a point where we needed to be able to check the logs of the cluster as a whole. The way we had done it until then was manually connecting to the machines and opening the right files to look inside. This was no longer viable. One of the main office rooms (1) Scaleway’s monitoring team had done a metric stack which we already...