Topics

Teensy 3.5/3.6 upgrade for uBITX

n5ib_2
 

Here's what our little Skunkworks has been up to.

A wee PC board that accepts a Teensy 3.5 or 3.6 processor, then plugs into the space that would have been occupied by a NANO.
Corresponding I/O lines are routed to maintain compatibility with uBITX.
Since the Teensy has a RTC (real time clock) there's a spot for its backup battery.

In principle, the adapter could be used to plug in a Teensy anywhere a NANO used to live.
On a stock Raduino (have to remove the NANO and socket the space), an enhanced Raduino, our own RadI2Cino, or what else may come along.
Scads more memory, more I/O including lots of analog, an on-card microSD slot, and of course the RTC
The Teensy 3.5 runs on 3-6 volts, with 3.3V logic, but 5 V tolerant digital inputs. The Teensy 3.6 also runs on 3-6 V, but its logic is 3.3V ONLY, and is faster and has more memory than the 3.5

Prototype boards are in hand are about to get to beta test within the next few days. Firmware portability is of course the thing that must be confirmed,
We'll keep y'all posted.

Jim, N5IB
with W0EB and W2CTX

n5ib_2
 

Forgot the photo,,,

Jerry Gaffke
 

Would be interesting to try a high side BFO with your Teensy,
see if it has any issue with battling oscillators:
    https://groups.io/g/BITX20/topic/14533495


On Tue, Mar 13, 2018 at 12:26 pm, n5ib_2 wrote:
A wee PC board that accepts a Teensy 3.5 or 3.6 processor, then plugs into the space that would have been occupied by a NANO.

Phil KI7WFM
 

Do you have any prototype adapter boards available? I would like to purchase one if available. I plan on using the Teensy 3.6 and switching to a 128x64 I2C/SPI Oled display.

Jim Sheldon
 

Phil (and others) - that adapter board I mentioned is a prototype only and was never intended for sale.  Therefore,I am not at liberty to sell even one of the very few on hand within our group and they will not be available for purchase, sorry. 

Jim Sheldon - W0EB

freefuel@...
 

Hi Jim, 

what are your thoughts on doing the same with the Raspberry Pi Zero boards? in some areas such as my own they can be purchased for as little as $5 USD. 

-Justin N2TOH

P.S. I should find the most effective place to ask about an Arduino IDE add on for the Pi boards so they might function as an Arduino alike board. 

Jim Sheldon
 

I don't really have a clue regarding the Pi Zero.  I do know the Pi Zero is faster, with a bit more RAM.  I don't think it would easily replace a NANO, and wouldn't interface easily to the uBITX.  Not saying it can't be done, but someone other than our group will have to be the guinea pigs on that one LOL.

JIM

On Apr 22, 2018, at 7:28 PM, freefuel@... wrote:

Hi Jim, 

what are your thoughts on doing the same with the Raspberry Pi Zero boards? in some areas such as my own they can be purchased for as little as $5 USD. 

-Justin N2TOH

P.S. I should find the most effective place to ask about an Arduino IDE add on for the Pi boards so they might function as an Arduino alike board. 

freefuel@...
 

at times I have wondered at what point has a person reached too many adapter boards, and should really consider a fresh start.  As you already stated about interfacing the Si5351A chip and the Raspberry pi board, they are after all both 3.3 volt IO devices.

-Justin N2TOH 

Jack, W8TEE
 

I'd consider why the Zero sells for $5. I think the biggest issue is that the Pi is a different animal than the Arduino family. First, it does not have a home in the Arduino IDE, where most of the µBITX work is being done. Second, it doesn't have the depth of add-ons that the Arduinos do. Those that do exist seem to be more expensive. Third, most of the work on Pi is either done in scripting languages or Python, neither of which is popular on the Arduino.

If you need more horsepower, consider the Protoneer (eBay 282786290858). It has 256K of flash, 32K of SRAM (HUGE benefit), and is clocked 3x faster than the Nano at a cost of $15. It looks very promising.

Jack, W8TEE


On Sunday, April 22, 2018, 8:45:16 PM EDT, Jim Sheldon <w0eb@...> wrote:


I don't really have a clue regarding the Pi Zero.  I do know the Pi Zero is faster, with a bit more RAM.  I don't think it would easily replace a NANO, and wouldn't interface easily to the uBITX.  Not saying it can't be done, but someone other than our group will have to be the guinea pigs on that one LOL.

JIM

