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 1 Episode 28 Juggling code If you are no longer interested in the newsletter, please unsubscribe Scaleway's first custom router Three years into my tenure in the lab, we had launched many products. From the revolutionary C1 where we had 900 nodes per rack to the cold storage product. We had two compute devices production, one network device and one storage device. That did not count one project that had been terminated and the SCADA devices which I did not work on....

Splitting light Season 1 Episode 26v Racks and racks of devices If you are no longer interested in the newsletter, please unsubscribe An interesting thing that I became actually aware of at the time was the law of large numbers. I knew it existed, but witnessing the effects was new. As we produced thousands of devices, we would sometimes have issues that were triggered by defects or tolerance margins. I called them ghost bugs. We tried as much as we could to catch as many bugs as we could...

Splitting light Season 1 Episode 25 The teapots and the biscuits If you are no longer interested in the newsletter, please unsubscribe If you had entered the hardware lab during those years, you would have seen six people crammed in a room too small for their desks and the electronic test benches. There was open hardware with wires dangling in every direction. You could glimpse disks, network connectors, fibers, PCBs with components, metal chassis fitted with electronic and SCADA equipment...