Featured post

 Hale Ltd. is a small consultancy offering bespoke hand-crafted electronics, prototypes and curios.


C3 Basic

A microcontroller development board deliberately free of clutter common to many boards that want to "value add".

This is an Espressif ESP32-C3 with the barest minimum of components to ensure reliable performance in a small form factor. Programming and debug uses the native USB Serial/JTAG of the ESP32-C3.

The C3 offers good performance, Bluetooth and Wi-Fi connectivity with modest power requirements and this board has an efficient buck convertor making it ideal for battery powered prototypes and projects.

Most GPIO are broken out (one on solderable pad) and the header is compatible with common micro-USB breakouts, as pictured.

This is not breadboard friendly, the expectation is that it will be soldered directly into prototype devices and all connections are at one end of the board to make this arrangement easy to keep tidy.

Interactive lock system

This is for those looking to run an experience (LARP or Escape Room) where participants interact with electronic locks as part of the game or experience.

This board supports RFID using the common MFRC522 reader, which plugs straight in, with a range of cards including the freely available MIFARE Classic. Card provisioning uses a simple 'group' mechanism and can be done at the lock or through an onboard web portal interface.

There is also a 3x4 keyboard matrix, sounder, LEDs and separate buttons to emulate a 'picking' or 'hacking'.

Highly customisable with open source software you can specify multi-factor access (Card and Pin etc.), remotely trigger events over WiFi with webhooks, MQTT etc. and even pair sets of locks for 'turn both keys at once' setups.

CAD files of enclosure provided for you to customise to your needs

Robot controller v1

An ESP32-S2 based controller to act as a USB peripheral to a system running Robot Operating System or Robot Operating System 2 on Linux, Windows or MacOS that needs to control multiple devices over UART, I2C or SPI.

Multiple 3.3v and 5v bus connections and all the GPIO of the S2 is broken out in a manner compatible with Raspberry Pi Hats/Phats.

Using the ESP32-S2 in principle gives it enough processing power to do some tasks separately from the main ROS system such as sensor aggregation/fusion and remote control over Wi-Fi, again separate to the main ROS system.

Deliberately fitted with a robust USB-B connector, offboard micro-USB to USB-C optional. Configured by default for an external antenna to improve range.


Designed to be paired with the controller above, sticky is an open source robot controller, similar to traditional remote control hardware but designed to interact with microcontrollers and/or Robot Operating System directly instead.

Using easily obtained parts and made with a 3D printed enclosure, sticky is designed to make robotics controllers more accessible as professional radio control gear can be quite expensive.

A common practice is to use wireless gamepad controllers but sticky gives you complete choice of function over your code at the TX and how it interacts with the controlled device. Sticky, can for example connect directly to an MQTT server that bridges into Robot Operating System.

UKLTA-compatible Lasertag board

An upgrade to older Lasertag systems compatible with original Worlds of Wonder and later UKLTA Data-over-Tag signals. Highly configurable with two emitter power levels to support outdoor/daytime and indoor/night-time use. Optional Lux sensor for automatic swap between the two. Optional OLED display for status. Multiple trigger/selection switches. Optional onboard battery holder and onboard charging. Designed for use with a single LiPo cell.

Kinect RGBD breakout

A 'slimming down' of the original Kinect camera and pose detection system.

This breakout board allows you to remove the processor and microphone board of the Kinect, which reduces it to the RGBD camera only. While obviously removing features, if you are using the Kinect for SLAM and obstacle detection in Robot Operating System or similar, you are unlikely to use these features.

This requires rework of the Kinect camera as the internal connector is hard to obtain and soldering it to the custom PCB. Once in place the need for 12v power to the Kinect is gone and it's possible to power directly from USB. It is still a power hungry device so depending on the current your system can supply this the board includes an option to power from a 2.1/5.5mm barrel jack by removing a jumper.

Includes 3D printed case which is more practical to mount in robot projects than the original Kinect case. The slimmed down camera is significantly smaller and lighter.

Requires familiarity with OpenKinect/lib-freenect in ROS to make effective use of. Note most Kinect Demos in Windows expect the presence of the motor, microphone and processor and will claim no camera is connected. This is to be expected, but it is usable with OpenKinect.

ESP32-CAM backpack

The popular ESP32-CAM development board can be hard to work with due to an odd choice of exposed GPIO and badly considered power supply. It is impractical to run from a single LiPo battery due to the choice of an AMS1117 LDO with a typical 1v dropout and any voltage sag at all leads to brownouts and unpredictable behaviour.

This 'backpack' bypasses the fitted LDO, replacing it instead with an efficient buck convertor and thus enabling it to be run from a single LiPo cell. It also breaks out the GPIO with multiple grounds and power connections. A large area on the back of the board is available to use as a terminal if powered by an 18650 cell.

Backslang terminal v1

This is a custom PCB for a terminal which accesses the backslang off-grid messaging system we've had in development over the last couple of years.

First used successfully at an event in May 2023 it offers a multi-user messaging system for interactive experiences that doesn't rely on Internet or cellular connectivity.

Broadly, backslang aspires to offer similar features to the Meshtastic off grid messaging system but with an emphasis on the accessing devices being microcontroller based rather than relying on mobile phones or laptop computers for access. This is to allow control of devices through m2mMesh that are not full backslang participant nodes and don't maintain the message database.

The backslang database relies on a well-synced time signal to maintain consistency. Reliance on GPS for this proved a hinderance in v1 so we are working on v1.1 which will include an offline RTC.