On Apr 22, 2018, at 7:28 PM, freefuel@... wrote:

Hi Jim, 

what are your thoughts on doing the same with the Raspberry Pi Zero boards? in some areas such as my own they can be purchased for as little as $5 USD. 

-Justin N2TOH

P.S. I should find the most effective place to ask about an Arduino IDE add on for the Pi boards so they might function as an Arduino alike board. 

Jerry Gaffke
 


The ATMega328P on the Nano runs at 16 MHz, has 0.002 MBytes of RAM, is an 8 bit machine.

The RPi Zero runs at a 1000 MHz, has 512 MBytes of RAM, is a full a 32 bit machine,
runs linux if you wish.  Not only will it run the C and C++ code we have on the Arduino
(if you port the Arduino libraries), but it has its own compiler for it.
And a compiler compiler to build the compiler with for that matter (yacc). 

>  I'd consider why the Zero sells for $5.

It sells for $5 because it is of the current decade.
Whereas the ATMega382P is roughly in league with the Z80
I was working with back in the 1970's.
 
That said, the Nano is a fine choice for the basic uBitx.
Not all that much it has to do.

The RPi Nano would be good if you wish to implement standalone SDR, 
with a full waterfall display out to an HDMI monitor.
Or could be used as the Arduino IDE host when programming your Nano.
The top end Rasberry Pi 3 B+ does everything I'd want in a home computer for $35.

Jerry, KE7ER


On Sun, Apr 22, 2018 at 06:17 pm, Jack Purdum wrote:
I'd consider why the Zero sells for $5. I think the biggest issue is that the Pi is a different animal than the Arduino family. First, it does not have a home in the Arduino IDE, where most of the µBITX work is being done. Second, it doesn't have the depth of add-ons that the Arduinos do. Those that do exist seem to be more expensive. Third, most of the work on Pi is either done in scripting languages or Python, neither of which is popular on the Arduino.

If you need more horsepower, consider the Protoneer (eBay 282786290858). It has 256K of flash, 32K of SRAM (HUGE benefit), and is clocked 3x faster than the Nano at a cost of $15. It looks very promising.

Jack, W8TEE
 
 

Jack, W8TEE
 

Jerry:

I realize the power the Pi has and I'm familiar with compiler design and grammars, as my old software company built and marketed its own C compiler for DOS back in '80s...without yacc! Al and I have been through a pretty rigorous µC decision process for our Jackal project, looking at Pi, Mega2560, Due, Mega Zero, and the new Protoneer board to replace the Raduino/Nano board. We settled on the Teensy 3.6. One of our goals is to encourage hacking by those who are already familiar with the µBITX, and that suggested sicking with a processor that could run in the Arduino IDE. The Teensy 3.6 has
  • 180 MHz ARM Cortex-M4 with Floating Point Unit
  • 1M Flash, 256K RAM, 4K EEPROM
  • Microcontroller Chip MK66FX1M0VMD18 (PDF link)
  • USB High Speed (480 Mbit/sec) Port
  • 2 CAN Bus Ports
  • 32 General Purpose DMA Channels
  • 22 PWM Outputs
  • 4 I2C Ports
  • 11 Touch Sensing Inputs
and costs a little less than the Pi. The FPU is important in many SDR's that use FFT algorithms, and the Teensy has a very good FFT library. It also has a terrific audio library that we are using in our filter elements. However, to me, the critical elements were that the 256K of SRAM removes the real bottleneck of the Arduino family and there are a host of relevant libraries for the processor. Atmel needs to get its act together and boost its processor resource base if it wants to stay competitive. (I taught an assembler course on a Z80 back in the '80s and, you're right, the 328 reminds me of it although the memory architecture's a little different.)

Anyway, we experimented with Pi and other processors for over a month before we committed Jackal to the Teensy. We made the right choice for us. Al and I will be showing Jackal at the FDIM conference...I think it's pretty cool and brings a lot to the table. That's not to say that someone shouldn't give Pi a try as a Raduino replacement. It's just not for us.

Jack, W8TEE


On Monday, April 23, 2018, 12:24:48 AM EDT, Jerry Gaffke via Groups.Io <jgaffke@...> wrote:



The ATMega328P on the Nano runs at 16 MHz, has 0.002 MBytes of RAM, is an 8 bit machine.

The RPi Zero runs at a 1000 MHz, has 512 MBytes of RAM, is a full a 32 bit machine,
runs linux if you wish.  Not only will it run the C and C++ code we have on the Arduino
(if you port the Arduino libraries), but it has its own compiler for it.
And a compiler compiler to build the compiler with for that matter (yacc). 

