Related GitHub projects:
- SMBee Firmware - The firmware source, build instructions and binaries.
- SMBeeHive Programmer - A low cost custom-jig and programmer for the SMBee.
It's fairly easy and inexpensive to have SMBee PCBs manufactured in low or high quantities. This is the information you need:
The Gerber files defines the various layers that constitute a PCB design. The Gerber format is an open-standard 2D vector image format.
Generated gerber files for SMBee version:
SMBee | Generated with KiCad | Download | Changes |
---|---|---|---|
1.1.1 | 5.0.2-5-10.14 | SMBee1.1.1.zip | |
1.1.2 (latest) | 6.0.7 | SMBee1.1.2.zip | Add (solder) paste layers |
Typically just send the zip to the manufacturer. The file formats and identifying file extensions will be accepted by most manufacturers including:
See the SMBee PCB costs spreadsheet for more information on manufacturers.
Some manufacturers have additional options that need to be specified:
Parameter | value |
---|---|
Layers | 2 |
Thickness | 1.6mm |
Finish | Gold |
Copper weight | 1oz |
PCB colour | Black |
Dimensions | 57 x 43mm |
Castellated holes | No |
This is the SMBee BOM Spreadsheet for the parts. It includes suggested and alternate parts suppliers and their prices dependant on order quantity.
See the Project documentation.
Key features & operation:
- U1 is a high performance, low power 8 bit microcontroller with 1k byte flash and 32 byte RAM. Refer to the ATtiny10 data sheet for detailed information.
- Port B connections PB0, PB1 and PB2 have tri-state outputs: high, low, or high impedance. See table 1 for the LED states.
- PB0 and PB1 are each configured in the firmware as a pulse-width-modulator output to enable control of the LED brightness.
- Simultaneous illumination of LED combinations that require conflicting values of PB2, can be achieved by multiplexing the states. See table 1. This isn't supported by the current firmware.
- The two eye LED's are connected in parallel and can't be individually controlled.
- BT1 can only supply about 26mA short circuit. Its internal impedance limits the LED current, typically to a maximum of 6mA. This eliminates the need for a resistor to limit the current.
- The specified LED's have been carefully selected for their relatively low volt-drop at the operating current, their high efficiency and thin construction. Substituting other types is unlikely to give good results.
- The forward volt-drop of the LED's and U1 drive transistors ensure U1 has enough voltage to function even when the battery is running very low.
- The circuit can be configured to draw < 200nA in sleep mode.
- To allow PB3 to be used as an input, SMBee is intended to be programmed using the high voltage programming method. Applying 12V to PRG will enable external programming using the TPI protocol.
- The default PB3 reset function can be disabled with the RSTDISBL (reset disable) fuse, and configured as an input with an internal pull-up. The firmware can configure the input and pull-up to remain active when the MCU is in sleep mode and generate a wake-up interrupt when the button is pressed.
- SW1 must be de-bounced in firmware (10ms settle time).
- During flash programming the two-LED volt-drop is sufficient to isolate the external signals CLK & DAT from each other.
The LED's are activated according to the following table:
Description | Active LED ID |
PB2 | PB1 PWM-B |
PB0 PWM-A |
---|---|---|---|---|
Antenna R | Dar1 | 0 | 1 | X |
Antenna L | Dal1 | 0 | X | 1 |
Eyes | Del1 & Der1 | 1 | 0 | X |
Sting | Dst1 | 1 | X | 0 |
Table 1, Key: 0: output-low, 1: output-high, X: don't care, PB: Port B, PWM: Pulse Width Modulator.
The PCB was designed using KiCad EDA software. If you would like to view or edit the design files, download it from KiCad download and install the software.
Clone this repository into your local file space and open SMBee.pro.
This work is Copyright © 2019 Mike Longworth
This work is licensed under a Creative Commons Attribution 4.0 International License.