Good progress on the J-Box prototype to report, both in terms of the hardware design and the MCU software, which are described below.

Took some time to test and validate each portion of the circuitry after the prototype was built.  It’s going to take a new PCB design to accommodate all the changes… the first PCB was in the ballpark, but turned out to require too many mods and had some component placement issues – normal PCB design stuff by amateurs, I suppose.

Learned a lot of lessons about surface mount components and how to solder them.  Fortunately, I found this very cool magnifying glass headset that jewelers wear – couldn’t do SMC without it.  It’s been fun learning how to deal with SMC.  Here’s a picture of my little electronic workbench:

Below you can see the PCB1 as-built J-Box prototype (click on each image to zoom):


There are a number of hardware changes required to progress the design, which are covered below.


Key changes to the hardware design include:

  • Added rechargeable CR2032 coin cell battery. This is required because the current drain from the MCU and other circuits can be as much as 4 to 5 milliamps for several seconds during each tuning and switching cycle.  The battery is only used to operate the 3 VDC circuitry (the RF harvest is still used to charge up the capacitor that operates the RF switching relay, which works great)
  • The RF harvested energy charges the relay capacitor and it also feeds the 3 VDC regulator that recharges the CR2032 throughout each transmit cycle.
  • Solar cells can optionally be affixed to the J-Box to keep the battery charged during daylight hours. I’m using a Panasonic solar cell that’s just 31 mm x 24 mm, produces up to 6 volts in full sun and can be used to trickle charge the CR2032 battery.  See the picture below.  These cost around $2 in low quantities at DigiKey.

  • An MCU GPIO pin is now used to power /reset the Prescaler, so it can be properly cycled after each RF measurement / switching cycle (so it begins counting from zero properly)
  • The Prescaler now divides by 10,000 instead of 1,000. The Atmel MCU pegged out and could not accurately measure signals above about 20 Khz in tests, so I decided to divide by 10,000 to reduce the interrupt and processing load on the MCU by an order of magnitude
  • I removed the unused jumper blocks that were tied to the MCU pins. These just add more cost and size to the PCB design, so knocking them out to simplify and reduce the size requirements
  • In next rev. of PCB design, all surface mount components will be soldered to the back size of the board, leaving discrete components on the front side


Below are the latest v0.6 electronic designs. These will be turned into PCB2 design as next turn of the hardware.



The J-Box software is progressing nicely. We now have a working prototype that is operating reliably, recognizes RF measurement cycles and triggers (simulated) relay switching cycles. The MCU can reliably measure up to a 20 Khz signal flowing into the AO_GPIO0 interrupt port. I tested it using a digital signal generator – it is very accurate.

Using the prescaler that divides by 10,000, this means the MCU can operate on RF signals up to 200 Mhz, which is well above our design goal for this J-Box (maximum is 144 Mhz for 2 meters).

The J-Box software also successfully enters Ultra Low Power (ULP) mode, whereby the entire circuit draws less than 10 microamps, then it wakes periodically and processes a brief bluetooth advertising cycle, in case there are any client connections.  There currently isn’t any appreciable BLE integration logic – that will come after basic RF switching is operational and fully integrated with our hardware board (right now, this software is running on the Atmel prototype board, where it has been tested).

You can see the source code listing in the attached file.

Download J-Box0.6Source

That’s it for now.  Next steps are to continue testing and adapting the software, this time on our PCB1 board.  I have confirmed the ability to attached the external Atmel debugger to PCB1 and download the code to it, so now it’s time to start testing the software running on PCB1.

More as it develops!