>  I'd consider why the Zero sells for $5.

It sells for $5 because it is of the current decade.
Whereas the ATMega382P is roughly in league with the Z80
I was working with back in the 1970's.
 
That said, the Nano is a fine choice for the basic uBitx.
Not all that much it has to do.

The RPi Nano would be good if you wish to implement standalone SDR, 
with a full waterfall display out to an HDMI monitor.
Or could be used as the Arduino IDE host when programming your Nano.
The top end Rasberry Pi 3 B+ does everything I'd want in a home computer for $35.

Jerry, KE7ER


On Sun, Apr 22, 2018 at 06:17 pm, Jack Purdum wrote:
I'd consider why the Zero sells for $5. I think the biggest issue is that the Pi is a different animal than the Arduino family. First, it does not have a home in the Arduino IDE, where most of the µBITX work is being done. Second, it doesn't have the depth of add-ons that the Arduinos do. Those that do exist seem to be more expensive. Third, most of the work on Pi is either done in scripting languages or Python, neither of which is popular on the Arduino.

If you need more horsepower, consider the Protoneer (eBay 282786290858). It has 256K of flash, 32K of SRAM (HUGE benefit), and is clocked 3x faster than the Nano at a cost of $15. It looks very promising.

Jack, W8TEE
 
 

Jerry Gaffke
 

I've got a Teensy 3.2, it looks very promising.
The 3.6 has floating point, which would make porting SDR libraries much easier.

The RPi's run linux with X-Windows, many popular SDR programs have already been ported.
Though RPi Zero at $5 might not have the horsepower to run X-Windows and all fast enough
without changes to the SDR program, so this sort of thing might better be done on one of the
bigger RPi's.   All the RPi's suck more power than the Teensy's, need to bring your own ADC's. 

Yup, the ATMega328P has a Harvard architecture, as Jack well knows.
Program memory (flash) and data memory (RAM) are in separate address spaces,
programs we write cannot easily read data out of flash.
For this reason, things like string literals are copied from flash to RAM at boot.
So something like lcd.print("Hello World") will use up RAM unless you resort to
the tricks shown here:   http://playground.arduino.cc/Main/PROGMEM
Not needed when programming most machines in C.

Jerry



On Mon, Apr 23, 2018 at 06:02 am, Jack Purdum wrote:
I realize the power the Pi has and I'm familiar with compiler design and grammars, as my old software company built and marketed its own C compiler for DOS back in '80s...without yacc! Al and I have been through a pretty rigorous µC decision process for our Jackal project, looking at Pi, Mega2560, Due, Mega Zero, and the new Protoneer board to replace the Raduino/Nano board. We settled on the Teensy 3.6. One of our goals is to encourage hacking by those who are already familiar with the µBITX, and that suggested sicking with a processor that could run in the Arduino IDE. The Teensy 3.6 has
  • 180 MHz ARM Cortex-M4 with Floating Point Unit
  • 1M Flash, 256K RAM, 4K EEPROM
  • Microcontroller Chip MK66FX1M0VMD18 (PDF link)
  • USB High Speed (480 Mbit/sec) Port
  • 2 CAN Bus Ports
  • 32 General Purpose DMA Channels
  • 22 PWM Outputs
  • 4 I2C Ports
  • 11 Touch Sensing Inputs
and costs a little less than the Pi. The FPU is important in many SDR's that use FFT algorithms, and the Teensy has a very good FFT library. It also has a terrific audio library that we are using in our filter elements. However, to me, the critical elements were that the 256K of SRAM removes the real bottleneck of the Arduino family and there are a host of relevant libraries for the processor. Atmel needs to get its act together and boost its processor resource base if it wants to stay competitive. (I taught an assembler course on a Z80 back in the '80s and, you're right, the 328 reminds me of it although the memory architecture's a little different.)

Anyway, we experimented with Pi and other processors for over a month before we committed Jackal to the Teensy. We made the right choice for us. Al and I will be showing Jackal at the FDIM conference...I think it's pretty cool and brings a lot to the table. That's not to say that someone shouldn't give Pi a try as a Raduino replacement. It's just not for us.

Jack, W8TEE
 
 

Doug W
 

