Continuing the discussion from Port protection for Rev7:
Hi Ian, what changes are you expecting to make in the BP7 (vs. BP6)?
Continuing the discussion from Port protection for Rev7:
Hi Ian, what changes are you expecting to make in the BP7 (vs. BP6)?
So first of all, this isn’t anywhere close to release. It’s just a group discussion that creates prototypes as a byproduct. The first routed board was completed in October or November but there were no RP2350B to buy, and I wasn’t going to buy a full reel of broken silicon under the prerelease program for prototyping if there was a chance they might have a stepping.
There’s a couple threads discussing what people are interested in. I couldn’t find the main one earlier, so posted where you saw it.
We have a current completed PCB prototype with:
Note on this one: all those I2C chips are properly brand name and not cheap! This is a fantasy BOM because the new additions almost double the current BOM cost. It is not cost optimized, but more a luxury board with excessive perks
There is a revision under way with some ruggedizing:
This is where our discussion left off, around the holiday when everyone got busy/was away from keyboard.
At this point I’m very happy because we got a small quantity of rp2350B and can finally spin some REV0 boards. Then we can test it, see what the firmware build out will take, etc. As you can see, this is not a priority project, more a hacker space hobby horse with no actual timeline.
I may attempt to round up the rev7/BP7 threads tomorrow, but I really want to get the IR stuff done as it’s taken 4* as long as I anticipated.
am i the only one who likes saving stuff to sdcards ;-/ please dont retire my attic revision 8 firmwarez
It’s still supported! Glad you like it.
As usual, once these are ready for release, I’ll purchase immediately.
May I recommend one additional item?
And also… integrate this into the current BP6 manufacturing process, because it has benefits for the user and for issue triage.
I’ll create another linked post with initial thoughts for BP6 OTP programming.
I just ordered a bunch of RP2350 PICOs to test this with (since OTP programming is … mostly one-time), so while it’ll be a week or so before I can test, I think it’s going to be fairly straightforward.
Hello,
can i see firmware for 7-REV1 on github ?
Hi alex,
There’s no v7 hardware prototype yet so we haven’t started firmware support yet. Maybe in 4 to 5 weeks there will be some basic support in the main firmware repo. All hardware uses the same code base.
Nice!
Please keep in mind that we have not done any testing, and the current REV1 PCB in the repo is an incomplete work in progress. REV0 is complete but with known bugs. The firmware and hardware will change as we advance through the prototypes.
OK, now i only check PSRAM and now test MT29F1. Not sure that design base board quickly, so I’ll have time to change it.
Let me know how it goes with the psram. If you have any code integration feel free to make a pull request
To start the new firmware for 7:
I tested PSRAM with arduino, not with BusPirate.
Thanks for the tutorial, I will try and integrate PSRAM into BP later.
I will send you the code later.
Thanks !
feature request: camo led theme
PSRAM works fine. Add simple test at start
static void main_system_initialization(void) {
...
softlock_all_otp();
#ifdef RP2350_PSRAM_CS
#define LED_PIN 25
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
gpio_put(LED_PIN, 0);
#define BLOCK_SIZE (size_t)(128 * 1024u)
uint32_t *mem1 = __psram_malloc(BLOCK_SIZE);
if (mem1 == NULL)
while(1)
gpio_put(LED_PIN, 1);
for (int i = 0; i < 1024; i++)
mem1[i] = 0xCAFEFEED;
for (int i = 0; i < 1024; i++)
if (mem1[i] != 0xCAFEFEED )
while(1)
gpio_put(LED_PIN, 1);
uint32_t *mem2 = __psram_malloc(BLOCK_SIZE * 2);
if (mem2 == NULL)
while(1)
gpio_put(LED_PIN, 1);
for(int i = 0; i < 2048; i++)
mem2[i] = 0xDEADBEEF;
for(int i = 0; i < 1024; i++)
if (mem2[i] != 0xDEADBEEF)
while(1)
gpio_put(LED_PIN, 1);
__psram_free(mem1);
__psram_free(mem2);
while (1)
{
sleep_ms(250);
gpio_put(LED_PIN, 0);
sleep_ms(250);
gpio_put(LED_PIN, 1);
}
#endif
HiZ> i
This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) this device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation.
Bus Pirate 7
https://BusPirate.com/
Firmware main branch @ unknown (Feb 18 2025 00:49:49)
RP2350B with 512KB RAM, 128Mbit FLASH, 8192 PSRAM
S/N: 5534046F9A92AC7D
Storage: Not Detected
Configuration file: Not Detected
Active binmode: SUMP logic analyzer
Available modes: HiZ 1-WIRE UART HDUART I2C SPI 2WIRE 3WIRE DIO LED INFRARED JTAG
Active mode: HiZ
Display format: Auto
HiZ>
Nice! And you added a lib that does malloc in psram?! Wow!
What have you used it for?
Have you done anything with the PSRAM? I’m just curious how you plan to use the PSRAM.
My idea is very long logic analyzer buffer, but I’m sure there are other ideas out there.
The logic analyzer buffer is probably the most useful feature for it.
What could also make sense is to use it for the scope mode and use it to store single-shot waveforms that you then can zoom around in or transfer to the pc. The scope mode could generally get more usable when we upgrade the ADC in Rev7.1 or 7.2.
Still no GSPS of course, but even 1 MSPS with a bit of sample memory behind it would be usable for a lot of applications. Like take a look at the signal form with the scope mode first and when you know how it looks like switch over to logic analyzer.
Another feature for the PSRAM could be a sample buffer for PWM or PDM modulation.