If you’ve ever owned a shortwave radio, you’ve probably listened at least a little to the BBC World Service. After all, they are a major broadcasting force, and with the British Empire or the Commonwealth spanning the globe, they probably had a transmitter close to your backyard. Recently, the BBC had a documentary about their early years of shortwave broadcasting. It is amazing both because it started so simply and when you think how far communications have progressed in just a scant 100 years.
Today, the BBC World Service broadcasts in over 40 languages distributing content via radio, TV, satellite, and the Internet. Hard to imagine it started with four people who were authorized to spend 10 pounds a week.
Input Labs’ mission is to produce open-source Creative Commons hardware and software for creating gaming controllers that can be adapted to anyone. Alpakka is their current take on a generic controller, looking similar to a modern Xbox or PlayStation controller but with quite a few differences. The 3D printed casing has a low-poly count, angular feel to it, but if you don’t like that you can tweak that in blender to just how you want it. Alpakka emulates a standard USB-attached keyboard, mouse, and Xinput gamepad in parallel so should just work out of the box for both Linux and Windows PC platforms. The firmware includes some built-in game profiles, which can be selected on the controller.
The dual D-pads, augmented with an analog stick, is not an unusual arrangement, but what is a bit special is the inventive dual-gyro sensor arrangement –which when used in conjunction with a touch-sensitive pad — emulates a mouse input. Rest your thumb on the right-hand directional pad and the mouse moves, or else it stays fixed, kind of like lifting a mouse off the pad to re-center it.
The wired-only controller is based around a Raspberry Pi Pico, which has plenty of resources for this type of application giving a fast 250 Hz update rate. But to handle no fewer than nineteen button inputs, as well as a scroll wheel, directional switch, and that analog stick, the Pico doesn’t have enough I/O, needing a pair of NXP PCAL6416A I2C IO expanders to deal with it.
The PCB design is done with KiCAD, using a simple 3D printed stand to hold the PCB flat and the through-hole components in place while soldering. Other than a few QFN packages which might be a problem for some people, there is nothing tricky about hand-soldering this design.
For some problems the Goldilocks approach is the way to go. [Tommy] designed a small array of different LED cover options, and tested each to see what yielded the best results for his printed kit. Some of the biggest takeaways include:
100% infill is best for even results (although interesting shadows happen at less than 100% infill.)
Interesting things happen with 7 to 11 mm of top layers of clear PLA, when illuminated from below with a 5 mm high-brightness LED. An even diffusion of light starts to give way to a circular gradient as the upper layer gets thicker.
LEDs emit their light mainly upward in a round pattern. Corners will always be darker, even more so if the guide is not round. This effect becomes noticeably more pronounced as the light guide grows in size, putting a practical upper limit on its effective dimensions.
Of course, the usual ways to deal with an overly-bright LED are to limit its current or control its brightness by driving it with a PWM signal. The right approach depends on the application and the scale of the design, and there are actually quite a few ways to crack this nut. Luckily, our own [Inderpreet Singh] is here to tell you all about how best to control LED brightness.