While this has no bearing in the RPI vs Teensy discussion as it applies to both and is a further diversion from the original subject, one thing I am guilty of when throwing around the virtues of a $5 Pi is forgetting to mention to people that are not familiar with it is that it also requires a SD card that typically costs more than the Pi Zero itself.  I bring this up for any one following along that is on a tight budget.  To borrow from Jack's example of someone on a lawn mower budget, you might need to mow one more lawn than you were planning this summer.

Jack, W8TEE
 

Doug:

Good point, as I think the op sys and many other files are stored on the SD card.

Jack, W8TEE


On Monday, April 23, 2018, 10:52:05 AM EDT, Doug W <dougwilner@...> wrote:


While this has no bearing in the RPI vs Teensy discussion as it applies to both and is a further diversion from the original subject, one thing I am guilty of when throwing around the virtues of a $5 Pi is forgetting to mention to people that are not familiar with it is that it also requires a SD card that typically costs more than the Pi Zero itself.  I bring this up for any one following along that is on a tight budget.  To borrow from Jack's example of someone on a lawn mower budget, you might need to mow one more lawn than you were planning this summer.

Kevin Luxford
 

Jack,

I am looking forward to the unveiling.
73, Kevin VK3DAP / ZL2DAP

Jerry Gaffke
 

I doubt there's any non-volatile memory on the RPi other than the SD card,
as that involves more process steps when building a CPU chip.

Here's an 8 Gbyte SD card for $4.99:  https://www.walmart.com/ip/Kingston-8GB-Class-4-microSDHC-Memory-Card/39137510
So for $10 you could get an RPi Zero plus that SD card with about 250,000 times as much flash as we have on the Nano.

Additional reasons the RPi's are so cheap for what they offer:
  Created and built by a non-profit for educational purposes
  The same parts are also used in a few hundred million cheap feature phones

Jerry



On Mon, Apr 23, 2018 at 08:11 am, Jack Purdum wrote:
Good point, as I think the op sys and many other files are stored on the SD card.
 

Gary Anderson
 

The uBITX was designed to use the pre-existing Raduino board. My opinion on a fresh start would be to put the Si5351A directly on the uBITX board, so only the I2C digital pins would need to be routed. This would leave a cleaner option to connect various micro-controller boards, depending on the features desired and budget. Separate the RF analog board from the digital / audio processing board.  But we are not limited to what we can do, so no real issue here.

IMO, the Teensy 3.6 is a wise choice for adding DSP and SDR features with the option to stay in the familiar Arduino IDE. It appears that PJRC's business model is willing to cover their code development cost with the sale of the boot loader code pre-flashed in the MKL02/MKL04 chip ($7 US) and very generous IMO. This means there's an option to also place the K66 directly on your own board design and just buy the boot loader IC from PJRC. PJRC is a business, we are mostly just here as a hobby. If we weren't hobbyists or working to enable hobbyists, we would probably not be using Arduino IDE :)

I am an advocate of the Teensy/K66 direction, but last week I ordered a Protoneer Nano-Arm. https://wiki.protoneer.co.nz/NANO-ARM  $10 + $5 shipping to US from NZ.  This board has the same footprint as the Nano, and _should_ be a fairly easy Nano hardware replacement directly on the Radunio board. (might need to change out the 5V reg to 3.3V, etc) This may be an interesting option for those who would like a micro-controller modernization / upgrade without the budget or desire to move up to all the options Teensy /K66 enables.  One one hand, I want all the features.  One the other hand, I wish to stay true to Farhan's original goal of a $100 radio shipped, or take it to the next level of minimizing total system cost. 
 
Regards,
Gary
AG5TX

Robert Weiman
 

The one big difference in this application between the Raspberry Pi and a micro-controller like the Teensy and the Arduinos is how much overhead the OS imposes.  Linux is a full blown consumer OS and is not a real-time OS.  It can impose non-deterministic delays on how long it takes to respond to an interrupt / toggle an I/O pin / etc.  On most of the hobby micro-controllers, there is significantly less overhead imposed by minimal, almost not really an OS, provided by the Arduino build environment.  Personally, I will add a PI to my uBitx build, but it won't be replacing the micro-controller in the Raduino - more augmenting the system by providing higher level software and interfaces (Digital modes, etc).  


On Mon, Apr 23, 2018 at 12:50 PM Gary Anderson <gary.ag5tx@...> wrote:
The uBITX was designed to use the pre-existing Raduino board. My opinion on a fresh start would be to put the Si5351A directly on the uBITX board, so only the I2C digital pins would need to be routed. This would leave a cleaner option to connect various micro-controller boards, depending on the features desired and budget. Separate the RF analog board from the digital / audio processing board.  But we are not limited to what we can do, so no real issue here.

