30 Jun

Last week (06/20/2022 - 06/27/2022) I went through the RoCo code and library to familiarize with existing structure configurations. I wanted to experience the claimed ease and speed of building robots/robot structures RoCo for myself. Setting up RoCo was took much longer than anticipated as certai...

14 Jun

Boards sent out a while ago have finally come back, and they are working! Above is the charlieplexed LED matrix board with a basic firmware load that draws a smiley face on the LED matrix. It also allows the user to select a different image (just a frowning face for now, but it needs a duck) t...

08 Jun

One again, using custom test equipment (the DC supplies at the top and bottom) ... to bring up custom test equipment (the BLE multimeter at the center)! This time around, there's no blue wires, and things generally went according to plan. The one place where things didn't go according to plan (an...

01 Jun

Can you spot the difference from last week's board design (I mean, aside from the duck 🦆 moving)? Right above the LEDs, instead of 4 resistors, there's now 2 4-pack resistors (RN1 and RN2). Up to this point, the board design HDL followed a pretty strict hierarchy block design structure. Hierar...

24 May

Another good example that demonstrates the power of generators with array-typed ports is a LED matrix generator. But this isn't just generate-30-LEDs-and-plug-into-30-IOs, this uses Charlieplexing to reduce the IO pin requirements significantly. In short, each IO pin can drive both a row of LEDs...

09 May

Fix one bug... Two more pop up... In getting the electronics HDL IDE set up on a new machine, it threw a bunch of errors because sbt was compiling to a newer Java bytecode version than supported by the IntelliJ Java runtime. The fixes tried previously didn't work (perhaps as a result of technolo...

25 Apr

Over the past 3 months, there's been a lot of work on electronics design HDL, both improving the core semantics (like through array ports) and refactoring the parts library (like separating out the power path for switching converters or creating a base microcontroller class) - you can even see a...

19 Apr

Last week's work was adding array-to-array connects, but array-valued expressions (eg, [1, 2, 3]) are helpful in parameterizing variable-sized devices, like a n-ported resistive divider. So that's what this week was, but as with everything else, easier said than done. The main issue is trying to...

12 Apr

Continuing off the implementation of port arrays for microcontroller IOs in the last post is support for array-to-array connections. While prior we could only connect ports to arrays, now, we can do something like this: The updated RGB LED definition defines its IOs as an array of 3 digital in...

04 Apr

After we implement the new NICLA VISION camera, the performance of this hardware is pretty robust. Even with our untuned worst PID controller, it can still hover in front of the green ball for 3:30 min.