IMO, the Teensy 3.6 is a wise choice for adding DSP and SDR features with the option to stay in the familiar Arduino IDE. It appears that PJRC's business model is willing to cover their code development cost with the sale of the boot loader code pre-flashed in the MKL02/MKL04 chip ($7 US) and very generous IMO. This means there's an option to also place the K66 directly on your own board design and just buy the boot loader IC from PJRC. PJRC is a business, we are mostly just here as a hobby. If we weren't hobbyists or working to enable hobbyists, we would probably not be using Arduino IDE :)

I am an advocate of the Teensy/K66 direction, but last week I ordered a Protoneer Nano-Arm. https://wiki.protoneer.co.nz/NANO-ARM  $10 + $5 shipping to US from NZ.  This board has the same footprint as the Nano, and _should_ be a fairly easy Nano hardware replacement directly on the Radunio board. (might need to change out the 5V reg to 3.3V, etc) This may be an interesting option for those who would like a micro-controller modernization / upgrade without the budget or desire to move up to all the options Teensy /K66 enables.  One one hand, I want all the features.  One the other hand, I wish to stay true to Farhan's original goal of a $100 radio shipped, or take it to the next level of minimizing total system cost. 
 
Regards,
Gary
AG5TX

William Cullison
 

A socket for the nano would help a lot.

On Mon, Apr 23, 2018 at 12:50 PM, Gary Anderson <gary.ag5tx@...> wrote:
The uBITX was designed to use the pre-existing Raduino board. My opinion on a fresh start would be to put the Si5351A directly on the uBITX board, so only the I2C digital pins would need to be routed. This would leave a cleaner option to connect various micro-controller boards, depending on the features desired and budget. Separate the RF analog board from the digital / audio processing board.  But we are not limited to what we can do, so no real issue here.

IMO, the Teensy 3.6 is a wise choice for adding DSP and SDR features with the option to stay in the familiar Arduino IDE. It appears that PJRC's business model is willing to cover their code development cost with the sale of the boot loader code pre-flashed in the MKL02/MKL04 chip ($7 US) and very generous IMO. This means there's an option to also place the K66 directly on your own board design and just buy the boot loader IC from PJRC. PJRC is a business, we are mostly just here as a hobby. If we weren't hobbyists or working to enable hobbyists, we would probably not be using Arduino IDE :)

I am an advocate of the Teensy/K66 direction, but last week I ordered a Protoneer Nano-Arm. https://wiki.protoneer.co.nz/NANO-ARM  $10 + $5 shipping to US from NZ.  This board has the same footprint as the Nano, and _should_ be a fairly easy Nano hardware replacement directly on the Radunio board. (might need to change out the 5V reg to 3.3V, etc) This may be an interesting option for those who would like a micro-controller modernization / upgrade without the budget or desire to move up to all the options Teensy /K66 enables.  One one hand, I want all the features.  One the other hand, I wish to stay true to Farhan's original goal of a $100 radio shipped, or take it to the next level of minimizing total system cost. 
 
Regards,
Gary
AG5TX


Jerry Gaffke
 

I'd bet worst case latency on a not seriously loaded RPi is less than the
milliseconds it takes us to load a new clock frequency into the si5351 via 100khz i2c.

A google for "Rasberry Pi RT" shows there are real time variants of the kernel.
I've got no idea how real time. 

There are some going without linux, programming the bare metal.

But I like the idea of still using a simple microntroller for basic rig control.
Being something of a pessimist, I'd prefer not to depend on something
as complex as the RPi, too many billions of things that could go wrong.

Jerry


On Mon, Apr 23, 2018 at 11:01 am, Robert Weiman wrote:
The one big difference in this application between the Raspberry Pi and a micro-controller like the Teensy and the Arduinos is how much overhead the OS imposes.  Linux is a full blown consumer OS and is not a real-time OS.  It can impose non-deterministic delays on how long it takes to respond to an interrupt / toggle an I/O pin / etc.  On most of the hobby micro-controllers, there is significantly less overhead imposed by minimal, almost not really an OS, provided by the Arduino build environment.  Personally, I will add a PI to my uBitx build, but it won't be replacing the micro-controller in the Raduino - more augmenting the system by providing higher level software and interfaces (Digital modes, etc).